sig
  type t = {
    src : Eth.Addr.t;
    dst : Eth.Addr.t;
    proto : Arp.HwProto.t;
    payload : Tools.Payload.t;
  }
  val make :
    Arp.HwProto.t ->
    Eth.Addr.t -> Eth.Addr.t -> Tools.Payload.outer_t -> Eth.Pdu.t
  val random : unit -> Eth.Pdu.t
  val pack : Eth.Pdu.t -> Bitstring.bitstring
  val unpack : string * int * int -> Eth.Pdu.t option
end