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

ravi kerur rkerur at gmail.com
Fri Jun 1 04:50:55 UTC 2012


On Thu, May 31, 2012 at 6:54 PM, Jesse Gross <jesse at nicira.com> wrote:
> 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.
>

<rk> Agreed, I was trying to work-around this problem by un-setting
skb->protocol.

> 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).

<rk> I understand this and yes I am using ovs offload emulation for
mpls and qinq for the patches I sent today morning. I will look into
this further from performance perspective.
>
> Your solution will not work for most NICs.  If in doubt, you must emulate.

<rk> agreed.



More information about the dev mailing list