From: Phil Yang Date: Wed, 17 Oct 2018 01:36:30 +0000 (+0800) Subject: app/testpmd: fix physical port socket initialization X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=effdb8bbb018bd8a611b2ac86a15739f67ea7cbc;p=dpdk.git app/testpmd: fix physical port socket initialization Once the lcore list setting excluded the socket which physical device attached, it will cause failure. Meanwhile, it will disable Testpmd cross NUMA scenario. Fixes: dbfb8ec7094c ("app/testpmd: optimize mbuf pool allocation") Cc: stable@dpdk.org Signed-off-by: Phil Yang Reviewed-by: Gavin Hu Acked-by: Konstantin Ananyev --- diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index cce5a97735..404d8fe934 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -565,9 +565,21 @@ set_default_fwd_ports_config(void) portid_t pt_id; int i = 0; - RTE_ETH_FOREACH_DEV(pt_id) + RTE_ETH_FOREACH_DEV(pt_id) { fwd_ports_ids[i++] = pt_id; + /* Update sockets info according to the attached device */ + int socket_id = rte_eth_dev_socket_id(pt_id); + if (socket_id >= 0 && new_socket_id(socket_id)) { + if (num_sockets >= RTE_MAX_NUMA_NODES) { + rte_exit(EXIT_FAILURE, + "Total sockets greater than %u\n", + RTE_MAX_NUMA_NODES); + } + socket_ids[num_sockets++] = socket_id; + } + } + nb_cfg_ports = nb_ports; nb_fwd_ports = nb_ports; }