From 5b1b672d6b12f86c66fcbef7f1c90fb939eab19e Mon Sep 17 00:00:00 2001 From: Tomasz Kulasek Date: Wed, 26 Jul 2017 17:53:30 +0200 Subject: [PATCH] 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 --- 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 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) { -- 2.20.1