Mirage OS Logo

The MirageOS Documentation

and developer guides

Weekly Meeting: 2014-12-10
By Amir Chaudhry - 2014-12-10


  • Entropy progress
  • Tracing progress
  • Xen C stub compilation progress
  • MacOSX vmnet support
  • IPv6 Merging
  • Pioneer Projects

Attendees: Amir Chaudhry (chair), Thomas Gazagnaire, Masoud Koleini, Thomas Leonard, Anil Madhavapeddy, Hannes Mehnert, Dave Scott, Magnus Skjegstad and Carlos


Entropy for Mirage/TLS

Dave has been working on this. Essentially we need a daemon on dom0 to provide a small amount of entropy. This is at the top of his list and it will be done before Hannes gives a talk on the 27th (at CCC).

Once we have entropy device in Mirage, it is fed into the Fortuna part of nocrypto and then we get random numbers. What it doesn't expose is the random device. We also have possibility to get entropy from multiple sources. Things are in place for that already so perhaps we should deal with each of these as separate issues.

On a related note, Anil merged Hannes patches and cohttp on Unix and it all works without a hitch. Doesn't do server certificate verification. Is implementing trust on first use for the XMPP client. There are issues related to both these points on the conduit library repo.

Xen C stub compilation

Mirage will now only link C-stubs on Xen if you explicitly mark it in OCaml meta file. A number of releases have happened and we're now ready to package up the TLS things.

Need to fork zarith and gmp libraries and thinking that we'll need to install dummy ocamlfind packages for TLS libraries to use. That might involve adding depext things to the mirage tool. Will have to feel our way through this to figure out the best approach.

Tracing Progress

Lots of things have been merged. A number of libraries now depend on mirage-profile, so it can be used in code without having to add an additional dependency. This way you can get profiling from libraries out of the box. Will soon be working on documentation for the website to explain how to use it all. In the meantime we should work work on getting the lwt patched upstreamed.

MacOSX vmnet support

Anil was working on using the vmnet support that's available (but undocumented) on Mac OSX Yosemite (see the mailing list thread). Anil is still poking thorough traces to find various interfaces. We also think it does IPv6 but not quite sure. As a result, two new libraries have been released, ocaml-vmnet and mirage-net-macosx. It would be good to get feedback from others on their use of this and there have been no reported problems at all so far. Recently released Mirage 2.1.1 will default to Unix network stack on Macs prior to Yosemite.

Merging IPv6

Nic is currently in Argentina but would like to merge this asap. Will probably see some breakages can fix them up as things change. These will be a sequence of small changes but hopefully wouldn't affect too many people. Anil will look at these and may be able to merge this in the next couple of weeks.

If anyone has access to IPv6 networks it would be great to hear feedback and reports.

Pioneer Projects

We could do with expanding the number of Pioneer Projects we have listed. Even if people have simple ideas, it would be useful to get them added to the wiki page. We especially need the '1-star' projects, which can help onboard newcomers. Amir may add some tasks that cross over from ocaml.org (such as a pure OCaml implementation of Planet). Please do add what you can!



  • Masoud and Carlos joined the call and they're working on an Openflow implementation (1.3 and 1.4). Currently fixing things before adding more functionality. At the moment there's an openflow switch but would also like an openflow controller.

  • The next call is scheduled for Wednesday, 14th January - Please add any agenda items you wish to discuss in advance and refer to the mailing list for actual details a day or so in advance.

  • Happy Holidays to all!