Module Ip

module Ip: sig .. end
Everything related to IPv4 packets: (un)packing, addresses, transceiver...

TODO: Some usual IP options should be understood.


val debug : bool

Private Types



Protocols


module Proto: sig .. end
Internet protocols, as in /etc/protocols.

Addresses



inet_addr

Stdlib Unix module already have a type for IP addresses: Unix.inet_addr (actually a string). We use a private type nonetheless so that we can have a custom printer.

val inet_addr_print : 'a BatInnerIO.output -> Batteries.Unix.inet_addr -> unit
Printer (in the sense of Batteries) for inet_addrs

IP Addresses as Unix.inet_addr (ie. strings)


module Addr: sig .. end

CIDR Addresses


module Cidr: sig .. end
CIDR addresses are a concise way to write network addresses, with network IP then netmask length, like: 192.168.0.0/16.

IP packet


module Pdu: sig .. end
(Un)Packing an IP packet.

Transceiver


module TRX: sig .. end