charrua-core

DHCP core library - a DHCP server and wire frame encoder and decoder
README

charrua-core is an
ISC-licensed DHCP library implementation in OCaml.


It provides basically two modules, a Dhcp_wire responsible for parsing and
constructing DHCP messages and a Dhcp_server module used for constructing DHCP
servers.

charrua-unix is a Unix DHCP
server based on charrua-core.

mirage
is a Mirage DHCP unikernel server based on charrua-core.

You can browse the API for charrua-core at
http://mirage.github.io/charrua-core/api

Features
  • Dhcp_server supports a stripped down ISC dhcpd.conf, so you can probably just
    use your old dhcpd.conf, it also supports manual configuration building in
    ocaml.

  • Logic/sequencing is agnostic of IO and platform, so it can run on Unix as a
    process, as a Mirage unikernel or anything else.

  • Dhcp_wire provides marshalling and unmarshalling utilities for DHCP, it is the
    base for Dhcp_server.

  • All DHCP options are supported at the time of this writing.

  • Code is purely applicative.

  • It's in ocaml, so it's pretty cool.

The name charrua is a reference to the, now extinct, semi-nomadic people of
southern South America.

This project became one of the Mirage Pioneer
projects.

The master branch depends on upcoming mirage 2.9 at this point, if you want to
use it, you'll have to add the mirage development branch to opam, it also
requires opam version >= 1.2.2.

opam remote add mirage-dev https://github.com/mirage/mirage-dev.git
opam update
opam upgrade
Install
Published
15 Apr 2017
Sources
charrua-core-0.7.tbz
md5=8dc296dd688e9cea29bfb131774a7b41
Dependencies
io-page
with-test
tcpip
>= "3.1.0" & < "3.2.0"
ipaddr
>= "2.5.0" & < "3.0.0"
cstruct
>= "1.9.0" & < "3.0.0"
menhir
build
topkg
build
ocaml
>= "4.03"
Reverse Dependencies
charrua-unix
>= "0.5" & < "0.9"
vpnkit
< "0.1.1"