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

Re: [MirageOS-devel] [ANN] IPv6 on Mirage!



On 19 Nov 2014, at 17:35, Richard Mortier <Richard.Mortier@xxxxxxxxxxxxxxxx> wrote:

all sounds good; only thought-- can you remove the V1 prefix entirely immediately in trunk as well?  if the ipv6 patches are going to cause breakage that needs libraries and unikernels to be updated, might as well get that all out of the way.

No -- removing the V1 prefix would break absolutely every single unikernel that exists, since the entire module namespace is prefixed with V1 currently.  The IPV6 change will only affect STACKV4 users, which is a small, localised change.


fwiw, and without fully understanding your point 2 below, i think that having all the type signatures baked into a single library is also rather clumsy... modularity FTW! (when supported by assemblage perhaps ;)

Agreed, but as noted, there's a design tradeoff required.  Putting type *signatures* into a library is dependency free (i.e. mirage doesn't depend on the entire universe of mirage libraries).  We can indeed split out the type signatures into libraries, but this will take some time and is a lesser concern to me than ensuring that IPv6/SSL/Vchan/Ctypes all hit the trunk as soon as possible.

-anil


On 19 Nov 2014, at 17:21, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:

The modularity discussion so far is most interesting -- since we have modular interfaces, and modular implementations, why don't we have modular configuration as well? .  There are a few tradeoffs we have to keep in mind to get here:

1) We want to be able to use a stable set of interfaces and implementations, but to move one particular set forward to work on that feature.  This is much easier in OPAM 1.2, since we can do "opam install cohttp<0.12.0" to specify an upper bound of implementation that we want installed.   This was not available when ThomasG wrote the first rev of the mirage CLI.

2) Mirage-types cannot be moved out to the individual libraries that export the types, since currently our package management granularity means that this would introduce a dependency on the implementation as well.  We could have an OPAM "-types" package as well as the implementation (e.g. cohttp-types and cohttp) but I feel that this is rather clumsy.  The situation here is improving as we have better control over our build tools (via Assemblage and other emerging systems) to eventually export a finer grained set of OPAM packages with less manual package management.

3) We have to keep moving forward in the short term and not place an undue burden on ourselves for backwards compatibility.  There are a number of extremely cool and core features such as Irmin, Ctypes, TLS and Vchan that all need to land in the main branches as soon as possible.  Breaking existing unikernels is fine in the short term, but we need to consider the long-term strategy so that we don't wall ourselves in.

Therefore, I propose this plan of action:

- I will delete V2 entirely from mirage/mirage as being unused.
- I will merge the IPv6 patches into *V1* in trunk.
- I will branch mirage-skeleton with a 'dev' branch that works with trunk.  It's easier to do that since beginners are likely to clone mirage-skeleton trunk to work with the stable releases.
- The live website will use trunk builds to give us an early warning when things crash and burn.

Medium term:
- We will brainstorm in the next mirage call and in Cambridge about the longer term solution of configuration modularity (which will require some work to get right, and so won't happen in the very short term).  ThomasG will lead this one and take the final decision since the existing configuration system is his faul^H^H creation and he understands it best.
- Remove the V1 prefix entirely and just expose the module types in the Mirage module directly.

Any objections to this plan, make them really soon.  I want to start serving openmirage.org through ipv6/tls asap :-)

-anil


On 18 Nov 2014, at 20:03, Thomas Gazagnaire <thomas@xxxxxxxxxxxxxx> wrote:

Great!

We really need to decide something about the V1/V2, but I'm still unsure what's the best thing to do. I'm happy to brainstorm in a room next week, with people interested by the topic and (ideally) physically present in Cambridge. The goal would be to review the options discussed on that list and propose a design which should improve the current state of things.

Best,
Thomas


On 18 Nov 2014, at 19:29, Nicolas Ojeda Bar <no263@xxxxxxxxxxxxxxx> wrote:

Dear all,

As some of you may know I have been working for the last month and a half on adding IPv6 support to Mirage.  I am pleased to announce that enough work has been done that we can now serve webpages using cohttp/conduit over IPv6.

If you have access to the IPv6 internet then check out the experimental server (a modified `static_website` from `mirage-skeleton`) at


(If it doesn't work the first time, just reload - there is be a bug somewhere that I haven't been able to trace yet.)

The relevant PRs are:


Things left to do (apart from some odds and ends on the protocol itself):

1. Testing/bug fixing
2. Decide what to do regarding the V1/V2 story.
3. Adapt the `mirage configure` tool (this is intertwined with 2.)
4. DNS support (unsure about the status of this one) ?
5. Update all the examples to work with the new signatures.

Longer-term, better abstractions for the network stack seem to be in order.

There is also a design document that I hope to complete soon and add to `mirage-tcpip`.

I will appreciate any and all comments/criticisms/suggestions/bug reports/etc, either personally, by mail, on the list, on GitHub, or any other way.

Enjoy!

Best wishes,
Nicolas
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


--
 
Cheers,

R.





_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

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