[dpdk-dev] [Q] l2fwd in examples directory

Bruce Richardson bruce.richardson at intel.com
Fri Oct 16 15:43:21 CEST 2015


On Thu, Oct 15, 2015 at 11:08:57AM +0900, Moon-Sang Lee wrote:
> There is codes as below in examples/l2fwd/main.c and I think
> rte_eth_dev_socket_id(portid)
> always returns -1(SOCKET_ID_ANY) since there is no association code between
> port and
> lcore in the example codes.

Can you perhaps clarify what you mean here. On modern NUMA systems, such as those
from Intel :-), the PCI slots are directly connected to the CPU sockets, so the
ethernet ports do indeed have a direct NUMA affinity. It's not something that
the app needs to specify.

/Bruce

> (i.e. I need to find a matching lcore from
> lcore_queue_conf[] with portid
> and call rte_lcore_to_socket_id(lcore_id).)
> 
>         /* init one RX queue */
>         fflush(stdout);
>         ret = rte_eth_rx_queue_setup(portid, 0, nb_rxd,
>                          rte_eth_dev_socket_id(portid),
>                          NULL,
>                          l2fwd_pktmbuf_pool);
>         if (ret < 0)
>             rte_exit(EXIT_FAILURE, "rte_eth_rx_queue_setup:err=%d,
> port=%u\n",
>                   ret, (unsigned) portid);
> 
> It works fine even though memory is allocated in different NUMA node. But I
> wonder there is
> a DPDK API that associates inlcore to port internally thus
> rte_eth_devices[portid].pci_dev->numa_node
> contains proper node.
> 
> 
> -- 
> Moon-Sang Lee, SW Engineer
> Email: sang0627 at gmail.com
> Wisdom begins in wonder. *Socrates*


More information about the dev mailing list