[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] TCP checksum offload with Xen
On 3 Sep 2014, at 10:59, Thomas Leonard <talex5@xxxxxxxxx> wrote: > 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? Yeah, since the code will need to handle the new flag. > >> 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) Yeah, we need to explicitly split the EDSL to support the new versions. This shouldn't be hard -- we can make the default 'console' and other values of 'a typ be for V2, and include a Mirage.V1 module that exposes the old versions. -anil _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |