suricata
DefragTracker_ Struct Reference

#include <defrag.h>

Collaboration diagram for DefragTracker_:

Public Member Functions

 SC_ATOMIC_DECLARE (unsigned int, use_cnt)
 

Data Fields

SCMutex lock
 
uint16_t vlan_id [2]
 
uint32_t id
 
uint8_t proto
 
uint8_t policy
 
uint8_t af
 
uint8_t seen_last
 
uint8_t remove
 
Address src_addr
 
Address dst_addr
 
struct timeval timeout
 
uint32_t host_timeout
 
struct IP_FRAGMENTS fragment_tree
 
struct DefragTracker_hnext
 
struct DefragTracker_hprev
 
struct DefragTracker_lnext
 
struct DefragTracker_lprev
 

Detailed Description

A defragmentation tracker. Used to track fragments that make up a single packet.

Definition at line 84 of file defrag.h.

Member Function Documentation

DefragTracker_::SC_ATOMIC_DECLARE ( unsigned  int,
use_cnt   
)

use cnt, reference counter

Field Documentation

uint8_t DefragTracker_::af

Address family for this tracker, AF_INET or AF_INET6.

Definition at line 97 of file defrag.h.

Referenced by DefragRbFragCompare().

Address DefragTracker_::dst_addr

Destination address for this tracker.

Definition at line 105 of file defrag.h.

struct IP_FRAGMENTS DefragTracker_::fragment_tree

Definition at line 113 of file defrag.h.

Referenced by DefragRbFragCompare(), and DefragTrackerFreeFrags().

struct DefragTracker_* DefragTracker_::hnext

hash pointers, protected by hash row mutex/spin

Definition at line 116 of file defrag.h.

Referenced by DefragGetTrackerFromHash(), DefragHashShutdown(), and DefragLookupTrackerFromHash().

uint32_t DefragTracker_::host_timeout

Host timeout, statically assigned from the yaml

Definition at line 108 of file defrag.h.

Referenced by DefragRbFragCompare().

struct DefragTracker_* DefragTracker_::hprev

Definition at line 117 of file defrag.h.

Referenced by DefragGetTrackerFromHash(), and DefragLookupTrackerFromHash().

uint32_t DefragTracker_::id

IP ID for this tracker. 32 bits for IPv6, 16 for IPv4.

Definition at line 90 of file defrag.h.

struct DefragTracker_* DefragTracker_::lnext

list pointers, protected by tracker-queue mutex/spin

Definition at line 120 of file defrag.h.

Referenced by DefragTrackerDequeue(), and DefragTrackerEnqueue().

SCMutex DefragTracker_::lock

Mutex for locking list operations on this tracker.

Definition at line 85 of file defrag.h.

Referenced by DefragGetTrackerFromHash(), DefragLookupTrackerFromHash(), DefragTrackerMoveToSpare(), and DefragTrackerRelease().

struct DefragTracker_* DefragTracker_::lprev

Definition at line 121 of file defrag.h.

Referenced by DefragTrackerDequeue(), and DefragTrackerEnqueue().

uint8_t DefragTracker_::policy

Reassembly policy this tracker will use.

Definition at line 95 of file defrag.h.

Referenced by DefragRbFragCompare().

uint8_t DefragTracker_::proto

IP protocol for this tracker.

Definition at line 93 of file defrag.h.

uint8_t DefragTracker_::remove

remove

Definition at line 102 of file defrag.h.

Referenced by DefragGetTrackerFromHash(), and DefragTrackerFreeFrags().

uint8_t DefragTracker_::seen_last

Has this tracker seen the last fragment?

Definition at line 100 of file defrag.h.

Referenced by DefragRbFragCompare(), and DefragTrackerFreeFrags().

Address DefragTracker_::src_addr

Source address for this tracker.

Definition at line 104 of file defrag.h.

struct timeval DefragTracker_::timeout

When this tracker will timeout.

Definition at line 107 of file defrag.h.

Referenced by DefragRbFragCompare().

uint16_t DefragTracker_::vlan_id[2]

VLAN ID tracker applies to.

Definition at line 88 of file defrag.h.


The documentation for this struct was generated from the following file: