vswitch: Correctly identify slave status in /proc compatibility layer
[openvswitch] / vswitchd / bridge.c
index 6ee2ef5e694c796a0609a9f87e4df5144e45ef50..c39670a3b2a0d90f01a470e26cf8fa40479a9fd4 100644 (file)
@@ -1525,6 +1525,7 @@ bond_enable_slave(struct iface *iface, bool enable)
         }
         iface->tag = tag_create_random();
     }
+    port_update_bond_compat(port);
 }
 
 static void
@@ -1891,7 +1892,7 @@ process_flow(struct bridge *br, const flow_t *flow,
             goto done;
         } else {
             /* Drop all multicast packets for which we have learned a different
-             * input port, because we probably sent the packet on one slaves
+             * input port, because we probably sent the packet on one slave
              * and got it back on the active slave.  Broadcast ARP replies are
              * an exception to this rule: the host has moved to another
              * switch. */
@@ -2977,8 +2978,7 @@ port_update_bond_compat(struct port *port)
         struct iface *iface = port->ifaces[i];
         struct compat_bond_slave *slave = &bond.slaves[i];
         slave->name = iface->name;
-        slave->up = ((iface->enabled && iface->delay_expires == LLONG_MAX) ||
-                     (!iface->enabled && iface->delay_expires != LLONG_MAX));
+        slave->up = iface->enabled;
         if (slave->up) {
             bond.up = true;
         }