From eb45889342dc2856b7225d129e2f3400950b2636 Mon Sep 17 00:00:00 2001
From: Ethan Jackson <ethan@nicira.com>
Date: Mon, 18 Apr 2011 15:32:30 -0700
Subject: [PATCH] lacp: Update attached status more often.

The attached status of slaves should be updated when certain global
configuration settings change, or when a slave is destroyed.
---
 lib/lacp.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/lacp.c b/lib/lacp.c
index 9b3b14b5c..a842fbe42 100644
--- a/lib/lacp.c
+++ b/lib/lacp.c
@@ -132,8 +132,13 @@ lacp_configure(struct lacp *lacp, const struct lacp_settings *s)
         lacp->name = xstrdup(s->name);
     }
 
-    memcpy(lacp->sys_id, s->id, ETH_ADDR_LEN);
-    lacp->sys_priority = s->priority;
+    if (!eth_addr_equals(lacp->sys_id, s->id)
+        || lacp->sys_priority != s->priority) {
+        memcpy(lacp->sys_id, s->id, ETH_ADDR_LEN);
+        lacp->sys_priority = s->priority;
+        lacp->update = true;
+    }
+
     lacp->active = s->active;
     lacp->fast = s->fast;
 }
@@ -225,6 +230,7 @@ lacp_slave_unregister(struct lacp *lacp, const void *slave_)
 
     if (slave) {
         slave_destroy(slave);
+        lacp->update = true;
     }
 }
 
-- 
2.47.0