]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
dpdk: adjust auto mempool calculation when no TX queues set
authorLukas Sismis <lsismis@oisf.net>
Sat, 29 Mar 2025 12:36:51 +0000 (13:36 +0100)
committerVictor Julien <victor@inliniac.net>
Mon, 31 Mar 2025 17:16:50 +0000 (19:16 +0200)
src/runmode-dpdk.c

index d16c65df34341a6b440cb5395622adc2f286860d..ee0665d27dceca09d7482358767f90a0f81652c0 100644 (file)
@@ -515,7 +515,11 @@ static int ConfigSetTxQueues(
 static uint32_t MempoolSizeCalculate(
         uint32_t rx_queues, uint32_t rx_desc, uint32_t tx_queues, uint32_t tx_desc)
 {
-    return rx_queues * rx_desc + tx_queues * tx_desc;
+    uint32_t sz = rx_queues * rx_desc + tx_queues * tx_desc;
+    if (!tx_queues || !tx_desc)
+        sz *= 2; // double to have enough space for RX descriptors
+
+    return sz;
 }
 
 static int ConfigSetMempoolSize(DPDKIfaceConfig *iconf, const char *entry_str)