/**
* \param port_id - queried port
* \param socket_id - socket ID of the queried port
- * \return positive number on success, negative on failure (errno)
+ * \return non-negative number on success, negative on failure (errno)
*/
static int32_t DeviceSetSocketID(uint16_t port_id, int32_t *socket_id)
{
#if RTE_VERSION >= RTE_VERSION_NUM(22, 11, 0, 0) // DPDK API changed since 22.11
retval = -rte_errno;
+#else
+ if (retval == SOCKET_ID_ANY)
+ retval = 0; // DPDK couldn't determine socket ID of a port
#endif
return retval;
DevicePostStartPMDSpecificActions(ptv, dev_info.driver_name);
uint16_t inconsistent_numa_cnt = SC_ATOMIC_GET(dpdk_config->inconsitent_numa_cnt);
- if (inconsistent_numa_cnt > 0) {
+ if (inconsistent_numa_cnt > 0 && ptv->port_socket_id != SOCKET_ID_ANY) {
SCLogWarning("%s: NIC is on NUMA %d, %u threads on different NUMA node(s)",
- dpdk_config->iface, rte_eth_dev_socket_id(ptv->port_id), inconsistent_numa_cnt);
- }
- if (ptv->port_socket_id == SOCKET_ID_ANY) {
+ dpdk_config->iface, ptv->port_socket_id, inconsistent_numa_cnt);
+ } else if (ptv->port_socket_id == SOCKET_ID_ANY) {
SCLogNotice(
"%s: unable to determine NIC's NUMA node, degraded performance can be expected",
dpdk_config->iface);