ovs-vlan-bug-workaround(8)   Open vSwitch Manual  ovs-vlan-bug-workaround(8)

NAME         top

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

SYNOPSIS         top

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

DESCRIPTION         top

       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.

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

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

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

       ·      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

       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.

DRIVER DETAILS         top

       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    acenic    amd8111e  atl1c     ATL1E     atl1
       atl2      be2net    bna       bnx2      bnx2x     cnic
       cxgb      cxgb3     e1000     e1000e    enic      forcedeth
       igb       igbvf     ixgb      ixgbe     jme       ml4x_core
       ns83820   qlge      r8169     S2IO      sky2      starfire
       tehuti    tg3       typhoon   via-velocity        vxge

       The following drivers use vlan_group but are irrelevant to Open
       vSwitch on XenServer:

              Not used with Open vSwitch on XenServer.

              Not shipped with XenServer.  A FreeScale CPU-integrated

       ehea   Cannot be built on x86.  IBM Power architecture only.

       stmmac Cannot be built on x86.  SH4 architecture only.

              Not shipped with XenServer.  For use inside VMware VMs only.

OPTIONS         top

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

              Prints version information to the console.

BUGS         top


SEE ALSO         top


COLOPHON         top

       This page is part of the Open vSwitch (a distributed virtual
       multilayer switch) project.  Information about the project can be
       found at ⟨⟩.  If you have a bug report for
       this manual page, send it to  This page was
       obtained from the project's upstream Git repository
       ⟨⟩ on 2020-02-08.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2020-02-07.)  If you discover any rendering problems in
       this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not part
       of the original manual page), send a mail to

Open vSwitch                       2.11.90        ovs-vlan-bug-workaround(8)