From: Lukas Sismis Date: Fri, 15 Sep 2023 10:15:23 +0000 (-0400) Subject: dpdk: reset stats just before the start of packet receive loop X-Git-Tag: suricata-7.0.2~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af4bb917dc9842229445683b5ce2f955faa464c2;p=thirdparty%2Fsuricata.git dpdk: reset stats just before the start of packet receive loop While Suricata initializes, the device must be started to e.g. apply rte_flow rules on some devices. But in the meantime, the NIC started receiving packets but accounted those as missed. Stats reset was added to better represent true packet drop. --- diff --git a/src/source-dpdk.c b/src/source-dpdk.c index ddbb2976c9..54503e2122 100644 --- a/src/source-dpdk.c +++ b/src/source-dpdk.c @@ -373,8 +373,10 @@ static TmEcode ReceiveDPDKLoop(ThreadVars *tv, void *data, void *slot) // Indicate that the thread is actually running its application level code (i.e., it can poll // packets) TmThreadsSetFlag(tv, THV_RUNNING); - PacketPoolWait(); + + rte_eth_stats_reset(ptv->port_id); + rte_eth_xstats_reset(ptv->port_id); while (1) { if (unlikely(suricata_ctl_flags != 0)) { SCLogDebug("Stopping Suricata!");