summaryrefslogtreecommitdiff
path: root/ofproto
diff options
context:
space:
mode:
authorminglumlu <ming.lu@citrix.com>2017-08-30 03:58:58 +0100
committerBen Pfaff <blp@ovn.org>2017-11-01 13:59:00 -0700
commit5fef88eaefee82255f02dec34faa239b589944ba (patch)
treec66e7055f20555609256b4a250b9a7b510f2c145 /ofproto
parentc4b5b40397fc3bd169885f799fe9b32c15242064 (diff)
downloadopenvswitch-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.c3
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);