package mirage-protocols

  1. Overview
  2. Docs

MirageOS signatures for network protocols


Ethernet layer

module Ethernet : sig ... end
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.

IP stack

module Ip : sig ... end

IP errors.

module type IP = sig ... end

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


module Arp : sig ... end

Arp error.

module type ARP = sig ... end
module type IPV4 = sig ... end
module type IPV6 = sig ... end

No Icmp module, as there are no exposed error polymorphic variants

module type ICMP = sig ... end
module type ICMPV4 = sig ... end

UDP stack

No Udp module, as there are no exposed error polymorphic variants

module type UDP = sig ... end

TCP stack

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

A TCP stack that can send and receive reliable streams using the TCP protocol.


Innovation. Community. Security.