[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] TCP checksum offload with Xen
On 19 Aug 2014, at 09:32, Thomas Leonard <talex5@xxxxxxxxx> wrote: > On 19 August 2014 11:18, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote: >> >> On 19 Aug 2014, at 05:08, Thomas Leonard <talex5@xxxxxxxxx> wrote: >> >>> I see Xen allows guests to indicate that the packet checksum is blank >>> (XEN_NETTXF_csum_blank). Then dom0 will either fill it in itself or >>> get the NIC to do it. How can I use this with Mirage? >>> >>> I tried using ~flags:3 (Checksum_blank + Data_validated) in >>> mirage-net-xen's netif.ml, but I don't see any TCP packets at all this >>> way, even when the checksum is actually still being set. DHCP still >>> works, though. >>> >>> Does anyone know how this is supposed to work? >> >> Probably best to trace through what netback is doing here: >> http://lxr.free-electrons.com/source/drivers/net/xen-netback/netback.c#L1580 >> >> Looks like XEN_NETTXF_data_validated may need to be set as well >> (and local packets are treated differently from off-host ones, to >> add an extra twist). > > The problem turned out to be that I was setting the flag for all > packets, including ARPs. > Getting this to work properly will require so API changes, because > NETWORK needs to tell the ethernet driver which types of packet can be > offloaded, and let the driver say which packets require checksums to > be added. > > Then similar changes are needed to ETHIF. Here are the hacks I used to test > it: > > https://github.com/talex5/mirage/commits/csum-offload > https://github.com/talex5/mirage-net-xen/commits/csum-offload > https://github.com/talex5/mirage-tcpip/commits/csum-offload Looks good -- since V2.mli isn't tagged yet, this can just extend the call to `write` instead of having a `write2`. 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. A pull request to mirage/mirage of the WIP patches would be good to track this in the issue tracker. cheers, 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 |