Add a call to rte_eth_link_get_nowait on every slave to update
the internal link status struct. Otherwise slave add will fail
for mode 4 if the ports are all stopped but only one of them checked.
Fixes: b77d21cc2364 ("ethdev: add link status get/set helper functions")
Bugzilla entry: https://dpdk.org/tracker/show_bug.cgi?id=52
Signed-off-by: Radu Nicolau <[email protected]>
---
v2: add fix and Bugzilla references
drivers/net/bonding/rte_eth_bond_api.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/bonding/rte_eth_bond_api.c
b/drivers/net/bonding/rte_eth_bond_api.c
index d558df8..cad08b9 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -296,6 +296,8 @@ __eth_bond_slave_add_lock_free(uint16_t bonded_port_id,
uint16_t slave_port_id)
return -1;
}
+ rte_eth_link_get_nowait(slave_port_id, &link_props);
+
slave_add(internals, slave_eth_dev);
/* We need to store slaves reta_size to be able to synchronize RETA for
all
--
2.7.5