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 <phil.yang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
This commit is contained in:
Phil Yang 2018-10-17 09:36:30 +08:00 committed by Ferruh Yigit
parent 9396ad3346
commit effdb8bbb0

View File

@ -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;
}