package ipaddr

  1. Overview
  2. Docs
A library for manipulation of IP (and MAC) address representations

Install

Dune Dependency

Authors

Maintainers

Sources

ipaddr-v3.1.0.tbz
md5=471a594563bb9c3dd91ae912b5ffd6ed

Description

Features:

  • Depends only on sexplib (conditionalization under consideration)
  • 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 (requires compiler-libs default since OCaml 4.0)
  • 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

Tags

org:mirage org:xapi-project

Published: 09 Mar 2019

README

ipaddr: IP and MAC address manipulation

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

Dependencies (4)

  1. sexplib0
  2. macaddr = version
  3. dune
  4. ocaml >= "4.04.0" & < "5.0"

Dev Dependencies (2)

  1. ppx_sexp_conv with-test
  2. ounit with-test

Used by (72)

  1. arp >= "0.2.3" & < "2.1.0"
  2. builder-web
  3. caqti >= "2.0.1"
  4. caqti-async >= "2.1.1"
  5. caqti-driver-pgx >= "2.1.1"
  6. caqti-lwt >= "2.1.1"
  7. caqti-mirage >= "2.1.1"
  8. charrua < "1.1.0"
  9. charrua-client < "1.2.0"
  10. charrua-client-lwt >= "0.11.1" & < "1.2.0"
  11. charrua-client-mirage < "1.2.0"
  12. charrua-core >= "0.11.1"
  13. charrua-server < "1.1.0"
  14. charrua-unix = "0.6"
  15. cohttp-async >= "3.0.0"
  16. colombe
  17. conduit = "1.4.0" | = "3.0.0"
  18. conduit-async >= "1.4.0" & != "3.0.0"
  19. conduit-lwt-unix = "1.4.0"
  20. conduit-mirage != "3.0.0"
  21. dkim >= "0.2.0"
  22. dns >= "0.8.0" & < "0.10.0" | >= "1.0.0" & != "1.1.3" & < "6.0.0"
  23. eliom >= "4.0.0"
  24. emile
  25. frenetic >= "3.2.0" & < "5.0.5"
  26. git-paf
  27. happy-eyeballs-lwt
  28. happy-eyeballs-mirage
  29. ipv6-multicast >= "0.9"
  30. irmin-client
  31. jitsu
  32. learn-ocaml >= "0.12" & < "0.14.0"
  33. learn-ocaml-client < "0.13.0"
  34. mbr-format < "1.0.0"
  35. metrics-mirage
  36. miou
  37. mirage >= "0.10.0" & < "2.9.0" | >= "3.1.1" & < "3.8.0"
  38. mirage-block-xen >= "1.1.0" & < "2.0.0"
  39. mirage-bootvar-xen < "0.4.0"
  40. mirage-conduit >= "3.1.0"
  41. mirage-console-xen-cli
  42. mirage-entropy-unix < "0.2.0"
  43. mirage-entropy-xen < "0.2.0"
  44. mirage-nat
  45. mirage-net-fd
  46. mirage-protocols-lwt >= "1.4.1"
  47. mirage-qubes-ipv4 >= "0.6.1"
  48. mirage-runtime >= "3.4.0" & < "3.8.0"
  49. mirage-stack-lwt
  50. mirage-types-lwt < "3.7.1"
  51. mirage-unix >= "0.9.4" & < "0.9.9"
  52. mirage-vnetif >= "0.4.1"
  53. mirage-www >= "1.1.0"
  54. mirage-xen >= "0.9.5" & < "0.9.9"
  55. mirari >= "0.9.6"
  56. mrmime < "0.6.0"
  57. mrt-format >= "0.3.0"
  58. nanomsg
  59. netchannel >= "1.8.1"
  60. ocsigenserver >= "2.4.0"
  61. paf-cohttp
  62. pcap-format = "0.4.0"
  63. pf-qubes
  64. pgx >= "1.0"
  65. tcpip >= "3.6.0" & < "3.7.7"
  66. tls >= "0.15.0"
  67. tuntap >= "0.6" & < "1.8.1"
  68. vchan >= "0.9.6" & < "2.0.0"
  69. vhd-format >= "0.7.0" & < "0.9.1"
  70. vpnkit
  71. websocket-lwt
  72. xentropyd

Conflicts

None