]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
dpdk: add specific error counters
authorVictor Julien <vjulien@oisf.net>
Sun, 14 Nov 2021 14:49:43 +0000 (15:49 +0100)
committerVictor Julien <vjulien@oisf.net>
Tue, 14 Dec 2021 11:41:05 +0000 (12:41 +0100)
src/source-dpdk.c

index 53c3344e6bf1ea877b365d568a86a5407867064a..202e335e5b4259ff6edb0698945006c73d9fdcd3 100644 (file)
@@ -101,6 +101,9 @@ typedef struct DPDKThreadVars_ {
     /* references to packet and drop counters */
     uint16_t capture_dpdk_packets;
     uint16_t capture_dpdk_rx_errs;
+    uint16_t capture_dpdk_imissed;
+    uint16_t capture_dpdk_rx_no_mbufs;
+    uint16_t capture_dpdk_ierrors;
     uint16_t capture_dpdk_tx_errs;
     unsigned int flags;
     int threads;
@@ -262,6 +265,9 @@ static inline void DPDKDumpCounters(DPDKThreadVars *ptv)
     if (ptv->queue_id == 0) {
         StatsSetUI64(ptv->tv, ptv->capture_dpdk_rx_errs,
                 eth_stats.imissed + eth_stats.ierrors + eth_stats.rx_nombuf + ptv->pkts);
+        StatsSetUI64(ptv->tv, ptv->capture_dpdk_imissed, eth_stats.imissed);
+        StatsSetUI64(ptv->tv, ptv->capture_dpdk_rx_no_mbufs, eth_stats.rx_nombuf);
+        StatsSetUI64(ptv->tv, ptv->capture_dpdk_ierrors, eth_stats.ierrors);
         StatsSetUI64(ptv->tv, ptv->capture_dpdk_tx_errs, eth_stats.oerrors);
         SC_ATOMIC_SET(ptv->livedev->drop, eth_stats.imissed + eth_stats.ierrors +
                                                   eth_stats.rx_nombuf + eth_stats.oerrors +
@@ -412,6 +418,9 @@ static TmEcode ReceiveDPDKThreadInit(ThreadVars *tv, const void *initdata, void
     ptv->capture_dpdk_packets = StatsRegisterCounter("capture.packets", ptv->tv);
     ptv->capture_dpdk_rx_errs = StatsRegisterCounter("capture.rx_errors", ptv->tv);
     ptv->capture_dpdk_tx_errs = StatsRegisterCounter("capture.tx_errors", ptv->tv);
+    ptv->capture_dpdk_imissed = StatsRegisterCounter("capture.dpdk.imissed", ptv->tv);
+    ptv->capture_dpdk_rx_no_mbufs = StatsRegisterCounter("capture.dpdk.no_mbufs", ptv->tv);
+    ptv->capture_dpdk_ierrors = StatsRegisterCounter("capture.dpdk.ierrors", ptv->tv);
 
     ptv->copy_mode = dpdk_config->copy_mode;
     ptv->checksum_mode = dpdk_config->checksum_mode;