ovs-vlan-test(8) — Linux manual page


OVS-VLAN-TEST(8)              Open vSwitch              OVS-VLAN-TEST(8)

NAME         top

       ovs-vlan-test - Check Linux drivers for problems with vlan

SYNOPSIS         top

       ovs-vlan-test [-s | –server] control_ip vlan_ip

DESCRIPTION         top

       The ovs-vlan-test utility has some limitations, for example, it
       does not use TCP in its tests. Also it does not take into account
       MTU to detect potential edge cases. To overcome those limitations
       a new tool was developed - ovs-test. ovs-test is currently
       supported only on Debian so, if possible, try to use that on
       instead of ovs-vlan-test.

       The ovs-vlan-test program may be used to check for problems
       sending 802.1Q traffic which may occur when running Open vSwitch.
       These problems can occur when Open vSwitch is used to send 802.1Q
       traffic through physical interfaces running certain drivers of
       certain Linux kernel versions. To run a test, configure Open
       vSwitch to tag traffic originating from vlan_ip and forward it
       out the target interface. Then run the ovs-vlan-test in client
       mode connecting to an ovs-vlan-test server.  ovs-vlan-test will
       display “OK” if it did not detect problems.

       Some examples of the types of problems that may be encountered

       • 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 TSO.

       Client Mode
              An ovs-vlan-test client may be run on a host to check for
              VLAN connectivity problems. The client must be able to
              establish HTTP connections with an ovs-vlan-test server
              located at the specified control_ip address. UDP traffic
              sourced at vlan_ip should be tagged and directed out the
              interface whose connectivity is being tested.

       Server Mode
              To conduct tests, an ovs-vlan-test server must be running
              on a host known not to have VLAN connectivity problems.
              The server must have a control_ip on a non-VLAN network
              which clients can establish connectivity with. It must
              also have a vlan_ip address on a VLAN network which
              clients will use to test their VLAN connectivity. Multiple
              clients may test against a single ovs-vlan-test server

OPTIONS         top

       -s, --server
              Run in server mode.

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

       -V, --version
              Prints version information to the console.

EXAMPLES         top

       Display the Linux kernel version and driver of eth1:

          uname -r
          ethtool -i eth1

       Set up a bridge which forwards traffic originating from
       out eth1 with VLAN tag 10:

          ovs-vsctl -- add-br vlan-br \
            -- add-port vlan-br eth1 \
            -- add-port vlan-br vlan-br-tag tag=10 \
            -- set Interface vlan-br-tag type=internal
          ip addr add dev vlan-br-tag
          ip link set vlan-br-tag up

       Run an ovs-vlan-test server listening for client control traffic
       on port 8080 and VLAN traffic on the default port of

          ovs-vlan-test -s

       Run an ovs-vlan-test client with a control server located at port 8080 and a local VLAN IP of


SEE ALSO         top

       ovs-vswitchd(8), ovs-ofctl(8), ovs-vsctl(8), ovs-test,
       ethtool(8), uname(1)

AUTHOR         top

       The Open vSwitch Development Community

COPYRIGHT         top

       2016-2021, The Open vSwitch Development Community

COLOPHON         top

       This page is part of the Open vSwitch (a distributed virtual
       multilayer switch) project.  Information about the project can be
       found at ⟨http://openvswitch.org/⟩.  If you have a bug report for
       this manual page, send it to bugs@openvswitch.org.  This page was
       obtained from the project's upstream Git repository
       ⟨https://github.com/openvswitch/ovs.git⟩ on 2023-06-23.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2023-06-21.)  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

3.1.90                        Jun 22, 2023              OVS-VLAN-TEST(8)

Pages that refer to this page: ovs-l3ping(8)