Module Mirage_protocols_lwt

module type ETHERNET = Mirage_protocols.ETHERNET with type 'a io = 'a Lwt.t and type buffer = Cstruct.t and type macaddr = Macaddr.t

Ethernet

module type ARP = Mirage_protocols.ARP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t and type ipaddr = Ipaddr.V4.t and type macaddr = Macaddr.t

ARP

module type IP = Mirage_protocols.IP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t

IP

module type IPV4 = IP with type ipaddr = Ipaddr.V4.t

IPv4 stack

module type IPV6 = IP with type ipaddr = Ipaddr.V6.t

IPv6 stack

module type ICMP = Mirage_protocols.ICMP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t

ICMP module

module type ICMPV4 = ICMP with type ipaddr = Ipaddr.V4.t

ICMPV4 module

module type UDP = Mirage_protocols.UDP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t

UDP stack

module type UDPV4 = UDP with type ipaddr = Ipaddr.V4.t

UDP stack over IPv4

module type UDPV6 = UDP with type ipaddr = Ipaddr.V6.t

UDP stack over IPv6

module type TCP = Mirage_protocols.TCP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t

TCP stack

module type TCPV4 = TCP with type ipaddr = Ipaddr.V4.t

TCP module over IPv4

module type TCPV6 = TCP with type ipaddr = Ipaddr.V6.t

TCP module over IPv6

type ipv4_config = {
address : Ipaddr.V4.t;
network : Ipaddr.V4.Prefix.t;
gateway : Ipaddr.V4.t option;
}

Configuration

type ipv6_config = {
address : Ipaddr.V6.t list;
netmasks : Ipaddr.V6.Prefix.t list;
gateways : Ipaddr.V6.t list;
}
module type DHCP_CLIENT = sig ... end