suricata
packet.h File Reference
#include "decode.h"
Include dependency graph for packet.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void PacketDrop (Packet *p, const uint8_t action, enum PacketDropReason r)
 issue drop action More...
 
bool PacketCheckAction (const Packet *p, const uint8_t a)
 
void PacketInit (Packet *p)
 Initialize a packet structure for use. More...
 
void PacketReleaseRefs (Packet *p)
 
void PacketReinit (Packet *p)
 Recycle a packet structure for reuse. More...
 
void PacketRecycle (Packet *p)
 
void PacketDestructor (Packet *p)
 Cleanup a packet so that we can free it. No memset needed.. More...
 

Function Documentation

◆ PacketCheckAction()

bool PacketCheckAction ( const Packet p,
const uint8_t  a 
)

Definition at line 49 of file packet.c.

References Packet_::action, likely, and Packet_::root.

Referenced by AlertJsonHeader(), CaptureStatsUpdate(), EveAddVerdict(), RejectSendIPv4ICMP(), RejectSendIPv4TCP(), RejectSendIPv6ICMP(), and RejectSendIPv6TCP().

Here is the caller graph for this function:

◆ PacketDestructor()

void PacketDestructor ( Packet p)

Cleanup a packet so that we can free it. No memset needed..

Definition at line 152 of file packet.c.

References PacketAlerts_::alerts, Packet_::alerts, Packet_::app_layer_events, AppLayerDecoderEventsFreeEvents(), PACKET_FREE_EXTDATA, PACKET_PROFILING_RESET, PacketAlertFree(), PacketReleaseRefs(), Packet_::persistent, Packet_::pktvar, PktVarFree(), SCSpinDestroy, and Packet_::tunnel_lock.

Referenced by PacketFree().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PacketDrop()

void PacketDrop ( Packet p,
const uint8_t  action,
enum PacketDropReason  r 
)

issue drop action

Set drop (+reject) flags in both current and root packet.

Parameters
actionaction bit flags. Must be limited to ACTION_DROP_REJECT|ACTION_ALERT

Definition at line 33 of file packet.c.

References Packet_::action, ACTION_ALERT, ACTION_DROP_REJECT, DEBUG_VALIDATE_BUG_ON, Packet_::drop_reason, PKT_DROP_REASON_INNER_PACKET, PKT_DROP_REASON_NOT_SET, and Packet_::root.

Referenced by ExceptionPolicyParse().

Here is the caller graph for this function:

◆ PacketInit()

void PacketInit ( Packet p)

Initialize a packet structure for use.

Definition at line 63 of file packet.c.

References PacketAlerts_::alerts, Packet_::alerts, Packet_::livedev, PacketAlertCreate(), Packet_::persistent, SCSpinInit, and Packet_::tunnel_lock.

Referenced by PacketGetFromAlloc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PacketRecycle()

void PacketRecycle ( Packet p)

Definition at line 143 of file packet.c.

References PacketReinit(), and PacketReleaseRefs().

Here is the call graph for this function:

◆ PacketReinit()

void PacketReinit ( Packet p)

◆ PacketReleaseRefs()

void PacketReleaseRefs ( Packet p)

Definition at line 70 of file packet.c.

Referenced by PacketDestructor(), and PacketRecycle().

Here is the caller graph for this function: