Go to the documentation of this file.
54 if (
ConfGetBool(
"decoder.erspan.typeI.enabled", &enabled) == 1) {
56 "ERSPAN Type I is no longer configurable and it is always"
57 " enabled; ignoring configuration setting.");
65 const uint8_t *pkt, uint32_t
len)
79 if (
len <
sizeof(ErspanHdr)) {
84 const ErspanHdr *ehdr = (
const ErspanHdr *)pkt;
86 uint16_t vlan_id =
SCNtohs(ehdr->ver_vlan) & 0x0fff;
#define ENGINE_SET_EVENT(p, e)
void StatsIncr(ThreadVars *tv, uint16_t id)
Increments the local counter.
int DecodeERSPAN(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, const uint8_t *pkt, uint32_t len)
ERSPAN Type II.
int ConfGetBool(const char *name, int *val)
Retrieve a configuration value as an boolen.
void DecodeERSPANConfig(void)
Functions to decode ERSPAN Type I and II packets.
@ ERSPAN_UNSUPPORTED_VERSION
int DecodeERSPANTypeI(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, const uint8_t *pkt, uint32_t len)
ERSPAN Type I.
Per thread variable structure.
@ ERSPAN_TOO_MANY_VLAN_LAYERS
#define SCLogWarning(err_code,...)
Macro used to log WARNING messages.
Structure to hold thread specific data for all decode modules.
int DecodeEthernet(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, const uint8_t *pkt, uint32_t len)
@ ERSPAN_HEADER_TOO_SMALL