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

◆ SC_ATOMIC_DECLARE()

DefragTracker_::SC_ATOMIC_DECLARE ( unsigned int  ,
use_cnt   
)

use cnt, reference counter

Field Documentation

◆ af

uint8_t DefragTracker_::af

Address family for this tracker, AF_INET or AF_INET6.

Definition at line 97 of file defrag.h.

◆ dst_addr

Address DefragTracker_::dst_addr

Destination address for this tracker.

Definition at line 105 of file defrag.h.

◆ fragment_tree

struct IP_FRAGMENTS DefragTracker_::fragment_tree

Definition at line 113 of file defrag.h.

◆ hnext

struct DefragTracker_* DefragTracker_::hnext

hash pointers, protected by hash row mutex/spin

Definition at line 116 of file defrag.h.

◆ host_timeout

uint32_t DefragTracker_::host_timeout

Host timeout, statically assigned from the yaml

Definition at line 108 of file defrag.h.

◆ hprev

struct DefragTracker_* DefragTracker_::hprev

Definition at line 117 of file defrag.h.

◆ id

uint32_t DefragTracker_::id

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

Definition at line 90 of file defrag.h.

◆ lnext

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().

◆ lock

SCMutex DefragTracker_::lock

Mutex for locking list operations on this tracker.

Definition at line 85 of file defrag.h.

Referenced by DefragTrackerRelease().

◆ lprev

struct DefragTracker_* DefragTracker_::lprev

Definition at line 121 of file defrag.h.

Referenced by DefragTrackerDequeue(), and DefragTrackerEnqueue().

◆ policy

uint8_t DefragTracker_::policy

Reassembly policy this tracker will use.

Definition at line 95 of file defrag.h.

◆ proto

uint8_t DefragTracker_::proto

IP protocol for this tracker.

Definition at line 93 of file defrag.h.

◆ remove

uint8_t DefragTracker_::remove

remove

Definition at line 102 of file defrag.h.

◆ seen_last

uint8_t DefragTracker_::seen_last

Has this tracker seen the last fragment?

Definition at line 100 of file defrag.h.

◆ src_addr

Address DefragTracker_::src_addr

Source address for this tracker.

Definition at line 104 of file defrag.h.

◆ timeout

struct timeval DefragTracker_::timeout

When this tracker will timeout.

Definition at line 107 of file defrag.h.

◆ vlan_id

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: