.TH ovs\-vlan\-test 1 "December 2010" "Open vSwitch" "Open vSwitch Manual" . .SH NAME \fBovs\-vlan\-test\fR \- check Linux drivers for problems with vlan traffic . .SH SYNOPSIS \fBovs\-vlan\-test\fR [\fB\-s\fR | \fB\-\-server\fR] \fIcontrol_ip\fR \fIvlan_ip\fR .so lib/common-syn.man . .SH DESCRIPTION The \fBovs\-vlan\-test\fR 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 \fIvlan_ip\fR and forward it out the target interface. Then run the \fBovs\-vlan\-test\fR in client mode connecting to an \fBovs\-vlan\-test\fR server. \fBovs\-vlan\-test\fR will display "OK" if it did not detect problems. .PP Some examples of the types of problems that may be encountered are: .IP \(bu 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 there is no vlan group 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. . .IP \(bu 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. . .IP \(bu 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. . .SS "Client Mode" An \fBovs\-vlan\-test\fR client may be run on a host to check for VLAN connectivity problems. The client must be able to establish HTTP connections with an \fBovs\-vlan\-test\fR server located at the specified \fIcontrol_ip\fR address. UDP traffic sourced at \fIvlan_ip\fR should be tagged and directed out the interface whose connectivity is being tested. . .SS "Server Mode" To conduct tests, an \fBovs\-vlan\-test\fR server must be running on a host known not to have VLAN connectivity problems. The server must have a \fIcontrol_ip\fR on a non\-VLAN network which clients can establish connectivity with. It must also have a \fIvlan_ip\fR address on a VLAN network which clients will use to test their VLAN connectivity. Multiple clients may test against a single \fBovs\-vlan\-test\fR server concurrently. . .SH OPTIONS . .TP \fB\-s\fR, \fB\-\-server\fR Run in server mode. . .so lib/common.man .SH EXAMPLES Display the Linux kernel version and driver of \fBeth1\fR. .IP .B uname \-r .IP .B ethtool \-i eth1 . .PP Set up a bridge which forwards traffic originating from \fB1.2.3.4\fR out \fBeth1\fR with VLAN tag 10. .IP .B ovs\-vsctl \-\- add\-br vlan\-br \(rs .IP .B \-\- add\-port vlan\-br eth1 \(rs .IP .B \-\- add\-port vlan\-br vlan\-br\-tag tag=10 \(rs .IP .B \-\- set Interface vlan\-br\-tag type=internal .IP .B ifconfig vlan\-br\-tag up 5.6.7.8 . .PP Run an \fBovs\-vlan\-test\fR server listening for client control traffic on 5.6.7.8 port 80 and VLAN traffic on the default port of 1.2.3.0. .IP .B ovs\-vlan\-test \-s 5.6.7.8:80 1.2.3.0 . .PP Run an \fBovs\-vlan\-test\fR client with a control server located at 5.6.7.8 port 80 and a local VLAN ip of 1.2.3.4. .IP .B ovs\-vlan\-test 5.6.7.8:80 1.2.3.4 . .TP .SH SEE ALSO . .BR ovs\-vswitchd (8), .BR ovs\-ofctl (8), .BR ovs\-vsctl (8), .BR ethtool (8), .BR uname (1)