[ovs-dev] [PATCH] ovs-vlan-bug-workaround: Remove.

Gregory Rose gvrose8192 at gmail.com
Mon Oct 14 22:18:01 UTC 2019


On 10/10/2019 12:07 PM, Ben Pfaff wrote:
> 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.
>
> Signed-off-by: Ben Pfaff <blp at ovn.org>

Nice.

I applied the patch and compile tested it.  I then ran 'make check' and 
'make check-kmod' and found no regression
or other issues.  Reviewing the code it looks fine to me - reviewing 
patches that remove stuff is easier.

Thanks Ben, always a plus to get rid of old gunk.

Tested-by: Greg Rose <gvrose8192 at gmail.com>
Reviewed-by: Greg Rose <gvrose8192 at gmail.com>

> ---
>   Documentation/faq/vlan.rst                    |  40 -----
>   Documentation/ref/index.rst                   |   4 -
>   acinclude.m4                                  |   2 -
>   manpages.mk                                   |  10 --
>   rhel/openvswitch-fedora.spec.in               |   4 +-
>   rhel/openvswitch.spec.in                      |   4 +-
>   tests/interface-reconfigure.at                |   9 +-
>   utilities/.gitignore                          |   2 -
>   utilities/automake.mk                         |   8 -
>   utilities/ovs-vlan-bug-workaround.8.in        |  86 -----------
>   utilities/ovs-vlan-bug-workaround.c           | 145 ------------------
>   utilities/ovs-vlan-bugs.man                   |  22 ---
>   xenserver/openvswitch-xen.spec.in             |   2 -
>   ...rce_libexec_InterfaceReconfigureVswitch.py |   6 -
>   14 files changed, 3 insertions(+), 341 deletions(-)
>   delete mode 100644 utilities/ovs-vlan-bug-workaround.8.in
>   delete mode 100644 utilities/ovs-vlan-bug-workaround.c
>   delete mode 100644 utilities/ovs-vlan-bugs.man
>
> diff --git a/Documentation/faq/vlan.rst b/Documentation/faq/vlan.rst
> index 80e6660f5e77..d64db7a0d321 100644
> --- a/Documentation/faq/vlan.rst
> +++ b/Documentation/faq/vlan.rst
> @@ -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.
> diff --git a/Documentation/ref/index.rst b/Documentation/ref/index.rst
> index 0cb5ef571676..83f031c4f646 100644
> --- a/Documentation/ref/index.rst
> +++ b/Documentation/ref/index.rst
> @@ -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>`__
> diff --git a/acinclude.m4 b/acinclude.m4
> index 52f92870eaaa..b3e5f94690c8 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -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])
> diff --git a/manpages.mk b/manpages.mk
> index b43deaef1ae5..281ebd8fe946 100644
> --- a/manpages.mk
> +++ b/manpages.mk
> @@ -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 \
> diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
> index 229bb22148ec..80010a41bd0b 100644
> --- a/rhel/openvswitch-fedora.spec.in
> +++ b/rhel/openvswitch-fedora.spec.in
> @@ -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}
> diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
> index 27935f81ed92..4b6b585c45a0 100644
> --- a/rhel/openvswitch.spec.in
> +++ b/rhel/openvswitch.spec.in
> @@ -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)
>   
> diff --git a/tests/interface-reconfigure.at b/tests/interface-reconfigure.at
> index f4ceb284af4d..12b66dc0fc43 100644
> --- a/tests/interface-reconfigure.at
> +++ b/tests/interface-reconfigure.at
> @@ -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'
> @@ -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
> @@ -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
> @@ -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
> @@ -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
> diff --git a/utilities/.gitignore b/utilities/.gitignore
> index 10185c5d81d2..0a11356d4b29 100644
> --- a/utilities/.gitignore
> +++ b/utilities/.gitignore
> @@ -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
> diff --git a/utilities/automake.mk b/utilities/automake.mk
> index 0660c078d259..37a59cfea451 100644
> --- a/utilities/automake.mk
> +++ b/utilities/automake.mk
> @@ -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 \
> @@ -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 += \
> @@ -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
> @@ -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
> diff --git a/utilities/ovs-vlan-bug-workaround.8.in b/utilities/ovs-vlan-bug-workaround.8.in
> deleted file mode 100644
> index 4bb4bb77332c..000000000000
> --- a/utilities/ovs-vlan-bug-workaround.8.in
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -.\" -*- nroff -*-
> -.so lib/ovs.tmac
> -.TH ovs\-vlan\-bug\-workaround 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
> -.ds PN ovs\-vlan\-bug\-workaround
> -.
> -.SH NAME
> -ovs\-vlan\-bug\-workaround \- utility for configuring Linux VLAN driver bug workaround
> -.
> -.SH SYNOPSIS
> -\fBovs\-vlan\-bug\-workaround \fInetdev\fR \fBon\fR
> -.br
> -\fBovs\-vlan\-bug\-workaround \fInetdev\fR \fBoff\fR
> -.br
> -\fBovs\-vlan\-bug\-workaround \-\-help
> -.br
> -\fBovs\-vlan\-bug\-workaround \-\-version
> -.SH DESCRIPTION
> -.
> -.PP
> -Some Linux network drivers support a feature called ``VLAN
> -acceleration''.  VLAN acceleration is associated with a data structure
> -called a \fBvlan_group\fR 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. \fBeth0.9\fR for VLAN 9 on \fBeth0\fR.
> -.PP
> -Some drivers that support VLAN acceleration have bugs that fall
> -roughly into the categories listed below.  \fBovs\-vlan\-test\fR(8)
> -can test for these driver bugs.
> -.so utilities/ovs-vlan-bugs.man
> -.PP
> -.PP
> -The correct long term solution is to fix these driver bugs.
> -.PP
> -For now, \fBovs\-vlan\-bug\-workaround\fR can enable a special-purpose
> -workaround for devices with buggy VLAN acceleration.  A kernel patch
> -must be applied for this workaround to work.
> -.PP
> -Use the command \fBovs\-vlan\-bug\-workaround \fInetdev\fR \fBon\fR to
> -enable the VLAN driver bug workaround for network device \fInetdev\fR.
> -Use the command \fBovs\-vlan\-bug\-workaround \fInetdev\fR \fBoff\fR to
> -disable the VLAN driver bug workaround for network device \fInetdev\fR.
> -.SH "DRIVER DETAILS"
> -.PP
> -The following drivers in Linux version
> -2.6.32.12-0.7.1.xs1.0.0.311.170586 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., \fBethtool \-i\fR output; in a few cases
> -this differs slightly from the name of the module's \fB.ko\fR file:
> -.
> -.nf
> -.ta T 1i
> -\fB8139cp	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
> -.fi
> -.PP
> -The following drivers use \fBvlan_group\fR but are irrelevant to Open
> -vSwitch on XenServer:
> -.IP "\fBbonding\fR"
> -Not used with Open vSwitch on XenServer.
> -.IP "\fBgianfar\fR"
> -Not shipped with XenServer.  A FreeScale CPU-integrated device.
> -.IP "\fBehea\fR"
> -Cannot be built on x86.  IBM Power architecture only.
> -.IP "\fBstmmac\fR"
> -Cannot be built on x86.  SH4 architecture only.
> -.IP "\fBvmxnet3\fR"
> -Not shipped with XenServer.  For use inside VMware VMs only.
> -.
> -.SH OPTIONS
> -.
> -.so lib/common.man
> -.
> -.SH BUGS
> -.
> -Obviously.
> -.
> -.SH "SEE ALSO"
> -.
> -.BR ovs\-vlan\-test (8).
> diff --git a/utilities/ovs-vlan-bug-workaround.c b/utilities/ovs-vlan-bug-workaround.c
> deleted file mode 100644
> index add800e56633..000000000000
> --- a/utilities/ovs-vlan-bug-workaround.c
> +++ /dev/null
> @@ -1,145 +0,0 @@
> -/*
> - * Copyright (c) 2011 Nicira, Inc.
> - *
> - * Licensed under the Apache License, Version 2.0 (the "License");
> - * you may not use this file except in compliance with the License.
> - * You may obtain a copy of the License at:
> - *
> - *     http://www.apache.org/licenses/LICENSE-2.0
> - *
> - * Unless required by applicable law or agreed to in writing, software
> - * distributed under the License is distributed on an "AS IS" BASIS,
> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> - * See the License for the specific language governing permissions and
> - * limitations under the License.
> - */
> -
> -#include <config.h>
> -
> -#include <errno.h>
> -#include <getopt.h>
> -#include <linux/if_vlan.h>
> -#include <linux/sockios.h>
> -#include <net/if.h>
> -#include <stdlib.h>
> -#include <sys/ioctl.h>
> -#include <sys/socket.h>
> -#include <stdio.h>
> -#include <string.h>
> -#include <unistd.h>
> -
> -#include "command-line.h"
> -#include "util.h"
> -
> -#define ADD_ALL_VLANS_CMD 10
> -#define DEL_ALL_VLANS_CMD 11
> -
> -static void usage(void);
> -static void parse_options(int argc, char *argv[]);
> -
> -int
> -main(int argc, char *argv[])
> -{
> -    struct vlan_ioctl_args vlan_args;
> -    const char *netdev, *setting;
> -    int fd;
> -
> -    set_program_name(argv[0]);
> -
> -    parse_options(argc, argv);
> -    if (argc - optind != 2) {
> -        ovs_fatal(0, "exactly two non-option arguments are required "
> -                  "(use --help for help)");
> -    }
> -
> -    memset(&vlan_args, 0, sizeof vlan_args);
> -
> -    /* Get command. */
> -    setting = argv[optind + 1];
> -    if (!strcmp(setting, "on")) {
> -        vlan_args.cmd = ADD_ALL_VLANS_CMD;
> -    } else if (!strcmp(setting, "off")) {
> -        vlan_args.cmd = DEL_ALL_VLANS_CMD;
> -    } else {
> -        ovs_fatal(0, "second command line argument must be \"on\" or \"off\" "
> -                  "(not \"%s\")", setting);
> -    }
> -
> -    /* Get network device name. */
> -    netdev = argv[optind];
> -    if (strlen(netdev) >= IFNAMSIZ) {
> -        ovs_fatal(0, "%s: network device name too long", netdev);
> -    }
> -    strcpy(vlan_args.device1, netdev);
> -
> -    /* Execute operation. */
> -    fd = socket(AF_INET, SOCK_STREAM, 0);
> -    if (fd < 0) {
> -        ovs_fatal(errno, "socket creation failed");
> -    }
> -    if (ioctl(fd, SIOCSIFVLAN, &vlan_args) < 0) {
> -        if (errno == ENOPKG) {
> -            ovs_fatal(0, "operation failed (8021q module not loaded)");
> -        } else if (errno == EOPNOTSUPP) {
> -            ovs_fatal(0, "operation failed (kernel does not support the "
> -                      "VLAN bug workaround)");
> -        } else {
> -            ovs_fatal(errno, "operation failed");
> -        }
> -    }
> -    close(fd);
> -
> -    return 0;
> -}
> -
> -static void
> -usage(void)
> -{
> -    printf("\
> -%s, for enabling or disabling the kernel VLAN bug workaround\n\
> -usage: %s NETDEV SETTING\n\
> -where NETDEV is a network device (e.g. \"eth0\")\n\
> -  and SETTING is \"on\" to enable the workaround or \"off\" to disable it.\n\
> -\n\
> -Options:\n\
> -  -h, --help         Print this helpful information\n\
> -  -V, --version      Display version information\n",
> -           program_name, program_name);
> -    exit(EXIT_SUCCESS);
> -}
> -
> -static void
> -parse_options(int argc, char *argv[])
> -{
> -    static const struct option long_options[] = {
> -        {"help", no_argument, NULL, 'h'},
> -        {"version", no_argument, NULL, 'V'},
> -        {NULL, 0, NULL, 0},
> -    };
> -    char *short_options = ovs_cmdl_long_options_to_short_options(long_options);
> -
> -    for (;;) {
> -        int option;
> -
> -        option = getopt_long(argc, argv, "+t:hVe", long_options, NULL);
> -        if (option == -1) {
> -            break;
> -        }
> -        switch (option) {
> -        case 'h':
> -            usage();
> -            break;
> -
> -        case 'V':
> -            ovs_print_version(0, 0);
> -            exit(EXIT_SUCCESS);
> -
> -        case '?':
> -            exit(EXIT_FAILURE);
> -
> -        default:
> -            OVS_NOT_REACHED();
> -        }
> -    }
> -    free(short_options);
> -}
> diff --git a/utilities/ovs-vlan-bugs.man b/utilities/ovs-vlan-bugs.man
> deleted file mode 100644
> index 1e62d16ef05e..000000000000
> --- a/utilities/ovs-vlan-bugs.man
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -.IP \(bu
> -When NICs use VLAN stripping on receive they must pass a pointer to a
> -\fBvlan_group\fR when reporting the stripped tag to the networking
> -core.  If no \fBvlan_group\fR is in use then some drivers just drop
> -the extracted tag.  Drivers are supposed to only enable stripping if a
> -\fBvlan_group\fR is registered but not all of them do that.
> -.
> -.IP \(bu
> -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.
> -.
> -.IP \(bu
> -Some drivers size their receive buffers based on whether a
> -\fBvlan_group\fR is enabled, meaning that a maximum size packet with a
> -VLAN tag will not fit if no \fBvlan_group\fR is 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 \fBvlan_group\fR is
> -configured.  In these cases, the driver may fail to parse the packet
> -and correctly setup checksum offloading or TSO.
> diff --git a/xenserver/openvswitch-xen.spec.in b/xenserver/openvswitch-xen.spec.in
> index cdc341dcc3d3..4d21c6364ffc 100644
> --- a/xenserver/openvswitch-xen.spec.in
> +++ b/xenserver/openvswitch-xen.spec.in
> @@ -459,7 +459,6 @@ exit 0
>   /usr/share/openvswitch/vswitch.ovsschema
>   /usr/share/openvswitch/vtep.ovsschema
>   /usr/sbin/ovs-bugtool
> -/usr/sbin/ovs-vlan-bug-workaround
>   /usr/sbin/ovs-vswitchd
>   /usr/sbin/ovsdb-server
>   /usr/bin/ovs-appctl
> @@ -493,7 +492,6 @@ exit 0
>   /usr/share/man/man8/ovs-parse-backtrace.8.gz
>   /usr/share/man/man1/ovs-pcap.1.gz
>   /usr/share/man/man1/ovs-tcpundump.1.gz
> -/usr/share/man/man8/ovs-vlan-bug-workaround.8.gz
>   /usr/share/man/man8/ovs-vlan-test.8.gz
>   /usr/share/man/man8/ovs-vsctl.8.gz
>   /usr/share/man/man8/ovs-vswitchd.8.gz
> diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
> index 53468b7064e5..9ada3776f82a 100644
> --- a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
> +++ b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
> @@ -632,12 +632,6 @@ class DatapathVswitch(Datapath):
>               else:
>                   vlan_bug_workaround = netdev_has_vlan_accel(dev)
>   
> -            if vlan_bug_workaround:
> -                setting = 'on'
> -            else:
> -                setting = 'off'
> -            run_command(['/usr/sbin/ovs-vlan-bug-workaround', dev, setting])
> -
>           datapath_modify_config(self._vsctl_argv)
>           if self._bridge_flows:
>               ofports = []



More information about the dev mailing list