[ovs-dev] FW: MPLS and VLAN QinQ patch

Jesse Gross jesse at nicira.com
Fri Jun 1 01:54:07 UTC 2012


On Thu, May 31, 2012 at 6:04 PM, ravi kerur <rkerur at gmail.com> wrote:
> Thanks Jesse, I don't think I was clear. For mpls and qinq, offloading
> goes through ovs emulation code in vport-netdev.c. In addiition to
> TSO, there is checksum-offload and I believe this will be handled in
> the NIC and the driver sets the flags in DMA descriptor before sending
> to the NIC. This, I don't think will be handled in ovs offload code.
> Anyways, I will wait until you return and we can work on this.

You can't assume that the NIC can do any offloading that it doesn't
advertise, including checksums.  e1000e actually does advertise that
can handle generic TX checksum offloading (and apparently can to some
degree) but the driver doesn't handle it properly, which is a bug in
the driver.

The "offload" code in OVS is to not enable offloading in the NIC, it's
to provide a software emulation path in the cases where it can't be
handled in hardware (or other parts of the kernel).

Your solution will not work for most NICs.  If in doubt, you must emulate.



More information about the dev mailing list