On 26/07/2017 4:53 PM, Tomasz Kulasek wrote:
RTE_ETH_EVENT_INTR_LSC callbacks are not called when all slaves goes down
in bond_ethdev_lsc_event_callback. It causes that link status change of
bonded device is not propagated up.
Fixes: deba8a2f8b0b ("net/bonding: fix link properties management")
Signed-off-by: Tomasz Kulasek <tomaszx.kula...@intel.com>
---
drivers/net/bonding/rte_eth_bond_pmd.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c
b/drivers/net/bonding/rte_eth_bond_pmd.c
index 8f9a860..3ee70ba 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2535,6 +2535,9 @@ struct bwg_slave {
/* Remove from active slave list */
deactivate_slave(bonded_eth_dev, port_id);
+ if (internals->active_slave_count < 1)
+ lsc_flag = 1;
+
/* Update primary id, take first active slave from list or if
none
* available set to -1 */
if (port_id == internals->current_primary_port) {
Acked-by: Declan Doherty <declan.dohe...@intel.com>