val icmp_type : Icmpv4_packet.t -> [ `Query | `Error ]
to_cstruct packet is the list of cstructs representing
packet. It returns a list of fragments to be sent, or an error if fragmentation was needed, but disallowed by the provided ip header.
into_cstruct packet buf attempts to serialize
buf. On success, it will return the number of bytes written and a list of further fragments to be written.