• deprecated This module will be removed from MirageOS 4.0. Please use Mirage_protocols instead.
include module type of struct include Mirage_protocols end

Ethernet layer

module Ethernet = Mirage_protocols.Ethernet

Ethernet errors and protocols.

module type ETHERNET = Mirage_protocols.ETHERNET

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.


Arp errors.

module type ARP = Mirage_protocols.ARP

Address resolution protocol, translating network addresses (e.g. IPv4) into link layer addresses (MAC).

IP layer

IP errors and protocols.

module type IP = Mirage_protocols.IP

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 = Mirage_protocols.IPV4

IPv4 layer

module type IPV6 = Mirage_protocols.IPV6

IPv6 layer

ICMP layer

module type ICMP = Mirage_protocols.ICMP

Internet Control Message Protocol: error messages and operational information.

module type ICMPV4 = Mirage_protocols.ICMPV4

ICMPv4 layer

module type ICMPV6 = Mirage_protocols.ICMPV6

ICMPv6 layer

UDP layer

module type UDP = Mirage_protocols.UDP

User datagram protocol layer: connectionless message-oriented communication.

module type UDPV4 = Mirage_protocols.UDPV4

UDPv4 layer

module type UDPV6 = Mirage_protocols.UDPV6

UDPv6 layer

TCP layer

TCP errors.

module Keepalive = Mirage_protocols.Keepalive

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 = Mirage_protocols.TCP

Transmission Control Protocol layer: reliable ordered streaming communication.

module type TCPV4 = Mirage_protocols.TCPV4

TCPv4 layer

module type TCPV6 = Mirage_protocols.TCPV6

TCPv6 layer

DHCP client

type ipv4_config = Mirage_protocols.ipv4_config = {
  1. address : Ipaddr.V4.t;
  2. network : Ipaddr.V4.Prefix.t;
  3. gateway : Ipaddr.V4.t option;

IPv4 Configuration

module type DHCP_CLIENT = Mirage_protocols.DHCP_CLIENT

Dynamic host configuration protocol: a client engaging in lease transactions.