All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net/bonding: fix link properties with autoneg
@ 2018-02-13 22:54 Chas Williams
  2018-02-13 23:03 ` Thomas Monjalon
  2018-04-16  8:06 ` Matan Azrad
  0 siblings, 2 replies; 7+ messages in thread
From: Chas Williams @ 2018-02-13 22:54 UTC (permalink / raw)
  To: dev; +Cc: declan.doherty, Chas Williams

From: Chas Williams <chas3@att.com>

If a link is carrier down and using autonegotiation, then the PMD may not
have detected a speed yet.  In this case the best we can do is ignore the
link speed and duplex since they aren't valid.  To be completely correct,
there should be additional checks to prevent a slave that negotiates a
different speed from being activated.

Signed-off-by: Chas Williams <chas3@att.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 92ad688..5559879 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1545,9 +1545,10 @@ link_properties_valid(struct rte_eth_dev *ethdev,
 	if (bond_ctx->mode == BONDING_MODE_8023AD) {
 		struct rte_eth_link *bond_link = &bond_ctx->mode4.slave_link;
 
-		if (bond_link->link_duplex != slave_link->link_duplex ||
-			bond_link->link_autoneg != slave_link->link_autoneg ||
-			bond_link->link_speed != slave_link->link_speed)
+		if (bond_link->link_autoneg != slave_link->link_autoneg ||
+		    (bond_link->link_autoneg != ETH_LINK_AUTONEG &&
+		     (bond_link->link_duplex != slave_link->link_duplex ||
+		      bond_link->link_speed != slave_link->link_speed)))
 			return -1;
 	}
 
-- 
2.9.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-06-16 17:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-13 22:54 [PATCH] net/bonding: fix link properties with autoneg Chas Williams
2018-02-13 23:03 ` Thomas Monjalon
2018-04-16  8:06 ` Matan Azrad
2018-04-16 16:44   ` Chas Williams
2018-04-16 19:09     ` Matan Azrad
2018-06-14 17:04       ` Ferruh Yigit
2018-06-16 17:29         ` Chas Williams

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.