package macaddr
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=9e30433fdb4ca437a6aa8ffb447baca5eba7615fb88e7b0cd8a4b416c3208133
sha512=66a3bedfd91dacd6c1de9ba35abac3ef2ad3c2c8543f7b4e2a0cc6283a8d42138b48d02e904df0232ee9f320920e889bddbbda9a5148c5c6b72fd0164e0c6a34
doc/README.html
ipaddr: IP and MAC address manipulation
A library for manipulation of IP and MAC address representations.
Features:
- ounit2-based tests
- IPv4 and IPv6 support
- IPv4 and IPv6 CIDR prefix support
- IPv4 and IPv6 CIDR-scoped address support
Ipaddr.V4andIpaddr.V4.Prefixmodules areMap.OrderedTypeIpaddr.V6andIpaddr.V6.Prefixmodules areMap.OrderedTypeIpaddrandIpaddr.Prefixmodules areMap.OrderedTypeIpaddr_unixin findlib subpackageipaddr.unixprovides compatibility with the standard libraryUnixmoduleIpaddr_topin findlib subpackageipaddr.topprovides 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
Macaddris aMap.OrderedType- All types have sexplib serializers/deserializers optionally via the
Ipaddr_sexpandMacaddr_sexplibraries.
Usage
There are the following opam packages included:
ipaddr: theIpaddrand associated modulesipaddr-sexpipaddr-cstructmacaddr: theMacaddrand associated modules.macaddr-sexpmacaddr-cstruct
There are the following ocamlfind libraries included as part of this repository, included as part of the respective opam packages.
ipaddr: TheIpaddrmodule for IPv4/6 manipulation.ipaddr.top: Toplevel printers for Ipaddr.ipaddr-cstruct: TheIpaddr_cstructmodulemacaddr: TheMacaddrmodule for MAC address manipulation.macaddr.top: Toplevel printers for Macaddr.macaddr-cstruct: TheMacaddr_cstructmoduleipaddr-sexp: S-expression converters for Ipaddr.macaddr-sexp: S-expression converters for Macaddr.
Installation and development
The packages are released to the opam-repository. An opam install ipaddr (or any other above mentioned package) will install it. If you want to install the latest development commit, opam pin add ipaddr --dev will do this.
A local build, after a git clone can be done with dune build, a dune runtest compiles and executes the testsuite. If dependencies are missing, opam install (-t) --deps-only . in the cloned directory will install them.
The auto-formatter ocamlformat is used, please execute dune build @fmt --auto-promote before submitting a pull request.
Contact
- Issues: https://github.com/mirage/ocaml-ipaddr/issues
- E-mail: mirageos-devel@lists.xenproject.org
- API Documentation: http://docs.mirage.io/ipaddr/
- Discussion: https://discuss.ocaml.org with the
mirageostag.