package mirage-protocols

  1. Overview
  2. Docs

MirageOS signatures for network protocols

v7.0.0

Ethernet layer

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.

ARP

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).

IP layer

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

ICMP 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

UDP 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

TCP 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