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@nicira.com>
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) {