[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