From 414b202343ce8ad02cf90d8a7a3b12eef298c6b1 Mon Sep 17 00:00:00 2001 From: Tomasz Kulasek Date: Wed, 24 Jun 2015 10:50:45 +0200 Subject: [PATCH] bonding: fix initial link status of slave On Fortville NIC, link status change interrupt callback is not executed when slave in bonding is (re-)started. It causes that slave's NIC is inactive even if its link status is up on the start. This patch invokes lsc callback, just after port's start, to check its initial link status and manage properly. Signed-off-by: Tomasz Kulasek Acked-by: Declan Doherty --- drivers/net/bonding/rte_eth_bond_pmd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 5a2fbef933..7888a7f65b 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1361,6 +1361,11 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, return -1; } + /* If lsc interrupt is set, check initial slave's link status */ + if (slave_eth_dev->driver->pci_drv.drv_flags & RTE_PCI_DRV_INTR_LSC) + bond_ethdev_lsc_event_callback(slave_eth_dev->data->port_id, + RTE_ETH_EVENT_INTR_LSC, &bonded_eth_dev->data->port_id); + return 0; } -- 2.20.1