suricata
|
Go to the source code of this file.
Data Structures | |
struct | DefragContext_ |
struct | Frag_ |
struct | DefragTracker_ |
Typedefs | |
typedef struct DefragContext_ | DefragContext |
typedef struct Frag_ | Frag |
typedef struct DefragTracker_ | DefragTracker |
Functions | |
int | DefragRbFragCompare (struct Frag_ *a, struct Frag_ *b) |
RB_HEAD (IP_FRAGMENTS, Frag_) | |
RB_PROTOTYPE (IP_FRAGMENTS, Frag_, rb, DefragRbFragCompare) | |
void | DefragInit (void) |
void | DefragDestroy (void) |
uint8_t | DefragGetOsPolicy (Packet *) |
Get the defrag policy based on the destination address of the packet. More... | |
void | DefragTrackerFreeFrags (DefragTracker *) |
Free all frags associated with a tracker. More... | |
Packet * | Defrag (ThreadVars *, DecodeThreadVars *, Packet *) |
Entry point for IPv4 and IPv6 fragments. More... | |
void | DefragRegisterTests (void) |
Definition in file defrag.h.
typedef struct DefragContext_ DefragContext |
A context for an instance of a fragmentation re-assembler, in case we ever need more than one.
typedef struct DefragTracker_ DefragTracker |
A defragmentation tracker. Used to track fragments that make up a single packet.
Packet* Defrag | ( | ThreadVars * | tv, |
DecodeThreadVars * | dtv, | ||
Packet * | p | ||
) |
Entry point for IPv4 and IPv6 fragments.
tv | ThreadVars for the calling decoder. |
p | The packet fragment. |
A | new Packet resembling the re-assembled packet if the most recent fragment allowed the packet to be re-assembled, otherwise NULL is returned. |
Definition at line 1064 of file defrag.c.
References af.
void DefragDestroy | ( | void | ) |
Definition at line 1133 of file defrag.c.
References DefragHashShutdown().
uint8_t DefragGetOsPolicy | ( | Packet * | p | ) |
void DefragInit | ( | void | ) |
Definition at line 1113 of file defrag.c.
References ConfGetInt(), DEFAULT_DEFRAG_HASH_SIZE, and DefragPolicyLoadFromConfig().
Referenced by PreRunInit().
The RB_TREE compare function for fragments.
When it comes to adding fragments, we want subsequent ones with the same offset to be treated as greater than, so we don't have an equal return value here.
Definition at line 538 of file defrag.c.
References Frag_::offset.
void DefragRegisterTests | ( | void | ) |
Definition at line 3179 of file defrag.c.
References UtRegisterTest().
void DefragTrackerFreeFrags | ( | DefragTracker * | ) |
Free all frags associated with a tracker.
Definition at line 132 of file defrag.c.
References SCMutexLock.
Referenced by DefragTrackerClearMemory().
RB_HEAD | ( | IP_FRAGMENTS | , |
Frag_ | |||
) |
RB_PROTOTYPE | ( | IP_FRAGMENTS | , |
Frag_ | , | ||
rb | , | ||
DefragRbFragCompare | |||
) |