lacp: Loosen lacp_slave_is_current().
authorEthan Jackson <ethan@nicira.com>
Mon, 13 Jun 2011 20:45:05 +0000 (13:45 -0700)
committerEthan Jackson <ethan@nicira.com>
Tue, 14 Jun 2011 18:17:24 +0000 (11:17 -0700)
The lacp_slave_is_current() function is used to indicate to a
controller failover status of the LACP module.  However, the result
of this function is more strict than the failover logic.  Thus, the
function will generally return false quite a bit before a failover
actually happens.  This patch loosens lacp_slave_is_current() so
that it changes in-line with the failover logic.

lib/lacp.c

index 3fe5eff320a1fbb56c8fa2dbea3dcf5dedb9182b..eaf01c3c909c62bae294d14c976636f7f3022239 100644 (file)
@@ -347,7 +347,7 @@ lacp_slave_get_port_id(const struct lacp *lacp, const void *slave_)
 bool
 lacp_slave_is_current(const struct lacp *lacp, const void *slave_)
 {
-    return slave_lookup(lacp, slave_)->status == LACP_CURRENT;
+    return slave_lookup(lacp, slave_)->status != LACP_DEFAULTED;
 }
 
 /* This function should be called periodically to update 'lacp'. */