]> git.proxmox.com Git - mirror_ovs.git/commitdiff
ovs-vlan-bug-workaround: Remove.
authorBen Pfaff <blp@ovn.org>
Thu, 10 Oct 2019 19:07:27 +0000 (12:07 -0700)
committerBen Pfaff <blp@ovn.org>
Mon, 14 Oct 2019 22:34:53 +0000 (15:34 -0700)
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 <gvrose8192@gmail.com>
Reviewed-by: Greg Rose <gvrose8192@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
14 files changed:
Documentation/faq/vlan.rst
Documentation/ref/index.rst
acinclude.m4
manpages.mk
rhel/openvswitch-fedora.spec.in
rhel/openvswitch.spec.in
tests/interface-reconfigure.at
utilities/.gitignore
utilities/automake.mk
utilities/ovs-vlan-bug-workaround.8.in [deleted file]
utilities/ovs-vlan-bug-workaround.c [deleted file]
utilities/ovs-vlan-bugs.man [deleted file]
xenserver/openvswitch-xen.spec.in
xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py

index 80e6660f5e77683a0f395a8a800348a785b81f12..d64db7a0d32198fdb0c7ac3d5ac9a3f6fc823810 100644 (file)
@@ -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.
index 0cb5ef571676bad58f25b715eb573c547f6c82df..83f031c4f6463f85f27d52514a480b779ee9f3e3 100644 (file)
@@ -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>`__
index 52f92870eaaa6130aff49418cefbb29d1e61fca5..b3e5f94690c82e5542b6b583a3d571c7746558ac 100644 (file)
@@ -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])
index b43deaef1ae570be540b162a8b16d74c9c649e43..281ebd8fe946020679adc375147cd4af7d19e443 100644 (file)
@@ -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 \
index 229bb22148ec7991523f52fcf2160ed90c09ec6f..80010a41bd0b0f9e756f9e4bbb2c50e9362a3a02 100644 (file)
@@ -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}
index 27935f81ed92410b976984aff16f8b715ef24a92..4b6b585c45a07e70b8b4bd310222b0302883ff1e 100644 (file)
@@ -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)
 
index f4ceb284af4d48ba1031b800f2dc0f70f2d42790..12b66dc0fc4359875269ea31cdf351a32cb91ee6 100644 (file)
@@ -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
index 10185c5d81d27175aa9155c9c76c5159172da412..0a11356d4b29d071888020097de9d7fc06ac8efe 100644 (file)
@@ -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
index 0660c078d259def713d971169c86ffddafe83660..37a59cfea4510b6facf1a2463467306bccc7839a 100644 (file)
@@ -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 (file)
index 4bb4bb7..0000000
+++ /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 (file)
index add800e..0000000
+++ /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 (file)
index 1e62d16..0000000
+++ /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.
index cdc341dcc3d31ed3a813e40ae516102d78971d66..4d21c6364ffc2128d20831cdfffc1ba875f29d14 100644 (file)
@@ -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
index 53468b7064e55a9caacf9046533ae8d6e7d16822..9ada3776f82a1748d3714d1f9a73575251e84d46 100644 (file)
@@ -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 = []