[ovs-dev] [4806] vswitchd: Initialize configuration on active-backup bonds.

Ethan Jackson ethan at nicira.com
Fri Mar 4 19:37:04 UTC 2011


Some configuration settings which were not balance-[slb|tcp]
specific were only initialized for these bond types.

Bug #4806.
---
How about something like this?  I think its fine not to guard the fake iface
update.  Everything else is easily handled.

Ethan
---
 vswitchd/bridge.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index eadafb0..11ee3c1 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -4537,19 +4537,25 @@ port_update_bonding(struct port *port)
                 e->iface_idx = -1;
                 e->tx_bytes = 0;
             }
-            port->no_ifaces_tag = tag_create_random();
-            bond_choose_active_iface(port);
             port->bond_next_rebalance
                 = time_msec() + port->bond_rebalance_interval;
-
-            if (port->cfg->bond_fake_iface) {
-                port->bond_next_fake_iface_update = time_msec();
-            }
         } else if (port->bond_mode == BM_AB) {
             free(port->bond_hash);
             port->bond_hash = NULL;
         }
+
+        if (!port->no_ifaces_tag) {
+            port->no_ifaces_tag = tag_create_random();
+        }
+
+        if (port->active_iface < 0) {
+            bond_choose_active_iface(port);
+        }
+
         port->bond_fake_iface = port->cfg->bond_fake_iface;
+        if (port->bond_fake_iface) {
+            port->bond_next_fake_iface_update = time_msec();
+        }
 
         if (!port->miimon) {
             port->monitor = netdev_monitor_create();
-- 
1.7.4.1





More information about the dev mailing list