From 4cf7aabac84e724929f9ab4031f0ea07a2cd0f1c Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp@nicira.com>
Date: Mon, 12 Dec 2011 14:44:23 -0800
Subject: [PATCH] bridge: Enable support for access and native VLAN ports on
 bonds.

Since Open vSwitch's inception we've disabled the use of bonds as access
ports, for no particularly good reason.  This also unintentionally
prevented bonds from being used as native VLAN ports.

This commit removes the code that prevented using bonds these ways

Reported-and-tested-by: "Michael A. Collins" <mike.a.collins@ark-net.org>
Signed-off-by: Ben Pfaff <blp@nicira.com>
---
 AUTHORS           |  1 +
 vswitchd/bridge.c | 13 ++-----------
 2 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index f7bdc45e1..29de8bf42 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -89,6 +89,7 @@ John Galgay             john@galgay.net
 Koichi Yagishita        yagishita.koichi@jrc.co.jp
 Krishna Miriyala        krishna@nicira.com
 Luiz Henrique Ozaki     luiz.ozaki@gmail.com
+Michael A. Collins      mike.a.collins@ark-net.org
 Michael Hu              mhu@nicira.com
 Michael Mao             mmao@nicira.com
 Murphy McCauley         murphy.mccauley@gmail.com
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index adf01f7fe..de773f61e 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -539,17 +539,8 @@ port_configure(struct port *port)
 
     /* Get VLAN tag. */
     s.vlan = -1;
-    if (cfg->tag) {
-        if (list_is_short(&port->ifaces)) {
-            if (*cfg->tag >= 0 && *cfg->tag <= 4095) {
-                s.vlan = *cfg->tag;
-            }
-        } else {
-            /* It's possible that bonded, VLAN-tagged ports make sense.  Maybe
-             * they even work as-is.  But they have not been tested. */
-            VLOG_WARN("port %s: VLAN tags not supported on bonded ports",
-                      port->name);
-        }
+    if (cfg->tag && *cfg->tag >= 0 && *cfg->tag <= 4095) {
+        s.vlan = *cfg->tag;
     }
 
     /* Get VLAN trunks. */
-- 
2.47.0