package arp

  1. Overview
  2. Docs
Address Resolution Protocol purely in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

arp-0.2.3.tbz
md5=7e9c65c187e3e1f0939cbc031ae68967

Description

ARP is an implementation of the address resolution protocol (RFC826) purely in OCaml. It handles IPv4 protocol addresses and Ethernet hardware addresses only.

A MirageOS Mirage_protocols.ARP implementation is in the mirage subdirectory.

Motivation for this implementation is written up.

Published: 04 Jan 2019

README

ARP - Address Resolution Protocol purely in OCaml

0.2.3

ARP is an implementation of the address resolution protocol (RFC826) purely in OCaml. It handles IPv4 protocol addresses and Ethernet hardware addresses only.

A MirageOS Mirage_protocols.ARP implementation is in the mirage subdirectory.

Motivation for this implementation is written up.

Documentation

API documentation is available online, also a test suite and a coverage report.

Installation

opam install arp will install this library, once you have installed OCaml (>= 4.02.0) and opam (>= 1.2.2).

The Mirage interface depends on changes in the not yet released tcpip library, in order to get the latest, you'll need to opam repo add mirage-dev https://github.com/mirage/mirage-dev.git.

Benchmarks require more opam libraries, namely mirage-vnetif mirage-clock-unix mirage-unix nocrypto. Use ./bench/build.sh to build, it will produce a bench.native, which uses this implementation, and a mbench.native which uses the ARPv4 implementation of mirage-tcpip.

Dependencies (8)

  1. logs
  2. macaddr < "4.0.0"
  3. ipaddr >= "3.0.0" & < "4.0.0"
  4. cstruct >= "2.2.0" & < "6.1.0"
  5. topkg build
  6. ocamlbuild build
  7. ocamlfind build
  8. ocaml >= "4.04.2"

Dev Dependencies (2)

  1. nocrypto with-test
  2. alcotest with-test

Used by (1)

  1. mirage-nat >= "1.1.0" & < "2.1.0"

Conflicts (5)

  1. mirage-protocols >= "4.0.0"
  2. mirage-clock >= "3.0.0"
  3. mirage-types-lwt < "3.0.0"
  4. tcpip >= "3.7.0"
  5. tcpip < "2.8.0"