From f94178077d1128326374e26e825a2c5fff20c350 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 10 Oct 2018 13:35:00 -0700 Subject: [PATCH] bond: Honor updelay and downdelay when LACP is in use. Since OVS added LACP support back in 2011, bonds have ignored the updelay and downdelay values for bonds with configured LACP. The reason is not clear, but at least one user needs support in this case, so this commit enables it. Reported-at: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-October/047490.html Reported-by: Daniel Leaberry Signed-off-by: Ben Pfaff Acked-by: Justin Pettit --- NEWS | 1 + ofproto/bond.c | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 2e478b9bab..9640ee6d06 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,7 @@ Post-v2.10.0 * Add option for simple round-robin based Rxq to PMD assignment. It can be set with pmd-rxq-assign. - Add 'symmetric_l3' hash function. + - OVS now honors 'updelay' and 'downdelay' for bonds with LACP configured. v2.10.0 - 18 Aug 2018 --------------------- diff --git a/ofproto/bond.c b/ofproto/bond.c index f87cdba790..8a90ba2686 100644 --- a/ofproto/bond.c +++ b/ofproto/bond.c @@ -1717,8 +1717,7 @@ bond_link_status_update(struct bond_slave *slave) VLOG_INFO_RL(&rl, "interface %s: will not be %s", slave->name, up ? "disabled" : "enabled"); } else { - int delay = (bond->lacp_status != LACP_DISABLED ? 0 - : up ? bond->updelay : bond->downdelay); + int delay = up ? bond->updelay : bond->downdelay; slave->delay_expires = time_msec() + delay; if (delay) { VLOG_INFO_RL(&rl, "interface %s: will be %s if it stays %s "