sig
  type pkt_type = UnicastIn | BroadcastIn | MulticastIn | OutToOut | SentByUs
  val pkt_type_of_int : int -> Sll.Pdu.pkt_type
  val int_of_pkt_type : Sll.Pdu.pkt_type -> int
  type t = {
    pkt_type : Sll.Pdu.pkt_type;
    ll_addr_type : int;
    ll_addr : Bitstring.bitstring;
    proto : Arp.HwProto.t;
    payload : Tools.Payload.t;
  }
  val make :
    ?ll_addr_type:int ->
    Sll.Pdu.pkt_type ->
    Arp.HwProto.t ->
    Bitstring.bitstring -> Tools.Payload.outer_t -> Sll.Pdu.t
  val random : unit -> Sll.Pdu.t
  val pack : Sll.Pdu.t -> Bitstring.bitstring
  val unpack : string * int * int -> Sll.Pdu.t option
end