[dpdk-dev] [PATCH] net/nfp: fix device start/stop for VFs
Alejandro Lucero
alejandro.lucero at netronome.com
Wed Jan 2 16:21:49 CET 2019
Previous commit adding multiprocess support broke VF support.
When VFs, the PMD does not set the link up or down.
Fixes: ef28aa96e53b ("net/nfp: support multiprocess")
Signed-off-by: Alejandro Lucero <alejandro.lucero at netronome.com>
---
drivers/net/nfp/nfp_net.c | 28 ++++++++++++++++------------
1 file changed, 16 insertions(+), 12 deletions(-)
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index ffef97d80..05a44a2a9 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -766,12 +766,14 @@ nfp_net_start(struct rte_eth_dev *dev)
goto error;
}
- if (hw->is_pf && rte_eal_process_type() == RTE_PROC_PRIMARY)
- /* Configure the physical port up */
- nfp_eth_set_configured(hw->cpp, hw->pf_port_idx, 1);
- else
- nfp_eth_set_configured(dev->process_private,
- hw->pf_port_idx, 1);
+ if (hw->is_pf) {
+ if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+ /* Configure the physical port up */
+ nfp_eth_set_configured(hw->cpp, hw->pf_port_idx, 1);
+ else
+ nfp_eth_set_configured(dev->process_private,
+ hw->pf_port_idx, 1);
+ }
hw->ctrl = new_ctrl;
@@ -820,12 +822,14 @@ nfp_net_stop(struct rte_eth_dev *dev)
(struct nfp_net_rxq *)dev->data->rx_queues[i]);
}
- if (hw->is_pf && rte_eal_process_type() == RTE_PROC_PRIMARY)
- /* Configure the physical port down */
- nfp_eth_set_configured(hw->cpp, hw->pf_port_idx, 0);
- else
- nfp_eth_set_configured(dev->process_private,
- hw->pf_port_idx, 0);
+ if (hw->is_pf) {
+ if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+ /* Configure the physical port down */
+ nfp_eth_set_configured(hw->cpp, hw->pf_port_idx, 0);
+ else
+ nfp_eth_set_configured(dev->process_private,
+ hw->pf_port_idx, 0);
+ }
}
/* Reset and stop device. The device can not be restarted. */
--
2.17.1
More information about the dev
mailing list