]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
packet: set unique pkt_src 'flush' packets
authorVictor Julien <victor@inliniac.net>
Thu, 7 Nov 2019 07:57:20 +0000 (08:57 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 19 Nov 2019 16:24:43 +0000 (17:24 +0100)
Set unique type for capture timeout and for detect reload flush
to assist in debugging.

src/decode.c
src/decode.h
src/detect-engine.c
src/tm-threads.h

index 82b076aba11cad5cd61f3c9a037043b438c828d3..a9f32fda445f41f2f075c45f25b6b749c1640f70 100644 (file)
@@ -693,6 +693,12 @@ const char *PktSrcToString(enum PktSrcEnum pkt_src)
         case PKT_SRC_DECODER_VXLAN:
             pkt_src_str = "vxlan encapsulation";
             break;
+        case PKT_SRC_DETECT_RELOAD_FLUSH:
+            pkt_src_str = "detect reload flush";
+            break;
+        case PKT_SRC_CAPTURE_TIMEOUT:
+            pkt_src_str = "capture timeout flush";
+            break;
     }
     return pkt_src_str;
 }
index 67ba29976f737a0b758a5e331eaf52432f5d3c7b..c31b83792a11b3db30836dba9374d405c5c2ede1 100644 (file)
@@ -55,6 +55,8 @@ enum PktSrcEnum {
     PKT_SRC_FFR,
     PKT_SRC_STREAM_TCP_DETECTLOG_FLUSH,
     PKT_SRC_DECODER_VXLAN,
+    PKT_SRC_DETECT_RELOAD_FLUSH,
+    PKT_SRC_CAPTURE_TIMEOUT,
 };
 
 #include "source-nflog.h"
index 78cc2248c2c75f49058effbb6516f45523c60a2e..fac0a8a7a600801f94709efa92ade42c11e1987b 100644 (file)
@@ -1726,6 +1726,7 @@ static void InjectPackets(ThreadVars **detect_tvs,
                 Packet *p = PacketGetFromAlloc();
                 if (p != NULL) {
                     p->flags |= PKT_PSEUDO_STREAM_END;
+                    PKT_SET_SRC(p, PKT_SRC_DETECT_RELOAD_FLUSH);
                     PacketQueue *q = &trans_q[detect_tvs[i]->inq->id];
                     SCMutexLock(&q->mutex_q);
                     PacketEnqueue(q, p);
index 5acd9616f65b7240a99d75ebd1fbb3c4475dc178..eff914313c8fd605f18dceb84fd0e7a31483f992 100644 (file)
@@ -258,6 +258,7 @@ static inline void TmThreadsCaptureInjectPacket(ThreadVars *tv, TmSlot *slot, Pa
         p = PacketGetFromQueueOrAlloc();
     if (p != NULL) {
         p->flags |= PKT_PSEUDO_STREAM_END;
+        PKT_SET_SRC(p, PKT_SRC_CAPTURE_TIMEOUT);
         if (TmThreadsSlotProcessPkt(tv, slot, p) != TM_ECODE_OK) {
             TmqhOutputPacketpool(tv, p);
         }