[PATCH 5/9] net/nfp: revise the number of PF representor port
Chaoyong He
chaoyong.he at corigine.com
Mon Oct 21 08:32:57 CEST 2024
From: Peng Zhang <peng.zhang at corigine.com>
When using the multiple PF firmware, there is no need to
create the PF representor port anymore.
Signed-off-by: Peng Zhang <peng.zhang at corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he at corigine.com>
Reviewed-by: Long Wu <long.wu at corigine.com>
---
drivers/net/nfp/flower/nfp_flower_representor.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c b/drivers/net/nfp/flower/nfp_flower_representor.c
index d49f02fc75..f769123174 100644
--- a/drivers/net/nfp/flower/nfp_flower_representor.c
+++ b/drivers/net/nfp/flower/nfp_flower_representor.c
@@ -1009,6 +1009,7 @@ nfp_flower_repr_create(struct nfp_app_fw_flower *app_fw_flower,
struct nfp_net_hw_priv *hw_priv)
{
int ret;
+ uint8_t num_pf_reprs;
struct nfp_pf_dev *pf_dev;
struct rte_pci_device *pci_dev;
struct rte_eth_devargs eth_da = {
@@ -1037,8 +1038,13 @@ nfp_flower_repr_create(struct nfp_app_fw_flower *app_fw_flower,
return 0;
}
- /* There always exist phy repr */
- if (eth_da.nb_representor_ports < pf_dev->total_phyports + 1) {
+ /* Calculate the number of pf repr */
+ if (pf_dev->multi_pf.enabled)
+ num_pf_reprs = 0;
+ else
+ num_pf_reprs = 1;
+
+ if (eth_da.nb_representor_ports < pf_dev->total_phyports + num_pf_reprs) {
PMD_INIT_LOG(ERR, "Should also create repr port for phy port and PF vNIC.");
return -ERANGE;
}
@@ -1052,7 +1058,7 @@ nfp_flower_repr_create(struct nfp_app_fw_flower *app_fw_flower,
/* Fill in flower app with repr counts */
app_fw_flower->num_phyport_reprs = pf_dev->total_phyports;
app_fw_flower->num_vf_reprs = eth_da.nb_representor_ports -
- pf_dev->total_phyports - 1;
+ pf_dev->total_phyports - num_pf_reprs;
if (pf_dev->max_vfs != 0 && pf_dev->sriov_vf < app_fw_flower->num_vf_reprs) {
PMD_INIT_LOG(ERR, "The VF repr nums %d is bigger than VF nums %d.",
app_fw_flower->num_vf_reprs, pf_dev->sriov_vf);
--
2.39.1
More information about the dev
mailing list