From 51abc53eed9cad8fc79e3070864b6088000cdc68 Mon Sep 17 00:00:00 2001 From: Lukas Sismis Date: Mon, 17 Jul 2023 11:33:18 +0200 Subject: [PATCH] dpdk: treat unknown socket ID as a valid socket ID Ticket: #6232 --- src/runmode-dpdk.c | 5 ++++- src/source-dpdk.c | 7 +++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/runmode-dpdk.c b/src/runmode-dpdk.c index a3caeb5a902a..5a934e8b9ed5 100644 --- a/src/runmode-dpdk.c +++ b/src/runmode-dpdk.c @@ -1073,7 +1073,7 @@ static void DeviceSetMTU(struct rte_eth_conf *port_conf, uint16_t mtu) /** * \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) { @@ -1083,6 +1083,9 @@ 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; diff --git a/src/source-dpdk.c b/src/source-dpdk.c index 363b718897c3..c5fe93c38abe 100644 --- a/src/source-dpdk.c +++ b/src/source-dpdk.c @@ -547,11 +547,10 @@ static TmEcode ReceiveDPDKThreadInit(ThreadVars *tv, const void *initdata, void 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);