macaddr
A library for manipulation of IP and MAC address representations.
Features:
oUnit-based tests
IPv4 and IPv6 support
IPv4 and IPv6 CIDR prefix support
IPv4 and IPv6 CIDR-scoped address support
Ipaddr.V4
andIpaddr.V4.Prefix
modules areMap.OrderedType
Ipaddr.V6
andIpaddr.V6.Prefix
modules areMap.OrderedType
Ipaddr
andIpaddr.Prefix
modules areMap.OrderedType
Ipaddr_unix
in findlib subpackageipaddr.unix
provides compatibility with the standard libraryUnix
moduleIpaddr_top
in findlib subpackageipaddr.top
provides top-level pretty printersIP address scope classification
IPv4-mapped addresses in IPv6 (::ffff:0:0/96) are an embedding of IPv4
MAC-48 (Ethernet) address support
Macaddr
is aMap.OrderedType
All types have sexplib serializers/deserializers optionally via the
Ipaddr_sexp
andMacaddr_sexp
libraries.
Usage
There are the following opam packages included:
ipaddr
: theIpaddr
and associated modulesmacaddr
: theMacaddr
and associated modules.
There are the following ocamlfind libraries included as part of this
repository, included as part of the respective opam packages.
ipaddr
: TheIpaddr
module for IPv4/6 manipulation.ipaddr.top
: Toplevel printers for Ipaddr.macaddr
: TheMacaddr
module for MAC address manipulation.macaddr.top
: Toplevel printers for Macaddr.ipaddr.sexp
: S-expression converters for Ipaddr.macaddr.sexp
: S-expression converters for Macaddr.
Contact
API Documentation: http://docs.mirage.io/ipaddr/
Discussion: https://discuss.ocaml.org with the
mirageos
tag.
>= "0.2.3" & < "2.1.0"
< "1.1.0"
>= "0.11.1" & < "1.2.0"
>= "0.11.1"
< "1.1.0"
< "2.1.0"
= "3.1.0"
>= "1.2.0"
>= "1.5.0"
>= "0.4.1" & < "0.4.3"
>= "2.6.0"
>= "1.4.1"
>= "0.4.1"
>= "3.6.0" & < "3.7.7"
= "1.8.0"
>= "1.3.3" & < "1.5.1"