Skip to content

Commit

Permalink
ovs-vlan-bug-workaround: Remove.
Browse files Browse the repository at this point in the history
This workaround only applied to kernels earlier than 2.6.37, but OVS
only supports 3.10 and later.

As the original author of this code, I won't miss it.

Tested-by: Greg Rose <[email protected]>
Reviewed-by: Greg Rose <[email protected]>
Signed-off-by: Ben Pfaff <[email protected]>
  • Loading branch information
blp committed Oct 14, 2019
1 parent 622ea8f commit 36e5d97
Show file tree
Hide file tree
Showing 14 changed files with 3 additions and 341 deletions.
40 changes: 0 additions & 40 deletions Documentation/faq/vlan.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,46 +77,6 @@ Q: What's a VLAN?

Q: VLANs don't work.

A: Many drivers in Linux kernels before version 3.3 had VLAN-related bugs.
If you are having problems with VLANs that you suspect to be driver
related, then you have several options:

- Upgrade to Linux 3.3 or later.

- Build and install a fixed version of the particular driver that is
causing trouble, if one is available.

- Use a NIC whose driver does not have VLAN problems.

- Use "VLAN splinters", a feature in Open vSwitch 1.4 upto 2.5 that works
around bugs in kernel drivers. To enable VLAN splinters on interface
eth0, use the command::

$ ovs-vsctl set interface eth0 other-config:enable-vlan-splinters=true

For VLAN splinters to be effective, Open vSwitch must know which VLANs
are in use. See the "VLAN splinters" section in the Interface table in
ovs-vswitchd.conf.db(5) for details on how Open vSwitch infers in-use
VLANs.

VLAN splinters increase memory use and reduce performance, so use them
only if needed.

- Apply the "vlan workaround" patch from the XenServer kernel patch queue,
build Open vSwitch against this patched kernel, and then use
ovs-vlan-bug-workaround(8) to enable the VLAN workaround for each
interface whose driver is buggy.

(This is a nontrivial exercise, so this option is included only for
completeness.)

It is not always easy to tell whether a Linux kernel driver has buggy VLAN
support. The ovs-vlan-test(8) and ovs-test(8) utilities can help you test.
See their manpages for details. Of the two utilities, ovs-test(8) is newer
and more thorough, but ovs-vlan-test(8) may be easier to use.

Q: VLANs still don't work. I've tested the driver so I know that it's OK.

A: Do you have VLANs enabled on the physical switch that OVS is attached
to? Make sure that the port is configured to trunk the VLAN or VLANs that
you are using with OVS.
Expand Down
4 changes: 0 additions & 4 deletions Documentation/ref/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,6 @@ The remainder are still in roff format can be found below:
- `(pdf) <http://www.openvswitch.org/support/dist-docs/ovs-testcontroller.8.pdf>`__
- `(html) <http://www.openvswitch.org/support/dist-docs/ovs-testcontroller.8.html>`__
- `(plain text) <http://www.openvswitch.org/support/dist-docs/ovs-testcontroller.8.txt>`__
* - ovs-vlan-bug-workaround(8)
- `(pdf) <http://www.openvswitch.org/support/dist-docs/ovs-vlan-bug-workaround.8.pdf>`__
- `(html) <http://www.openvswitch.org/support/dist-docs/ovs-vlan-bug-workaround.8.html>`__
- `(plain text) <http://www.openvswitch.org/support/dist-docs/ovs-vlan-bug-workaround.8.txt>`__
* - ovs-vlan-test(8)
- `(pdf) <http://www.openvswitch.org/support/dist-docs/ovs-vlan-test.8.pdf>`__
- `(html) <http://www.openvswitch.org/support/dist-docs/ovs-vlan-test.8.html>`__
Expand Down
2 changes: 0 additions & 2 deletions acinclude.m4
Original file line number Diff line number Diff line change
Expand Up @@ -847,8 +847,6 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
OVS_GREP_IFELSE([$KSRC/include/net/sctp/checksum.h], [sctp_compute_cksum])
OVS_GREP_IFELSE([$KSRC/include/linux/if_vlan.h], [ADD_ALL_VLANS_CMD],
[OVS_DEFINE([HAVE_VLAN_BUG_WORKAROUND])])
OVS_GREP_IFELSE([$KSRC/include/linux/if_vlan.h], [vlan_insert_tag_set_proto])
OVS_GREP_IFELSE([$KSRC/include/linux/if_vlan.h], [__vlan_insert_tag])
OVS_GREP_IFELSE([$KSRC/include/linux/if_vlan.h], [vlan_get_protocol])
Expand Down
10 changes: 0 additions & 10 deletions manpages.mk
Original file line number Diff line number Diff line change
Expand Up @@ -232,16 +232,6 @@ lib/vconn-active.man:
lib/vconn-passive.man:
lib/vlog.man:

utilities/ovs-vlan-bug-workaround.8: \
utilities/ovs-vlan-bug-workaround.8.in \
lib/common.man \
lib/ovs.tmac \
utilities/ovs-vlan-bugs.man
utilities/ovs-vlan-bug-workaround.8.in:
lib/common.man:
lib/ovs.tmac:
utilities/ovs-vlan-bugs.man:

utilities/ovs-vsctl.8: \
utilities/ovs-vsctl.8.in \
lib/common.man \
Expand Down
4 changes: 1 addition & 3 deletions rhel/openvswitch-fedora.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -268,9 +268,7 @@ install -p -D -m 0755 \
$RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload

# remove unpackaged files
rm -f $RPM_BUILD_ROOT%{_bindir}/ovs-parse-backtrace \
$RPM_BUILD_ROOT%{_sbindir}/ovs-vlan-bug-workaround \
$RPM_BUILD_ROOT%{_mandir}/man8/ovs-vlan-bug-workaround.8
rm -f $RPM_BUILD_ROOT%{_bindir}/ovs-parse-backtrace

%check
%if %{with check}
Expand Down
4 changes: 1 addition & 3 deletions rhel/openvswitch.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,7 @@ rm \
$RPM_BUILD_ROOT/usr/bin/ovs-test \
$RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
$RPM_BUILD_ROOT/usr/sbin/ovs-vlan-bug-workaround \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-vlan-bug-workaround.8
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8
(cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
(cd "$RPM_BUILD_ROOT" && rm -rf usr/include)

Expand Down
9 changes: 1 addition & 8 deletions tests/interface-reconfigure.at
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ EOF
sbin/ip \
sbin/update-issue \
sbin/vconfig \
usr/sbin/brctl \
usr/sbin/ovs-vlan-bug-workaround
usr/sbin/brctl
do
mkdir -p `dirname $utility`
cat > $utility <<'EOF'
Expand Down Expand Up @@ -716,7 +715,6 @@ Applying changes to /etc/sysconfig/network configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
/sbin/ip link set eth2 up mtu 1500
/sbin/ethtool -K eth2 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth2 on
/usr/bin/ovs-vsctl --timeout=20
--with-iface --if-exists del-port eth2
--may-exist add-br xenbr2
Expand Down Expand Up @@ -791,7 +789,6 @@ Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
/sbin/ip link set eth3 up mtu 1500
/sbin/ethtool -K eth3 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth3 on
/usr/bin/ovs-vsctl --timeout=20
--with-iface --if-exists del-port eth3
--may-exist add-br xenbr3
Expand Down Expand Up @@ -877,10 +874,8 @@ Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
/sbin/ip link set eth0 up mtu 1500
/sbin/ethtool -K eth0 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth0 on
/sbin/ip link set eth1 up mtu 1500
/sbin/ethtool -K eth1 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth1 off
/usr/bin/ovs-vsctl --timeout=20
--if-exists del-br xenbr0
--if-exists del-br xenbr1
Expand Down Expand Up @@ -967,10 +962,8 @@ Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
/sbin/ip link set eth0 up mtu 1500
/sbin/ethtool -K eth0 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth0 on
/sbin/ip link set eth1 up mtu 1500
/sbin/ethtool -K eth1 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth1 off
/usr/bin/ovs-vsctl --timeout=20
--if-exists del-br xenbr0
--if-exists del-br xenbr1
Expand Down
2 changes: 0 additions & 2 deletions utilities/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@
/ovs-tcpdump.8
/ovs-tcpundump
/ovs-tcpundump.1
/ovs-vlan-bug-workaround
/ovs-vlan-bug-workaround.8
/ovs-vlan-test
/ovs-vlan-test.8
/ovs-vsctl
Expand Down
8 changes: 0 additions & 8 deletions utilities/automake.mk
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,7 @@ MAN_ROOTS += \
utilities/ovs-pki.8.in \
utilities/ovs-tcpdump.8.in \
utilities/ovs-tcpundump.1.in \
utilities/ovs-vlan-bug-workaround.8.in \
utilities/ovs-vsctl.8.in
MAN_FRAGMENTS += utilities/ovs-vlan-bugs.man
CLEANFILES += \
utilities/ovs-appctl.8 \
utilities/ovs-ctl \
Expand All @@ -104,7 +102,6 @@ CLEANFILES += \
utilities/ovs-tcpundump.1 \
utilities/ovs-test \
utilities/ovs-vlan-test \
utilities/ovs-vlan-bug-workaround.8 \
utilities/ovs-vsctl.8

man_MANS += \
Expand All @@ -121,7 +118,6 @@ man_MANS += \
utilities/ovs-pki.8 \
utilities/ovs-tcpdump.8 \
utilities/ovs-tcpundump.1 \
utilities/ovs-vlan-bug-workaround.8 \
utilities/ovs-vsctl.8

utilities_ovs_appctl_SOURCES = utilities/ovs-appctl.c
Expand All @@ -142,10 +138,6 @@ utilities_ovs_vsctl_SOURCES = utilities/ovs-vsctl.c
utilities_ovs_vsctl_LDADD = lib/libopenvswitch.la

if LINUX
sbin_PROGRAMS += utilities/ovs-vlan-bug-workaround
utilities_ovs_vlan_bug_workaround_SOURCES = utilities/ovs-vlan-bug-workaround.c
utilities_ovs_vlan_bug_workaround_LDADD = lib/libopenvswitch.la

noinst_PROGRAMS += utilities/nlmon
utilities_nlmon_SOURCES = utilities/nlmon.c
utilities_nlmon_LDADD = lib/libopenvswitch.la
Expand Down
86 changes: 0 additions & 86 deletions utilities/ovs-vlan-bug-workaround.8.in

This file was deleted.

Loading

0 comments on commit 36e5d97

Please sign in to comment.