From: Tomasz Kulasek Date: Wed, 26 Jul 2017 15:53:30 +0000 (+0200) Subject: net/bonding: fix link status interrupt when down X-Git-Tag: spdx-start~2301 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=5b1b672d6b12f86c66fcbef7f1c90fb939eab19e;p=dpdk.git net/bonding: fix link status interrupt when down 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 Acked-by: Declan Doherty --- diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 8f9a860844..3ee70baa05 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -2535,6 +2535,9 @@ bond_ethdev_lsc_event_callback(uint8_t port_id, enum rte_eth_event_type type, /* 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) {