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

Re: [MirageOS-devel] TCP checksum offload with Xen

On 19 August 2014 20:28, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
> On 19 Aug 2014, at 14:26, Thomas Gazagnaire <thomas@xxxxxxxxxxxxxx> wrote:
>>>> Looks good -- since V2.mli isn't tagged yet, this can just extend the call
>>>> to `write` instead of having a `write2`.
>>> I actually tried that first, but it makes V1 incompatible with V2
>>> which complicates things a bit. As it is, if you have a V2 module you
>>> can use it with anything that wants a V1 type, which makes upgrading
>>> easier.
>> I'm not too worry about that, as we need to fix the error type definition at 
>> one point as well (and the FS module type)
>>>> However, would it be better to
>>>> define an interface flags type in `NETWORK`, and just let the `write` call
>>>> supply a list of flags?  That would permit easier extension to other
>>>> offloads in the future.
>>> Yes, probably. Should the flags type be abstract?
>> A possibility might be to define a record 'flag' with at least one field 
>> called "checksum". Not sure too much abstraction is a good thing here.

Presumably that will break existing code when we add more flags. Is that OK?

> Agreed on both counts...

OK, but in that case how do we upgrade to the V2 API?

Currently, if you ask mirage for e.g. a "network" then you get a V1
NETWORK. If V2 extends V1 then it can just give you a V2 NETWORK and
everything still works, which was the path I took for testing the
checksums. But if they're not compatible (and I agree they shouldn't
need to be) then more things will have to change.

How will I ask mirage for a V1 vs V2 NETWORK? Like this?

let main = foreign "Unikernel.Main" (console2 @-> network2 @-> job)

Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

MirageOS-devel mailing list



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