[ovs-discuss] H/w offloading list for OVS 1.2.2

Jesse Gross jesse at nicira.com
Fri Dec 16 02:42:19 UTC 2011


On Thu, Dec 15, 2011 at 6:08 PM, Dave Whitla <dave.whitla at ocean.net.au> wrote:
> Its true I may have assumed wider implications than I should based upon the documentation combined with having seen this now on several different vendor NICs.
> So far with the vast array of varied hardware at my disposal I have yet to see it not occur with my specific networking configuration.
> I was first interested in Open Virtual Switch as a replacement for linux bridging for this exact reason. There are several threads on Citrix' XenServer fora relating to the issue - one suggesting that OVS would solve the problem.
> It turned out that after replacing linux bridge config on my cluster nodes with OVS the problem was not resolved. But OVS supplied plenty of other benefits justifying the change.
> Specifically I am forced in my environment to mix trunked and VLAN (fake bridge) ports on each switch due to having to allow certain guests to manage their own access to VLANs on the switch.
> I fully expected this to be problematic with respect to offloading certain functions to hardware. I can't recall OTTOMH where I saw it, but in relation to this issue I saw posts containing kernel source extracts showing why it occurs, and asserting that its systemic to the Linux networking stack.

The problem you're running into is that vlan tags can either be
handled as part of the packet buffer itself or as an out-of-band
descriptor to be inserted by the NIC.  Most drivers (and even some
hardware) assume that this offload will always be used.  If when
parsing the packet to handle things like checksum offloading and TSO
they encounter an in-band tag they treat it as an unknown protocol and
fail, even if they report having the capability to offload tagged
frames.

When you do tagging in the hypervisor, as for access ports, OVS and
the Linux bridge insert offloaded vlan tags and things should work.

However, Xen doesn't have the capability to handle offloaded tags and
always passes along in-band tags, which is why you have problems when
trunking.  To solve this, either Xen needs to learn about offloaded
vlan tags or Linux needs to remove the tags from the packet and put
them in a descriptor before transmitting.

> Incidentally I am using 1.2.2 from the Wheezy distribution because it is (last I checked) the latest available from our repos. It was less effort to patch that than build my own 1.3 distribution packages only to have them conflict when 1.3 reaches the Debian repos.

I believe that 1.3 should be uploaded fairly soon.



More information about the discuss mailing list