[ovs-dev] [PATCH] bond: Honor updelay and downdelay when LACP is in use.

Ben Pfaff blp at ovn.org
Wed Oct 10 20:35:00 UTC 2018


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 <dleaberry at purestorage.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>
---
 NEWS           | 1 +
 ofproto/bond.c | 3 +--
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 2e478b9bab80..9640ee6d0608 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 f87cdba7908f..8a90ba2686af 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 "
-- 
2.16.1



More information about the dev mailing list