Library
Module
Module type
Parameter
Class
Class type
MirageOS signatures for network protocols
v5.0.0
module Ethernet : sig ... end
Ethernet errors and protocols.
module type ETHERNET = sig ... end
Ethernet (IEEE 802.3) is a widely used data link layer. The hardware is usually a twisted pair or fibre connection, on the software side it consists of an Ethernet header where source and destination mac addresses, and a type field, indicating the type of the next layer, are present. The Ethernet layer consists of network card mac address and MTU information, and provides decapsulation and encapsulation.
module Arp : sig ... end
Arp errors.
module type ARP = sig ... end
Address resolution protocol, translating network addresses (e.g. IPv4) into link layer addresses (MAC).
module Ip : sig ... end
IP errors and protocols.
module type IP = 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.
module type IPV4 = IP with type ipaddr = Ipaddr.V4.t
IPv4 layer
module type IPV6 = IP with type ipaddr = Ipaddr.V6.t
IPv6 layer
module type ICMP = sig ... end
Internet Control Message Protocol: error messages and operational information.
module type ICMPV4 = ICMP with type ipaddr = Ipaddr.V4.t
ICMPv4 layer
module type ICMPV6 = ICMP with type ipaddr = Ipaddr.V6.t
ICMPv6 layer
module type UDP = sig ... end
User datagram protocol layer: connectionless message-oriented communication.
module type UDPV4 = UDP with type ipaddr = Ipaddr.V4.t
UDPv4 layer
module type UDPV6 = UDP with type ipaddr = Ipaddr.V6.t
UDPv6 layer
module Tcp : sig ... end
TCP errors.
module Keepalive : sig ... end
Configuration for TCP keep-alives. Keep-alive messages are probes sent on an idle connection. If no traffic is received after a certain number of probes are sent, then the connection is assumed to have been lost.
module type TCP = sig ... end
Transmission Control Protocol layer: reliable ordered streaming communication.
module type TCPV4 = TCP with type ipaddr = Ipaddr.V4.t
TCPv4 layer
module type TCPV6 = TCP with type ipaddr = Ipaddr.V6.t
TCPv6 layer