105#include <yaf/autoinc.h>
107#include <yaf/decode.h>
116#define YAF_STAT_CLOSED_SIZE 6
335 uint32_t max_mpls_labels;
339 uint32_t stat_mpls_labels;
380 char *new_file_name);
Configuration settings used to initalize the flow table in yfFlowTabAlloc().
Definition yaftab.h:129
gboolean pcap_index
If TRUE, print one line per packet we export.
Definition yaftab.h:257
gboolean flowstats_mode
If TRUE, then YAF will do some extra calculations on flows.
Definition yaftab.h:223
uint32_t max_payload
Maximum octets of payload to capture per flow direction.
Definition yaftab.h:154
gboolean silk_mode
If TRUE, clamp totalOctetCount and maxTotalOctetCount to 32 bits and force active timeout on overflow...
Definition yaftab.h:269
gboolean entropy_mode
If TRUE, then a Shannon Entropy measurement is made over the captured payload (as limited by max_payl...
Definition yaftab.h:219
const char * pcap_meta_file
File for pcap meta output.
Definition yaftab.h:175
uint32_t applabel_check_early
A non-zero value enables early appLabel detection.
Definition yaftab.h:160
gboolean ndpi
If TRUE, enable nDPI application labeling with standard protocols.
Definition yaftab.h:242
const char * ndpi_proto_file
If not NULL, and ndpi is TRUE, use the provided protocol file to expand the sub-protocols list and po...
Definition yaftab.h:166
gboolean p0f_mode
If TRUE, then this will enable passive OS finger printing using the p0f engine based mostly on TCP ne...
Definition yaftab.h:252
GArray * applabel_max_paylen
Max payload length to store per appLabel.
Definition yaftab.h:199
gboolean fpexport_mode
If TRUE, then this will enable exporting of full packet banners of the TCP negotiations for the first...
Definition yaftab.h:234
gboolean uniflow_mode
If TRUE, export biflows using record adjacency (two uniflows exported back-to-back.
Definition yaftab.h:281
const char * pcap_dir
Directory to put pcap-per-flow files.
Definition yaftab.h:171
gboolean no_vlan_in_key
If TRUE, this will remove the vlan in the calculation of the flow key hash.
Definition yaftab.h:247
gboolean applabel_mode
If TRUE, then the payload, (as limited by max_payload,) is sent through various plugins and code in o...
Definition yaftab.h:213
uint16_t udp_uniflow_port
If not 0, then this will enable exporting a single UDP packet with this src/dst port as a flow.
Definition yaftab.h:205
gboolean pcap_per_flow
If TRUE, then pcap_dir will be set to the directory to place pcap-per-flow files.
Definition yaftab.h:262
uint32_t max_flows
Maximum number of active flows.
Definition yaftab.h:147
gboolean mac_mode
If TRUE, collect and export source and destination Mac Addresses.
Definition yaftab.h:238
int32_t idle_sec
Idle timeout in seconds.
Definition yaftab.h:140
uint32_t pcap_search_flowkey
The flow key hash to create a PCAP for.
Definition yaftab.h:183
int32_t active_sec
Active timeout in seconds.
Definition yaftab.h:135
uint64_t pcap_max
Maximum size [in bytes] of a pcap file before rotating.
Definition yaftab.h:179
gboolean udp_multipkt_payload
If TRUE, then this will enable capturing payload for all UDP packets in a flow (instead of just the f...
Definition yaftab.h:275
gboolean force_read_all
If TRUE, then yaf will process files that are out of sequence.
Definition yaftab.h:228
const char * pcap_search_stime
The start time to create a PCAP for.
Definition yaftab.h:187
Flow table statistics.
Definition yaftab.h:290
uint32_t stat_peak
Peak number of active flows ever held in the flow table.
Definition yaftab.h:322
uint64_t stat_opened
Number of flow records created.
Definition yaftab.h:314
uint64_t stat_uniflows
Subset of stat_flows that were uniflow (had no reverse data).
Definition yaftab.h:310
uint64_t stat_flows
Total number of flow records created.
Definition yaftab.h:306
uint64_t stat_closed[YAF_STAT_CLOSED_SIZE]
Number of flow records closed for various YAF_END_* reasons.
Definition yaftab.h:318
uint64_t stat_seqrej
Number of packets rejected because they were out of sequence.
Definition yaftab.h:302
uint32_t stat_flush
Number of flow table flush events.
Definition yaftab.h:326
uint32_t stat_count
Current number of active flow records.
Definition yaftab.h:330
uint64_t stat_octets
Sum of lengths for all packets read.
Definition yaftab.h:294
uint64_t stat_packets
Number of packets read.
Definition yaftab.h:298
void yfFlowTabGetStats(const yfFlowTab_t *flowtab, yfFlowTabStats_t *tabstats)
Fills tabstats with a copy of the current statistics for the flow table.
void yfUpdateRollingPcapFile(yfFlowTab_t *flowtab, char *new_file_name)
Update the Pcap Filename in the Flowtab for pcap meta data output.
void yfFlowTabCurrentTime(const yfFlowTab_t *flowtab, yfTime_t *yftime)
Get the current packet clock from a flow table.
void yfFlowTabFree(yfFlowTab_t *flowtab)
Free a previously allocated flow table.
gboolean yfFlowTabFlush(void *yfContext, gboolean close, GError **err)
Flush closed flows in the given flow table to the given IPFIX Message Buffer.
#define YAF_STAT_CLOSED_SIZE
Size of yfFlowTabStats_t.stat_closed[] table for holding YAF_END_* reasons.
Definition yaftab.h:116
struct yfFlowTabConfig_st yfFlowTabConfig_t
Configuration settings used to initalize the flow table in yfFlowTabAlloc().
void yfFlowPBuf(yfFlowTab_t *flowtab, size_t pbuflen, yfPBuf_t *pbuf)
Add a decoded packet buffer to a given flow table.
struct yfFlowTabStats_st yfFlowTabStats_t
Flow table statistics.
uint64_t yfFlowTabDumpStats(yfFlowTab_t *flowtab, GTimer *timer)
Print flow table statistics to the log.
struct yfFlowTab_st yfFlowTab_t
A flow table.
Definition yaftab.h:123
yfFlowTab_t * yfFlowTabAlloc(const yfFlowTabConfig_t *ftconfig, void **hfctx)
yfFlowTabAlloc