]> git.droids-corp.org - dpdk.git/commitdiff
net/bonding: fix link status interrupt when down
authorTomasz Kulasek <tomaszx.kulasek@intel.com>
Wed, 26 Jul 2017 15:53:30 +0000 (17:53 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 31 Jul 2017 17:58:41 +0000 (19:58 +0200)
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.kulasek@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
drivers/net/bonding/rte_eth_bond_pmd.c

index 8f9a860844e5927cddc2c0c1e6d2bce679d291ee..3ee70baa05ea0c6e3f13323e06ffd7df5c59b4a0 100644 (file)
@@ -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) {