patches for DPDK stable branches
 help / color / mirror / Atom feed
* [PATCH 1/2] net/nfp: fix representor name too long
       [not found] <20230615065131.1267711-1-chaoyong.he@corigine.com>
@ 2023-06-15  6:51 ` Chaoyong He
  0 siblings, 0 replies; only message in thread
From: Chaoyong He @ 2023-06-15  6:51 UTC (permalink / raw)
  To: dev; +Cc: oss-drivers, niklas.soderlund, Long Wu, stable, Chaoyong He

From: Long Wu <long.wu@corigine.com>

The length of representor name may exceed the limit when we use
it to create rte_ring, so we reduce the length of its name.

For example:
old: 0000:af:00.0_fl_repr_p1
new: af:00.0_repr_p1

Fixes: 2003cb447aa5 ("net/nfp: fix representor creation")
Cc: stable@dpdk.org

Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
---
 drivers/net/nfp/flower/nfp_flower_representor.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c b/drivers/net/nfp/flower/nfp_flower_representor.c
index 5118c9c57c..5585e1ed9e 100644
--- a/drivers/net/nfp/flower/nfp_flower_representor.c
+++ b/drivers/net/nfp/flower/nfp_flower_representor.c
@@ -723,8 +723,9 @@ nfp_flower_repr_alloc(struct nfp_app_fw_flower *app_fw_flower)
 {
 	int i;
 	int ret;
-	struct rte_device *device;
+	const char *pci_name;
 	struct rte_eth_dev *eth_dev;
+	struct rte_pci_device *pci_dev;
 	struct nfp_eth_table *nfp_eth_table;
 	struct nfp_eth_table_port *eth_port;
 	struct nfp_flower_representor flower_repr = {
@@ -748,10 +749,12 @@ nfp_flower_repr_alloc(struct nfp_app_fw_flower *app_fw_flower)
 	/* PF vNIC reprs get a random MAC address */
 	rte_eth_random_addr(flower_repr.mac_addr.addr_bytes);
 
-	device = &app_fw_flower->pf_hw->pf_dev->pci_dev->device;
+	pci_dev = app_fw_flower->pf_hw->pf_dev->pci_dev;
+
+	pci_name = strchr(pci_dev->name, ':') + 1;
 
 	snprintf(flower_repr.name, sizeof(flower_repr.name),
-			"%s_flower_repr_pf", device->name);
+			"%s_repr_pf", pci_name);
 
 	/* Create a eth_dev for this representor */
 	ret = rte_eth_dev_create(eth_dev->device, flower_repr.name,
@@ -773,7 +776,7 @@ nfp_flower_repr_alloc(struct nfp_app_fw_flower *app_fw_flower)
 		/* Copy the real mac of the interface to the representor struct */
 		rte_ether_addr_copy(&eth_port->mac_addr, &flower_repr.mac_addr);
 		snprintf(flower_repr.name, sizeof(flower_repr.name),
-				"%s_fl_repr_p%d", device->name, i);
+				"%s_repr_p%d", pci_name, i);
 
 		/*
 		 * Create a eth_dev for this representor
@@ -805,7 +808,7 @@ nfp_flower_repr_alloc(struct nfp_app_fw_flower *app_fw_flower)
 		/* VF reprs get a random MAC address */
 		rte_eth_random_addr(flower_repr.mac_addr.addr_bytes);
 		snprintf(flower_repr.name, sizeof(flower_repr.name),
-				"%s_fl_repr_vf%d", device->name, i);
+				"%s_repr_vf%d", pci_name, i);
 
 		 /* This will also allocate private memory for the device*/
 		ret = rte_eth_dev_create(eth_dev->device, flower_repr.name,
-- 
2.39.1


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-06-15  6:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20230615065131.1267711-1-chaoyong.he@corigine.com>
2023-06-15  6:51 ` [PATCH 1/2] net/nfp: fix representor name too long Chaoyong He

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).