1. Overview
  2. Docs


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

It provides basically two modules, a Dhcp 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.

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

You can browse the API for [charrua-core] at


* Dhcp_server supports a stripped down ISC dhcpd.conf, so you can probably just
  use your old dhcpd.conf.
* Support for multiple interfaces/subnets.
* Logic/sequencing is agnostic of IO and platform, so it can run on Unix as a
  process, as a Mirage VM or anything else.
* Functorizes over Logging functions.
* Code is purely functional with the exception of Dhcp Leases.
* With `charrua-mirage` you can run a server directly on top of Xen, without a
  full operating system.
* 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.

Published: 09 Oct 2015

Dependencies (10)

  1. ocamlbuild build
  2. tcpip >= "2.3.0" & < "3.0.0"
  3. io-page <= "1.3.0"
  4. ipaddr >= "2.5.0" & < "2.7.0"
  5. menhir
  6. sexplib < "113.01.00"
  7. cstruct <= "1.9.0"
  8. lwt
  9. ocamlfind build
  10. ocaml >= "4.02"

Dev Dependencies


Used by (1)

  1. charrua-unix < "0.3"