Module Tcpip.Ip

IP layer

type error = [
  1. | `No_route of string
    (*

    can't send a message to that destination

    *)
  2. | `Would_fragment
    (*

    would need to fragment, but fragmentation is disabled

    *)
]

IP errors and protocols.

val pp_error : error Fmt.t
type proto = [
  1. | `TCP
  2. | `UDP
  3. | `ICMP
]
val pp_proto : proto Fmt.t
module type S = sig ... end

An Internet Protocol (IP) layer reassembles IP fragments into packets, removes the IP header, and on the sending side fragments overlong payload and inserts IP headers.