[PATCH] net/idpf: propagate PCI NUMA node to vport ethdev

Shaiq Wani shaiq.wani at intel.com
Tue Aug 11 06:26:35 CEST 2026


The IDPF driver creates vport ethdevs via rte_eth_dev_create() with a
NULL bus_specific_init callback, bypassing the standard PCI probe path
that normally copies the PCI device's NUMA node into
eth_dev->data->numa_node via rte_eth_copy_pci_info().

As a result, rte_eth_dev_socket_id() always returns 0 regardless of
which NUMA node the device is attached to, causing NUMA-unaware memory
allocations for mempools and queue descriptors on multi-socket systems.

Set dev->data->numa_node explicitly from the parent PCI device in
idpf_dev_vport_init() to restore correct NUMA affinity.

Fixes: 5e0f60527e5b ("net/idpf: remove vport req and recv info from adapter")
Cc: stable at dpdk.org

Signed-off-by: Shaiq Wani <shaiq.wani at intel.com>
---
 drivers/net/intel/idpf/idpf_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/intel/idpf/idpf_ethdev.c b/drivers/net/intel/idpf/idpf_ethdev.c
index c13505416a..965de4ed9d 100644
--- a/drivers/net/intel/idpf/idpf_ethdev.c
+++ b/drivers/net/intel/idpf/idpf_ethdev.c
@@ -1565,6 +1565,7 @@ idpf_dev_vport_init(struct rte_eth_dev *dev, void *init_params)
 	int ret = 0;
 
 	dev->dev_ops = &idpf_eth_dev_ops;
+	dev->data->numa_node = dev->device->numa_node;
 	vport->adapter = &adapter->base;
 	vport->sw_idx = param->idx;
 	vport->devarg_id = param->devarg_id;
-- 
2.34.1



More information about the dev mailing list