suricata
Packet_ Struct Reference

#include <decode.h>

Collaboration diagram for Packet_:

Data Fields

Address src
 
Address dst
 
union {
   Port   sp
 
   struct {
      uint8_t   type
 
      uint8_t   code
 
   }   icmp_s
 
}; 
 
union {
   Port   dp
 
   struct {
      uint8_t   type
 
      uint8_t   code
 
   }   icmp_d
 
}; 
 
uint8_t proto
 
uint8_t recursion_level
 
uint16_t vlan_id [2]
 
uint8_t vlan_idx
 
uint8_t flowflags
 
uint32_t flags
 
struct Flow_flow
 
uint32_t flow_hash
 
struct timeval ts
 
union {
   NFQPacketVars   nfq_v
 
   IPFWPacketVars   ipfw_v
 
   PcapPacketVars   pcap_v
 
}; 
 
void(* ReleasePacket )(struct Packet_ *)
 
int(* BypassPacketsFlow )(struct Packet_ *)
 
PktVarpktvar
 
EthernetHdr * ethh
 
int32_t level3_comp_csum
 
int32_t level4_comp_csum
 
IPV4Hdrip4h
 
IPV6Hdrip6h
 
union {
   IPV4Vars   ip4vars
 
   struct {
      IPV6Vars   ip6vars
 
      IPV6ExtHdrs   ip6eh
 
   } 
 
}; 
 
union {
   TCPVars   tcpvars
 
   ICMPV4Vars   icmpv4vars
 
   ICMPV6Vars   icmpv6vars
 
l4vars
 
TCPHdr * tcph
 
UDPHdr * udph
 
SCTPHdr * sctph
 
ICMPV4Hdr * icmpv4h
 
ICMPV6Hdricmpv6h
 
PPPHdr * ppph
 
PPPOESessionHdrpppoesh
 
PPPOEDiscoveryHdr * pppoedh
 
GREHdr * greh
 
uint8_t * payload
 
uint16_t payload_len
 
uint8_t action
 
uint8_t pkt_src
 
uint32_t pktlen
 
uint8_t * ext_pkt
 
struct LiveDevice_livedev
 
PacketAlerts alerts
 
struct Host_host_src
 
struct Host_host_dst
 
uint64_t pcap_cnt
 
PacketEngineEvents events
 
AppLayerDecoderEventsapp_layer_events
 
struct Packet_next
 
struct Packet_prev
 
int datalink
 
struct Packet_root
 
SCMutex tunnel_mutex
 
uint16_t tunnel_rtv_cnt
 
uint16_t tunnel_tpr_cnt
 
uint32_t tenant_id
 
struct PktPool_pool
 
PktProfilingprofile
 
NapatechPacketVars ntpv
 

Detailed Description

Definition at line 410 of file decode.h.

Field Documentation

◆ @41

union { ... }

◆ @43

union { ... }

◆ @45

union { ... }

◆ @47

union { ... }

◆ action

uint8_t Packet_::action

Definition at line 547 of file decode.h.

◆ alerts

◆ app_layer_events

AppLayerDecoderEvents* Packet_::app_layer_events

Definition at line 570 of file decode.h.

Referenced by PacketCreateMask().

◆ BypassPacketsFlow

int(* Packet_::BypassPacketsFlow) (struct Packet_ *)

The function triggering bypass the flow in the capture method. Return 1 for success and 0 on error

Definition at line 490 of file decode.h.

Referenced by PacketBypassCallback(), and ReceivePfringLoop().

◆ code

uint8_t Packet_::code

Definition at line 422 of file decode.h.

◆ datalink

int Packet_::datalink

data linktype in host order

Definition at line 577 of file decode.h.

Referenced by DecodeErfDag(), EvePacket(), JsonPacket(), NapatechDecode(), PacketDefragPktSetup(), PacketTunnelPktSetup(), and StreamTcpPseudoSetup().

◆ dp

◆ dst

◆ ethh

EthernetHdr* Packet_::ethh

Definition at line 496 of file decode.h.

Referenced by DecodeEthernet().

◆ events

PacketEngineEvents Packet_::events

◆ ext_pkt

uint8_t* Packet_::ext_pkt

Definition at line 553 of file decode.h.

Referenced by PacketCallocExtPkt(), PacketCopyDataOffset(), and PacketSetData().

◆ flags

◆ flow

◆ flow_hash

uint32_t Packet_::flow_hash

Definition at line 452 of file decode.h.

Referenced by FlowGetFlowFromHash(), FlowSetupPacket(), and TmqhOutputFlowHash().

◆ flowflags

◆ greh

GREHdr* Packet_::greh

Definition at line 539 of file decode.h.

Referenced by DecodeGRE().

◆ host_dst

struct Host_* Packet_::host_dst

Definition at line 561 of file decode.h.

◆ host_src

struct Host_* Packet_::host_src

Definition at line 560 of file decode.h.

◆ icmp_d

struct { ... } Packet_::icmp_d

Referenced by DecodeICMPV4(), and DecodeICMPV6().

◆ icmp_s

struct { ... } Packet_::icmp_s

◆ icmpv4h

ICMPV4Hdr* Packet_::icmpv4h

Definition at line 531 of file decode.h.

Referenced by DecodeICMPV4(), and FlowInit().

◆ icmpv4vars

ICMPV4Vars Packet_::icmpv4vars

Definition at line 518 of file decode.h.

Referenced by DecodeICMPV4().

◆ icmpv6h

ICMPV6Hdr* Packet_::icmpv6h

Definition at line 533 of file decode.h.

Referenced by DecodeICMPV6().

◆ icmpv6vars

ICMPV6Vars Packet_::icmpv6vars

Definition at line 519 of file decode.h.

◆ ip4h

IPV4Hdr* Packet_::ip4h

Definition at line 503 of file decode.h.

Referenced by UTHFreePacket().

◆ ip4vars

IPV4Vars Packet_::ip4vars

Definition at line 509 of file decode.h.

◆ ip6eh

IPV6ExtHdrs Packet_::ip6eh

Definition at line 512 of file decode.h.

Referenced by DecodeIPV6FragHeader().

◆ ip6h

IPV6Hdr* Packet_::ip6h

Definition at line 505 of file decode.h.

Referenced by UTHBuildPacketIPV6Real().

◆ ip6vars

IPV6Vars Packet_::ip6vars

Definition at line 511 of file decode.h.

◆ ipfw_v

IPFWPacketVars Packet_::ipfw_v

Definition at line 465 of file decode.h.

◆ l4vars

union { ... } Packet_::l4vars

◆ level3_comp_csum

int32_t Packet_::level3_comp_csum

Definition at line 499 of file decode.h.

◆ level4_comp_csum

int32_t Packet_::level4_comp_csum

Definition at line 501 of file decode.h.

◆ livedev

struct LiveDevice_* Packet_::livedev

Definition at line 556 of file decode.h.

Referenced by FlowInit(), PacketDefragPktSetup(), and PacketTunnelPktSetup().

◆ next

struct Packet_* Packet_::next

Definition at line 573 of file decode.h.

Referenced by TmThreadDumpThreads().

◆ nfq_v

NFQPacketVars Packet_::nfq_v

Definition at line 462 of file decode.h.

◆ ntpv

NapatechPacketVars Packet_::ntpv

Definition at line 608 of file decode.h.

◆ payload

◆ payload_len

◆ pcap_cnt

uint64_t Packet_::pcap_cnt

packet number in the pcap file, matches wireshark

Definition at line 564 of file decode.h.

Referenced by AlertFastLogger(), FlowHandlePacketUpdate(), StreamReassembleRawUpdateProgress(), StreamTcp(), and StreamTcpPacket().

◆ pcap_v

PcapPacketVars Packet_::pcap_v

libpcap vars: shared by Pcap Live mode and Pcap File mode

Definition at line 483 of file decode.h.

◆ pkt_src

uint8_t Packet_::pkt_src

Definition at line 549 of file decode.h.

◆ pktlen

uint32_t Packet_::pktlen

Definition at line 552 of file decode.h.

◆ pktvar

PktVar* Packet_::pktvar

Definition at line 493 of file decode.h.

Referenced by PktVarAdd(), PktVarAddKeyValue(), and PktVarGet().

◆ pool

struct PktPool_* Packet_::pool

Definition at line 602 of file decode.h.

◆ ppph

PPPHdr* Packet_::ppph

Definition at line 535 of file decode.h.

Referenced by DecodePPP().

◆ pppoedh

PPPOEDiscoveryHdr* Packet_::pppoedh

Definition at line 537 of file decode.h.

Referenced by DecodePPPOEDiscovery().

◆ pppoesh

PPPOESessionHdr* Packet_::pppoesh

Definition at line 536 of file decode.h.

Referenced by DecodePPPOESession().

◆ prev

struct Packet_* Packet_::prev

Definition at line 574 of file decode.h.

◆ profile

PktProfiling* Packet_::profile

Definition at line 605 of file decode.h.

Referenced by SCProfileRuleStart(), and SCProfilingAddPacket().

◆ proto

◆ recursion_level

uint8_t Packet_::recursion_level

◆ ReleasePacket

void(* Packet_::ReleasePacket) (struct Packet_ *)

The release function for packet structure and data

Definition at line 487 of file decode.h.

Referenced by PacketGetFromAlloc(), and TmqhOutputPacketpool().

◆ root

◆ sctph

SCTPHdr* Packet_::sctph

Definition at line 529 of file decode.h.

◆ sp

◆ src

◆ tcph

◆ tcpvars

TCPVars Packet_::tcpvars

Definition at line 517 of file decode.h.

◆ tenant_id

uint32_t Packet_::tenant_id

tenant id for this packet, if any. If 0 then no tenant was assigned.

Definition at line 597 of file decode.h.

Referenced by AlertJsonHeader(), Detect(), PacketDefragPktSetup(), and PacketTunnelPktSetup().

◆ ts

◆ tunnel_mutex

SCMutex Packet_::tunnel_mutex

mutex to protect access to:

  • tunnel_rtv_cnt
  • tunnel_tpr_cnt

Definition at line 590 of file decode.h.

Referenced by TmqhOutputPacketpool().

◆ tunnel_rtv_cnt

uint16_t Packet_::tunnel_rtv_cnt

Definition at line 592 of file decode.h.

◆ tunnel_tpr_cnt

uint16_t Packet_::tunnel_tpr_cnt

Definition at line 594 of file decode.h.

◆ type

uint8_t Packet_::type

Definition at line 421 of file decode.h.

◆ udph

UDPHdr* Packet_::udph

Definition at line 527 of file decode.h.

Referenced by FlowInit(), and UTHFreePacket().

◆ vlan_id

uint16_t Packet_::vlan_id[2]

Definition at line 438 of file decode.h.

Referenced by DecodeERSPAN(), DecodeVLAN(), DecodeVLANGetId(), FlowInit(), and PacketDefragPktSetup().

◆ vlan_idx

uint8_t Packet_::vlan_idx

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