AlertDebugLogThread *aft = (AlertDebugLogThread *)data;
int i;
char timebuf[64];
+ const char *pkt_src_str = NULL;
if (p->alerts.cnt == 0)
return TM_ECODE_OK;
if (p->pcap_cnt > 0) {
MemBufferWriteString(aft->buffer, "PCAP PKT NUM: %"PRIu64"\n", p->pcap_cnt);
}
+ pkt_src_str = PktSrcToString(p->pkt_src);
+ MemBufferWriteString(aft->buffer, "PKT SRC: %s\n", pkt_src_str);
char srcip[46], dstip[46];
if (PKT_IS_IPV4(p)) {
AlertDebugLogThread *aft = (AlertDebugLogThread *)data;
int i;
char timebuf[64];
+ const char *pkt_src_str = NULL;
if (p->alerts.cnt == 0)
return TM_ECODE_OK;
MemBufferWriteString(aft->buffer,
"PCAP PKT NUM: %"PRIu64"\n", p->pcap_cnt);
}
+ pkt_src_str = PktSrcToString(p->pkt_src);
+ MemBufferWriteString(aft->buffer, "PKT SRC: %s\n", pkt_src_str);
MemBufferWriteString(aft->buffer,
"ALERT CNT: %" PRIu32 "\n", p->alerts.cnt);
return 0;
}
+const char *PktSrcToString(enum PktSrcEnum pkt_src) {
+ char *pkt_src_str = "<unknown>";
+ switch (pkt_src) {
+ case PKT_SRC_WIRE:
+ pkt_src_str = "wire/pcap";
+ break;
+ case PKT_SRC_DECODER_GRE:
+ pkt_src_str = "gre tunnel";
+ break;
+ case PKT_SRC_DECODER_IPV4:
+ pkt_src_str = "ipv4 tunnel";
+ break;
+ case PKT_SRC_DECODER_IPV6:
+ pkt_src_str = "ipv6 tunnel";
+ break;
+ case PKT_SRC_DECODER_TEREDO:
+ pkt_src_str = "teredo tunnel";
+ break;
+ case PKT_SRC_DEFRAG:
+ pkt_src_str = "defrag";
+ break;
+ case PKT_SRC_STREAM_TCP_STREAM_END_PSEUDO:
+ pkt_src_str = "stream";
+ break;
+ case PKT_SRC_FFR_V2:
+ pkt_src_str = "stream (flow timeout)";
+ break;
+ case PKT_SRC_FFR_SHUTDOWN:
+ pkt_src_str = "stream (engine shutdown)";
+ break;
+ }
+ return pkt_src_str;
+}
+
/**
* @}
*/
CHECKSUM_VALIDATION_KERNEL,
} ChecksumValidationMode;
-enum {
+enum PktSrcEnum {
PKT_SRC_WIRE = 1,
PKT_SRC_DECODER_GRE,
PKT_SRC_DECODER_IPV4,
int PacketCopyData(Packet *p, uint8_t *pktdata, int pktlen);
int PacketSetData(Packet *p, uint8_t *pktdata, int pktlen);
int PacketCopyDataOffset(Packet *p, int offset, uint8_t *data, int datalen);
+const char *PktSrcToString(enum PktSrcEnum pkt_src);
DecodeThreadVars *DecodeThreadVarsAlloc();