vswitchd: Update lacp before bonding.
authorEthan Jackson <ethan@nicira.com>
Wed, 9 Mar 2011 01:20:01 +0000 (17:20 -0800)
committerEthan Jackson <ethan@nicira.com>
Thu, 17 Mar 2011 19:53:27 +0000 (12:53 -0700)
Bonding requires lacp attached status to make decisions about which
links are enabled.  However, LACP does not require any bonding
related information (other than which links are aggregated) to
perform.  Having them reversed causes some subtle bugs in the
bonding code's responsiveness to LACP changes.

vswitchd/bridge.c

index 47d4bdd7860dac04d3fed3dd946cebd0874ff852..c6244331d558421e706a7fa18fc3e4863c83f5a9 100644 (file)
@@ -923,8 +923,8 @@ bridge_reconfigure(const struct ovsrec_open_vswitch *ovs_cfg)
                 port->miimon_next_update = 0;
             }
 
                 port->miimon_next_update = 0;
             }
 
-            port_update_bonding(port);
             port_update_lacp(port);
             port_update_lacp(port);
+            port_update_bonding(port);
 
             for (j = 0; j < port->n_ifaces; j++) {
                 iface_update_qos(port->ifaces[j], port->cfg->qos);
 
             for (j = 0; j < port->n_ifaces; j++) {
                 iface_update_qos(port->ifaces[j], port->cfg->qos);