[ovs-dev] Vlan tag

Jesse Gross jesse at nicira.com
Fri Jun 10 23:02:09 UTC 2011


On Fri, Jun 10, 2011 at 3:31 PM, nicolas prochazka
<prochazka.nicolas at gmail.com> wrote:
> I've read some documentation :
> Support vlan_group workaround implemented in XenServer kernels.
>
> Some Linux network drivers support a feature called "VLAN acceleration",
> associated with a data structure called a "vlan_group".  A vlan_group is,
> abstractly, a dictionary that maps from a VLAN ID (in the range 0...4095)
> to a VLAN device, that is, a Linux network device associated with a
> particular VLAN, e.g. "eth0.9" for VLAN 9 on eth0.
>
> Some drivers that support VLAN acceleration have bugs that fall roughly
> into the following categories:
>
>     * Some NICs strip VLAN tags on receive if no vlan_group is registered,
>       so that the tag is completely lost.
>
>     * Some drivers size their receive buffers based on whether a vlan_group
>       is enabled, meaning that a maximum size packet with a VLAN tag will
>       not fit if a vlan_group is not configured.
>
>     * On transmit some drivers expect that VLAN acceleration will be used
>       if it is available (which can only be done if a vlan_group is
>       configured).  In these cases, the driver may fail to parse the packet
>       and correctly setup checksum offloading and/or TSO.
>
> The correct long term solution is to fix these driver bugs.  To cope until
> then, we have prepared a patch to the Linux kernel network stack that works
> around these problems.  This commit adds support for the workaround
> implemented by that patch.
>
>
>
> But it seems to be correct since sometime in kernel and igb driver ?

No version of the igb driver works properly with Open vSwitch.  The
above documentation refers to a workaround patch that can help but it
only applies to the 2.6.32 kernel.  A proper fix (as would be accepted
into mainline Linux) requires patching the driver.


More information about the dev mailing list