lacp: Remove heartbeat mode.
authorEthan Jackson <ethan@nicira.com>
Mon, 16 Apr 2012 22:01:09 +0000 (15:01 -0700)
committerEthan Jackson <ethan@nicira.com>
Tue, 17 Apr 2012 20:36:32 +0000 (13:36 -0700)
The LACP heartbeat mode was used to monitor interfaces for
connectivity.  It turns out that LACP is inferior to CFM for this
purpose.  For the sake of simplicity this patch removes the
feature.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
lib/lacp.c
lib/lacp.h
vswitchd/bridge.c
vswitchd/vswitch.xml

index 89e70b75682e58f6e36c554f7a3b82c8ce22da35..9d6fb9b18df568ca4e9e647f3bb62b365a9d01ac 100644 (file)
@@ -101,7 +101,6 @@ struct lacp {
     bool fast;               /* True if using fast probe interval. */
     bool negotiated;         /* True if LACP negotiations were successful. */
     bool update;             /* True if lacp_update() needs to be called. */
-    bool heartbeat;          /* LACP heartbeat mode. */
 };
 
 struct slave {
@@ -232,11 +231,9 @@ lacp_configure(struct lacp *lacp, const struct lacp_settings *s)
     }
 
     if (!eth_addr_equals(lacp->sys_id, s->id)
-        || lacp->sys_priority != s->priority
-        || lacp->heartbeat != s->heartbeat) {
+        || lacp->sys_priority != s->priority) {
         memcpy(lacp->sys_id, s->id, ETH_ADDR_LEN);
         lacp->sys_priority = s->priority;
-        lacp->heartbeat = s->heartbeat;
         lacp->update = true;
     }
 
@@ -474,13 +471,6 @@ lacp_update_attached(struct lacp *lacp)
     struct lacp_info lead_pri;
     static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 10);
 
-    if (lacp->heartbeat) {
-        HMAP_FOR_EACH (slave, node, &lacp->slaves) {
-            slave->attached = slave->status != LACP_DEFAULTED;
-        }
-        return;
-    }
-
     lacp->update = false;
 
     lead = NULL;
@@ -593,7 +583,7 @@ slave_get_actor(struct slave *slave, struct lacp_info *actor)
         state |= LACP_STATE_EXP;
     }
 
-    if (lacp->heartbeat || hmap_count(&lacp->slaves) > 1) {
+    if (hmap_count(&lacp->slaves) > 1) {
         state |= LACP_STATE_AGG;
     }
 
@@ -747,9 +737,6 @@ lacp_print_details(struct ds *ds, struct lacp *lacp)
 
     ds_put_format(ds, "---- %s ----\n", lacp->name);
     ds_put_format(ds, "\tstatus: %s", lacp->active ? "active" : "passive");
-    if (lacp->heartbeat) {
-        ds_put_cstr(ds, " heartbeat");
-    }
     if (lacp->negotiated) {
         ds_put_cstr(ds, " negotiated");
     }
index d408298431833b5e0f992321332439dd89ea8d08..5e1982601f4a8774497da9c6697eab05acf13fb8 100644 (file)
@@ -35,7 +35,6 @@ struct lacp_settings {
     uint16_t priority;                /* System priority. */
     bool active;                      /* Active or passive mode? */
     bool fast;                        /* Fast or slow probe interval. */
-    bool heartbeat;                   /* Heartbeat mode. */
 };
 
 void lacp_init(void);
index c7349a4dc18602cf13243d2635e34753836c637c..f4a10e6aeb9394957ec755f05753a145fc25c948 100644 (file)
@@ -2859,11 +2859,6 @@ port_configure_lacp(struct port *port, struct lacp_settings *s)
                    ? priority
                    : UINT16_MAX - !list_is_short(&port->ifaces));
 
-    s->heartbeat = !strcmp(ovsrec_port_get_other_config_value(port->cfg,
-                                                              "lacp-heartbeat",
-                                                              "false"),
-                           "true");
-
     lacp_time = ovsrec_port_get_other_config_value(port->cfg, "lacp-time",
                                                    "slow");
     s->fast = !strcasecmp(lacp_time, "fast");
index 61f472ad593bf6efc92ad045e08715e89833bb35..13dd3148cf87b63096889de8f8d3b66b542815e8 100644 (file)
             rate of once every 30 seconds.
           </p>
         </column>
-
-        <column name="other_config" key="lacp-heartbeat"
-                type='{"type": "boolean"}'>
-          Treat LACP like a simple heartbeat protocol for link state
-          monitoring.  Most features of the LACP protocol are disabled
-          when this mode is in use.  The default if not specified is
-          <code>false</code>.
-        </column>
       </group>
 
       <group title="SLB Configuration">