The balance-tcp mode requires the upstream switch to support 802.3ad
with successful LACP negotiation. When bond ports are configured to
balance-tcp mode without lacp or lacp is disabled, drop the traffic.

Signed-off-by: nickcooper-zhangtonghao <n...@opencloud.tech>
---
 ofproto/bond.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ofproto/bond.c b/ofproto/bond.c
index 5063b3f..3e512d7 100644
--- a/ofproto/bond.c
+++ b/ofproto/bond.c
@@ -799,11 +799,12 @@ bond_check_admissibility(struct bond *bond, const void 
*slave_,
 
     switch (bond->balance) {
     case BM_TCP:
-        /* TCP balanced bonds require successful LACP negotiations. Based on 
the
-         * above check, LACP is off or lacp_fallback_ab is true on this bond.
-         * If lacp_fallback_ab is true fall through to BM_AB case else, we
-         * drop all incoming traffic. */
-        if (!bond->lacp_fallback_ab) {
+        /* TCP balanced bonds require successful LACP negotiations. Based on
+         * the above check, LACP is off or lacp_fallback_ab is true on this
+         * bond. If LACP is in LACP_DISABLED state, drop all incoming traffic.
+         * If LACP is in LACP_CONFIGURED state and lacp_fallback_ab is true
+         * fall through to BM_AB case else, we drop all incoming traffic. */
+        if (bond->lacp_status == LACP_DISABLED || !bond->lacp_fallback_ab) {
             goto out;
         }
 
-- 
1.8.3.1



_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to