Fetching contributors…
Cannot retrieve contributors at this time
62 lines (55 sloc) 2.23 KB
opam-version: "2.0"
maintainer: "Christiano F. Haesbaert <>"
authors: "Christiano F. Haesbaert <>"
license: "ISC"
homepage: ""
bug-reports: ""
dev-repo: "git+"
doc: ""
build: [
["jbuilder" "subst" "-n" name] {pinned}
["jbuilder" "build" "-p" name "-j" jobs]
["jbuilder" "runtest" "-p" name "-j" jobs] {with-test}
depends: [
"jbuilder" {build & >="1.0+beta7"}
"ppx_sexp_conv" {build}
"ppx_cstruct" {build}
"menhir" {build}
"ocaml" {>= "4.0.3"}
"cstruct" {>= "3.0.1"}
"ipaddr" {>= "3.0.0"}
"tcpip" {>= "3.6.0"}
"io-page-unix" {with-test}
"cstruct-unix" {with-test}
synopsis: "DHCP wire frame encoder and decoder"
description: """
Charrua-core consists of two modules, a `Dhcp_wire` responsible for parsing and
constructing DHCP messages and a `Dhcp_server` module used for constructing DHCP
You can browse the API for [charrua-core]( at
is a Mirage DHCP unikernel server based on charrua-core, included as a part of the MirageOS unikernel example and starting-point repository.
#### 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
* `Dhcp_wire` provides marshalling and unmarshalling utilities for DHCP, it is the
base for `Dhcp_server`.
* Logic/sequencing is agnostic of IO and platform, so it can run on Unix as a
process, as a Mirage unikernel or anything else.
* 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.
url {
archive: ""
checksum: "c9f82c844f78643cb05650a397acfb1c"