macaddr

A library for manipulation of MAC address representations
README

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 and Ipaddr.V4.Prefix modules are Map.OrderedType

  • Ipaddr.V6 and Ipaddr.V6.Prefix modules are Map.OrderedType

  • Ipaddr and Ipaddr.Prefix modules are Map.OrderedType

  • Ipaddr_unix in findlib subpackage ipaddr.unix provides compatibility with the standard library Unix module

  • Ipaddr_top in findlib subpackage ipaddr.top provides top-level pretty printers

  • IP address scope classification

  • IPv4-mapped addresses in IPv6 (::ffff:0:0/96) are an embedding of IPv4

  • MAC-48 (Ethernet) address support

  • Macaddr is a Map.OrderedType

  • All types have sexplib serializers/deserializers optionally via the Ipaddr_sexp and Macaddr_sexp libraries.

Usage

There are the following opam packages included:

  • ipaddr: the Ipaddr and associated modules

  • macaddr: the Macaddr and associated modules.

There are the following ocamlfind libraries included as part of this
repository, included as part of the respective opam packages.

  • ipaddr: The Ipaddr module for IPv4/6 manipulation.

  • ipaddr.top: Toplevel printers for Ipaddr.

  • macaddr: The Macaddr 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

Install
Published
09 Mar 2019
Maintainers
Sources
ipaddr-v3.1.0.tbz
md5=471a594563bb9c3dd91ae912b5ffd6ed
Dependencies
Reverse Dependencies
arp
>= "0.2.3" & < "2.1.0"
charrua
< "1.1.0"
charrua-client
>= "0.11.1" & < "1.2.0"
charrua-core
>= "0.11.1"
ethernet
< "2.1.0"
ipaddr
= "3.1.0"
mirage-net-lwt
>= "1.2.0"
mirage-net-solo5
>= "0.4.1" & < "0.4.3"
mirage-vnetif
>= "0.4.1"
tcpip
>= "3.6.0" & < "3.7.7"
tuntap
= "1.8.0"
vmnet
>= "1.3.3" & < "1.5.1"