Bug ID 1611
Summary net/af_xdp, numa_node and socket_id is assigned incorrectly for numa scenario
Product DPDK
Version 22.11
Hardware All
OS All
Status UNCONFIRMED
Severity normal
Priority Normal
Component ethdev
Assignee dev@dpdk.org
Reporter xiaohua.wang@ericsson.com
Target Milestone ---

1. in rte_pmd_af_xdp_probe() function, can't assign device.numa_node with
current socket id. Since the CPU core socket to start app can be different to
virtual xdp/device socket to attach. 
===========code in rte_eth_af_xdp.c===========================
        if (dev->device.numa_node == SOCKET_ID_ANY)
                dev->device.numa_node = rte_socket_id();
===========code in rte_eth_af_xdp.c===========================

Same issue for rte_pmd_af_xdp_remove() and eth_dev_close().

2. For xdp_umem_configure() in xsk_configure(), also can't allocate umem at CPU
core socket which get from during eth_rx_queue_setup() phase. Because it will
probably be different to socket which "umem" wants to attach port device
belongs to.
===========code in rte_eth_af_xdp.c===========================
        umem = rte_zmalloc_socket("umem", sizeof(*umem), 0, rte_socket_id());
        if (umem == NULL) {
                AF_XDP_LOG(ERR, "Failed to allocate umem info\n");
                return NULL;
        }

        snprintf(ring_name, sizeof(ring_name), "af_xdp_ring_%s_%u",
                       internals->if_name, rxq->xsk_queue_idx);
        umem->buf_ring = rte_ring_create(ring_name,
                                         ETH_AF_XDP_NUM_BUFFERS,
                                         rte_socket_id(),
                                         0x0);
===========code in rte_eth_af_xdp.c===========================
          


You are receiving this mail because: