[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] hdhcpd working.

On 26 Aug 2015, at 16:58, Christiano F. Haesbaert <haesbaert@xxxxxxxxxxxxx> 
> Awesome, I think I get it, I'll need something analogous to the IO
> module of Cohttp, should be fairly easy.
> After some more reading, the Dhcp_server should require only an "IO"
> module and a "Logger" module.

That sounds about right.  Your IO module is a little different from
Cohttp's since its only sending UDP packets, whereas Cohttp (and indeed
Conduit) assume a reliable stream transport.  Perhaps call it DATAGRAM
or something?

Incidentally, is there any DHCP-over-TCP standard?

> By the way, although stdout and stderr work on Mirage-unix, I assume
> it is only cause stdout and stderr are not closed ?
> I believe that doesn't work on Xen, Or is somehow the stdout/stderr
> output functions redirected to the default CONSOLE instance ?
> If that is not the case, then I don't need to functorize over a Logger
> module, I don't have a xen setup yet.

stdout/stderr will always go to somewhere sensible on all backends,
but not somewhere explicitly designed for logging -- it will be a console
device.  Having a LOGGER is a good idea to ensure that DHCP events
can be redirected would be good to do from day 1.  It could just be a
simple prerr_endline for now.

We just had this discussion on the Mirage call as well -- I'm bolting
something similar on top of the Cohttp_*_servers so that HTTP-level
events can be sent to a backend like an Apache-format logfile (ideally
backed on Irmin).

>> My idea so far was to release hdhcp as a library, having a Dhcp_server
>> module, and another package with a mirage usage of this module as a functor.
>> Basically it needs to be specialized on how to send/receive packets and
>> read/write to disk.
>> I think that's spot on.  The functor only needs to be parameterised by
>> modules for which there is genuinely more than one implementation.  So for
>> example, config file parsing doesnt need to be there as it can be
>> represented by a record type and supplied to the library.  If you post some
>> patches/branch I can take a look.
> Great, I'm shuffling some code in order to only need to functorize
> over IO and possibly over a Logger module.
> There isn't much stuff to do actually, the main issue is I'm just
> getting familiar with mirage now.
> By the way, I'm considering renaming the project to Charrua, a
> reference to: https://en.wikipedia.org/wiki/CharrÃa_people

A fine name for a nomadic protocol! :-)

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.