sig
  type t = {
    src_port : Udp.Port.t;
    dst_port : Udp.Port.t;
    payload : Tools.Payload.t;
  }
  val make :
    ?src_port:Udp.Port.t ->
    ?dst_port:Udp.Port.t -> Tools.Payload.outer_t -> Udp.Pdu.t
  val random : unit -> Udp.Pdu.t
  val pack : Udp.Pdu.t -> Bitstring.bitstring
  val unpack : string * int * int -> Udp.Pdu.t option
end