62#include <yaf/autoinc.h>
90#define YF_MPLS_LABEL_COUNT_MAX 3
159#if defined(YAF_ENABLE_P0F) || defined(YAF_ENABLE_FPEXPORT)
174#define YF_PBUFLEN_NOL2INFO offsetof(yfPBuf_t, l2info)
177#define YF_PBUFLEN_NOPAYLOAD offsetof(yfPBuf_t, paylen)
180#define YF_PBUFLEN_BASE offsetof(yfPBuf_t, payload)
182struct yfDecodeCtx_st;
184typedef struct yfDecodeCtx_st yfDecodeCtx_t;
187#define YF_TYPE_IPv4 0x0800
189#define YF_TYPE_IPv6 0x86DD
194#define YF_TYPE_IPANY 0x0000
197#define YF_PROTO_IP6_HOP 0
199#define YF_PROTO_ICMP 1
201#define YF_PROTO_TCP 6
203#define YF_PROTO_UDP 17
205#define YF_PROTO_IP6_ROUTE 43
207#define YF_PROTO_IP6_FRAG 44
209#define YF_PROTO_GRE 47
211#define YF_PROTO_ICMP6 58
213#define YF_PROTO_IP6_NONEXT 59
215#define YF_PROTO_IP6_DOPT 60
218#define YF_TF_FIN 0x01
220#define YF_TF_SYN 0x02
222#define YF_TF_RST 0x04
224#define YF_TF_PSH 0x08
226#define YF_TF_ACK 0x10
228#define YF_TF_URG 0x20
230#define YF_TF_ECE 0x40
232#define YF_TF_CWR 0x80
235#define YF_MF_PRIO_CHANGE 0x01
237#define YF_MF_PRIORITY 0x02
239#define YF_MF_FAIL 0x04
241#define YF_MF_FASTCLOSE 0x08
270 GArray *geneveports);
331 const struct timeval *tv);
342 uint64_t packetTotal);
A YAF flow key.
Definition yafcore.h:244
Fragmentation information structure.
Definition decode.h:66
uint16_t offset
Fragment offset within the reassembled datagram.
Definition decode.h:70
uint16_t l4hlen
Decoded header length.
Definition decode.h:77
uint8_t more
More fragments flag.
Definition decode.h:86
uint32_t ipid
Fragment ID.
Definition decode.h:68
uint16_t iphlen
IP header length.
Definition decode.h:72
uint8_t frag
Fragmented packet flag.
Definition decode.h:82
Datalink layer information structure.
Definition decode.h:93
uint16_t vlan_tag
VLAN tag.
Definition decode.h:101
uint32_t mpls_label[YF_MPLS_LABEL_COUNT_MAX]
MPLS label stack.
Definition decode.h:105
uint32_t mpls_count
MPLS label count.
Definition decode.h:103
uint8_t dmac[6]
Destination MAC address.
Definition decode.h:97
uint16_t l2hlen
Layer 2 Header Length.
Definition decode.h:99
uint8_t smac[6]
Source MAC address.
Definition decode.h:95
MPTCP information structure.
Definition decode.h:109
uint32_t token
token
Definition decode.h:113
uint8_t flags
flags
Definition decode.h:117
uint64_t idsn
initial dsn
Definition decode.h:111
uint16_t mss
maximum segment size
Definition decode.h:115
Full packet information structure.
Definition decode.h:133
uint64_t pcap_offset
offset into pcap
Definition decode.h:145
yfTCPInfo_t tcpinfo
TCP information structure.
Definition decode.h:156
yfTime_t ptime
Packet timestamp.
Definition decode.h:135
uint32_t iplen
Packet IP length.
Definition decode.h:149
yfL2Info_t l2info
Decoded layer 2 information.
Definition decode.h:158
pcap_t * pcapt
pcap struct
Definition decode.h:143
uint16_t ifnum
Interface number packet was decoded from.
Definition decode.h:151
uint16_t pcap_caplist
caplist
Definition decode.h:147
size_t paylen
Length of payload available in captured payload buffer.
Definition decode.h:166
size_t allHeaderLen
Length of all headers, L2, L3, L4.
Definition decode.h:139
struct pcap_pkthdr pcap_hdr
pcap header
Definition decode.h:141
yfFlowKey_t key
Flow key containing decoded IP and transport headers.
Definition decode.h:137
uint8_t frag
flag for determining if the packet was fragmented 0-no, 1-yes, 2-not fully assembled
Definition decode.h:154
uint8_t payload[1]
Captured payload buffer.
Definition decode.h:170
TCP information structure.
Definition decode.h:123
uint32_t seq
TCP sequence number.
Definition decode.h:125
uint8_t flags
TCP flags.
Definition decode.h:127
yfMPTCPInfo_t mptcp
MPTCP Info.
Definition decode.h:129
YAF timestamp: represents a moment in time.
Definition yaftime.h:47
#define YFP_IPTCPHEADER_SIZE
This is the size of the packet to store away for use primarily in passive OS fingerprinting,...
Definition yafcore.h:173