[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