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 <[email protected]> --- 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 <[email protected]>

