Go to the documentation of this file.
42 static int g_ipv6hdr_buffer_id = 0;
62 BUG_ON(g_ipv6hdr_buffer_id < 0);
103 if (p->
ip6h == NULL) {
108 if (((uint8_t *)p->
ip6h + (ptrdiff_t)hlen) >
111 SCLogDebug(
"data out of range: %p > %p (exthdrs_len %u)",
112 ((uint8_t *)p->
ip6h + (ptrdiff_t)hlen),
118 const uint32_t data_len = hlen;
119 const uint8_t *data = (
const uint8_t *)p->
ip6h;
#define SIGMATCH_INFO_STICKY_BUFFER
void DetectPktMpmRegister(const char *name, int priority, int(*PrefilterRegister)(DetectEngineCtx *de_ctx, SigGroupHead *sgh, MpmCtx *mpm_ctx, const DetectBufferMpmRegistery *mpm_reg, int list_id), InspectionBufferGetPktDataPtr GetData)
register a MPM engine
#define DETECT_PROTO_IPV6
main detection engine ctx
int(* Setup)(DetectEngineCtx *, Signature *, const char *)
InspectionBuffer * InspectionBufferGet(DetectEngineThreadCtx *det_ctx, const int list_id)
void DetectBufferTypeSupportsPacket(const char *name)
void DetectIpv6hdrRegisterTests(void)
this function registers unit tests for DetectIpv6hdr
void DetectPktInspectEngineRegister(const char *name, InspectionBufferGetPktDataPtr GetPktData, InspectionBufferPktInspectFunc Callback)
register inspect engine at start up time
void DetectIpv6hdrRegister(void)
Registration function for ipv6.hdr: keyword.
#define SCReturnPtr(x, type)
int DetectBufferTypeRegister(const char *name)
void InspectionBufferApplyTransforms(InspectionBuffer *buffer, const DetectEngineTransforms *transforms)
SigTableElmt sigmatch_table[DETECT_TBLSIZE]
void InspectionBufferSetup(DetectEngineThreadCtx *det_ctx, const int list_id, InspectionBuffer *buffer, const uint8_t *data, const uint32_t data_len)
setup the buffer with our initial data
int PrefilterGenericMpmPktRegister(DetectEngineCtx *de_ctx, SigGroupHead *sgh, MpmCtx *mpm_ctx, const DetectBufferMpmRegistery *mpm_reg, int list_id)
#define IPV6_GET_EXTHDRS_LEN(p)
int DetectBufferSetActiveList(Signature *s, const int list)
int DetectEngineInspectPktBufferGeneric(DetectEngineThreadCtx *det_ctx, const DetectEnginePktInspectionEngine *engine, const Signature *s, Packet *p, uint8_t *_alert_flags)
Do the content inspection & validation for a signature.
void(* RegisterTests)(void)
#define SIG_FLAG_REQUIRE_PACKET