diff options
author | minglumlu <ming.lu@citrix.com> | 2017-08-30 03:58:58 +0100 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2017-11-01 13:59:00 -0700 |
commit | 5fef88eaefee82255f02dec34faa239b589944ba (patch) | |
tree | c66e7055f20555609256b4a250b9a7b510f2c145 /ofproto | |
parent | c4b5b40397fc3bd169885f799fe9b32c15242064 (diff) | |
download | openvswitch-5fef88eaefee82255f02dec34faa239b589944ba.tar.gz |
bond: send learning pkg when non active slave failed.
In active-active bond, a non-active slave failure doesn't trigger
the sending of learning packets. This patch fixes this issue.
Signed-off-by: minglumlu <ming.lu@citrix.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'ofproto')
-rw-r--r-- | ofproto/bond.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ofproto/bond.c b/ofproto/bond.c index 365a3ca7f..4f9f0ead8 100644 --- a/ofproto/bond.c +++ b/ofproto/bond.c @@ -1679,6 +1679,8 @@ bond_slave_lookup(struct bond *bond, const void *slave_) static void bond_enable_slave(struct bond_slave *slave, bool enable) { + struct bond *bond = slave->bond; + slave->delay_expires = LLONG_MAX; if (enable != slave->enabled) { slave->bond->bond_revalidate = true; @@ -1688,6 +1690,7 @@ bond_enable_slave(struct bond_slave *slave, bool enable) if (enable) { ovs_list_insert(&slave->bond->enabled_slaves, &slave->list_node); } else { + bond->send_learning_packets = true; ovs_list_remove(&slave->list_node); } ovs_mutex_unlock(&slave->bond->mutex); |