[ovs-dev] [bond 5/7] bond: Revalidate when lacp_negotiated status changes.

Ethan Jackson ethan at nicira.com
Thu Jan 12 19:40:02 UTC 2012


Typically, when the lacp_negotiated flag changes, the result of
bond_is_tcp_hash() will change as well.  However, for certain bond
types (SLB, Active-Backup, etc) this may not be true.  Since the
lacp_negotiated flag affects the results of
bond_check_admissibility() revalidation needs to happen whenever it
changes.  This patch makes the revalidation explicit.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
---
 lib/bond.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/lib/bond.c b/lib/bond.c
index 79fc18c..a2105ca 100644
--- a/lib/bond.c
+++ b/lib/bond.c
@@ -407,7 +407,10 @@ bond_run(struct bond *bond, struct tag_set *tags, bool lacp_negotiated)
     struct bond_slave *slave;
     bool is_tcp_hash = bond_is_tcp_hash(bond);
 
-    bond->lacp_negotiated = lacp_negotiated;
+    if (bond->lacp_negotiated != lacp_negotiated) {
+        bond->lacp_negotiated = lacp_negotiated;
+        bond->bond_revalidate = true;
+    }
 
     /* Enable slaves based on link status and LACP feedback. */
     HMAP_FOR_EACH (slave, hmap_node, &bond->slaves) {
-- 
1.7.7.1




More information about the dev mailing list