Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  OVS-VLAN-BUG-WORKAROUND (8)


ovs-vlan-bug-workaround - utility for configuring Linux VLAN driver bug workaround




ovs-vlan-bug-workaround netdev on
ovs-vlan-bug-workaround netdev off
ovs-vlan-bug-workaround --help
ovs-vlan-bug-workaround --version


Some Linux network drivers support a feature called ‘‘VLAN acceleration’’. VLAN acceleration is associated with a data structure called a vlan_group that is, abstractly, a dictionary that maps from a VLAN ID (in the range 0 to 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 categories listed below. ovs-vlan-test(8) can test for these driver bugs.
o When NICs use VLAN stripping on receive they must pass a pointer to a vlan_group when reporting the stripped tag to the networking core. If no vlan_group is in use then some drivers just drop the extracted tag. Drivers are supposed to only enable stripping if a vlan_group is registered but not all of them do that.
o On receive, some drivers handle priority tagged packets specially and don’t pass the tag onto the network stack at all, so Open vSwitch never has a chance to see it.
o 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 no vlan_group is configured.
o 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 or TSO.

The correct long term solution is to fix these driver bugs.

For now, ovs-vlan-bug-workaround can enable a special-purpose workaround for devices with buggy VLAN acceleration. A kernel patch must be applied for this workaround to work.

Use the command ovs-vlan-bug-workaround netdev on to enable the VLAN driver bug workaround for network device netdev. Use the command ovs-vlan-bug-workaround netdev off to disable the VLAN driver bug workaround for network device netdev.


The following drivers in Linux version implement VLAN acceleration and are relevant to Open vSwitch on XenServer. We have not tested any version of most of these drivers, so we do not know whether they have a VLAN problem that needs to be fixed. The drivers are listed by the name that they report in, e.g., ethtool -i output; in a few cases this differs slightly from the name of the module’s .ko file:

8139cp    acenicamd8111eatl1cATL1Eatl1
atl2      be2netbnabnx2bnx2xcnic
cxgb      cxgb3e1000e1000eenicforcedeth
igb       igbvfixgbixgbejmeml4x_core
ns83820   qlger8169S2IOsky2starfire
tehuti    tg3typhoonvia-velocityvxge

The following drivers use vlan_group but are irrelevant to Open vSwitch on XenServer:
bonding Not used with Open vSwitch on XenServer.
gianfar Not shipped with XenServer. A FreeScale CPU-integrated device.
ehea Cannot be built on x86. IBM Power architecture only.
stmmac Cannot be built on x86. SH4 architecture only.
vmxnet3 Not shipped with XenServer. For use inside VMware VMs only.


--help Prints a brief help message to the console.
--version Prints version information to the console.




Search for    or go to Top of page |  Section 8 |  Main Index

Open vSwitch OVS-VLAN-BUG-WORKAROUND (8) 2.3.2

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.