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 <et...@nicira.com>
---
 lib/lacp.c        |   17 ++---------------
 lib/lacp.h        |    1 -
 vswitchd/bridge.c |    5 -----
 3 files changed, 2 insertions(+), 21 deletions(-)

diff --git a/lib/lacp.c b/lib/lacp.c
index 0bfbf4c..9ad85b6 100644
--- a/lib/lacp.c
+++ b/lib/lacp.c
@@ -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;
@@ -596,7 +586,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;
     }
 
@@ -750,9 +740,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");
     }
diff --git a/lib/lacp.h b/lib/lacp.h
index d408298..5e19826 100644
--- a/lib/lacp.h
+++ b/lib/lacp.h
@@ -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);
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index ca24d0d..6b120fd 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -2855,11 +2855,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");
-- 
1.7.9.6

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to