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 <[email protected]>
Signed-off-by: Ben Pfaff <[email protected]>
---
 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

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to