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 [VLAN_MAX_LAYERS]
 
uint16_t ip_hdr_offset
 
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
 
int datalink
 
SCTime_t timeout
 
uint32_t host_timeout
 
struct IP_FRAGMENTS fragment_tree
 
struct DefragTracker_hnext
 
struct DefragTracker_lnext
 

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 99 of file defrag.h.

◆ datalink

int DefragTracker_::datalink

datalink for reassembled packet, set by first fragment

Definition at line 109 of file defrag.h.

◆ dst_addr

Address DefragTracker_::dst_addr

Destination address for this tracker.

Definition at line 107 of file defrag.h.

◆ fragment_tree

struct IP_FRAGMENTS DefragTracker_::fragment_tree

Definition at line 114 of file defrag.h.

◆ hnext

struct DefragTracker_* DefragTracker_::hnext

hash pointer, protected by hash row mutex/spin

Definition at line 119 of file defrag.h.

◆ host_timeout

uint32_t DefragTracker_::host_timeout

Host timeout, statically assigned from the yaml

Definition at line 111 of file defrag.h.

◆ id

uint32_t DefragTracker_::id

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

Definition at line 92 of file defrag.h.

◆ ip_hdr_offset

uint16_t DefragTracker_::ip_hdr_offset

Offset in the packet where the IP header starts.

Definition at line 89 of file defrag.h.

◆ lnext

struct DefragTracker_* DefragTracker_::lnext

stack pointer, protected by tracker-queue mutex/spin

Definition at line 122 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().

◆ policy

uint8_t DefragTracker_::policy

Reassembly policy this tracker will use.

Definition at line 97 of file defrag.h.

◆ proto

uint8_t DefragTracker_::proto

IP protocol for this tracker.

Definition at line 95 of file defrag.h.

◆ remove

uint8_t DefragTracker_::remove

remove

Definition at line 104 of file defrag.h.

Referenced by DefragTrackerTimedOut().

◆ seen_last

uint8_t DefragTracker_::seen_last

Has this tracker seen the last fragment?

Definition at line 102 of file defrag.h.

◆ src_addr

Address DefragTracker_::src_addr

Source address for this tracker.

Definition at line 106 of file defrag.h.

◆ timeout

SCTime_t DefragTracker_::timeout

When this tracker will timeout.

Definition at line 110 of file defrag.h.

Referenced by DefragTrackerTimedOut().

◆ vlan_id

uint16_t DefragTracker_::vlan_id[VLAN_MAX_LAYERS]

VLAN ID tracker applies to.

Definition at line 88 of file defrag.h.


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