Purely functional ARP in OCaml
OCaml Shell
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bench
doc
mirage
pkg
src
test
.gitignore
.merlin
.travis.yml
CHANGES.md
LICENSE.md
README.md
_tags
opam

README.md

ARP - Address Resolution Protocol purely in OCaml

%%VERSION%%

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

Build Status

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.