include Mirage_protocols
Ethernet layer
module Ethernet = Mirage_protocols.EthernetEthernet errors and protocols.
module type ETHERNET = sig ... endEthernet (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.
ARP
module Arp = Mirage_protocols.ArpArp errors.
module type ARP = sig ... endAddress resolution protocol, translating network addresses (e.g. IPv4) into link layer addresses (MAC).
IP layer
module Ip = Mirage_protocols.IpIP errors and protocols.
module type IP = sig ... endAn 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.tIPv4 layer
module type IPV6 = IP with type ipaddr = Ipaddr.V6.tIPv6 layer
ICMP layer
module type ICMP = sig ... endInternet Control Message Protocol: error messages and operational information.
module type ICMPV4 = ICMP with type ipaddr = Ipaddr.V4.tICMPv4 layer
module type ICMPV6 = ICMP with type ipaddr = Ipaddr.V6.tICMPv6 layer
UDP layer
module type UDP = sig ... endUser datagram protocol layer: connectionless message-oriented communication.
module type UDPV4 = UDP with type ipaddr = Ipaddr.V4.tUDPv4 layer
module type UDPV6 = UDP with type ipaddr = Ipaddr.V6.tUDPv6 layer
TCP layer
module Tcp = Mirage_protocols.TcpTCP errors.
module Keepalive = Mirage_protocols.KeepaliveConfiguration 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 ... endTransmission Control Protocol layer: reliable ordered streaming communication.
module type TCPV4 = TCP with type ipaddr = Ipaddr.V4.tTCPv4 layer
module type TCPV6 = TCP with type ipaddr = Ipaddr.V6.tTCPv6 layer
DHCP client
type ipv4_config = Mirage_protocols.ipv4_config = {address : Ipaddr.V4.t; | 
network : Ipaddr.V4.Prefix.t; | 
gateway : Ipaddr.V4.t option; | 
}IPv4 Configuration
module type DHCP_CLIENT = sig ... endDynamic host configuration protocol: a client engaging in lease transactions.