Skip to content

Commit 2cb883b

Browse files
author
Pavel Siska
committed
ipfixprobed: Add example YAML configuration
1 parent 1021fb0 commit 2cb883b

File tree

5 files changed

+104
-0
lines changed

5 files changed

+104
-0
lines changed

init/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
install(FILES
2+
link0.conf.example
23
DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/ipfixprobe
34
)
45

init/link0.conf.example

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Input plugin configuration (input_plugin)
2+
input_plugin:
3+
# IMPORTANT: Only one input plugin can be specified. Choose one of the following options:
4+
# raw, pcap_file, pcap_live, ndp, dpdk_ring, or dpdk.
5+
6+
raw:
7+
interface: eth0 # Network interface name to capture traffic from [required]
8+
blocks_count: 2048 # Number of blocks in the circular buffer (must be a power of 2)
9+
packets_in_block: 32 # Number of packets per block (must be a power of 2)
10+
11+
pcap_file:
12+
file: /path/to/pcap/file.pcap # Path to the PCAP file to read from [required]
13+
bpf_filter: null # Optional BPF filter (e.g., "port 80"), null = no filter
14+
15+
pcap_live:
16+
interface: eth0 # Network interface for live packet capture [required]
17+
bpf_filter: null # Optional BPF filter (null = no filter)
18+
snap_length: 65535 # Maximum packet capture length
19+
20+
ndp:
21+
device: /dev/nfb0 # Device for packet capture (e.g., /dev/nfb0) [required]
22+
queues: "0-15" # List of queue IDs (e.g., "0,1,2-3,7") [required]
23+
24+
dpdk_ring:
25+
ring_name: ring0 # Name of the shared DPDK ring buffer [required]
26+
eal_opts: null # EAL options (null = default options)
27+
burst_size: 64 # Number of packets processed in each burst (cycle)
28+
29+
dpdk:
30+
allowed_nics: "0000:00:00.0,0000:00:00.1" # List of allowed NICs (PCI addresses) [required]
31+
burst_size: 64 # Number of packets processed in each burst (cycle)
32+
mempool_size: 8192 # Size of the memory pool (must be a power of 2)
33+
rx_queues: 1 # Number of RX (receive) queues
34+
eal_opts: null # EAL options (null = default options)
35+
mtu: null # Maximum Transmission Unit (defaults to RTE_ETHER_MAX_LEN)
36+
37+
# Storage configuration (storage)
38+
storage:
39+
cache:
40+
size_exponent: 20 # Cache size as a power of 2 (e.g., 2^20)
41+
line_size_exponent: 4 # Cache line size as a power of 2 (e.g., 2^4)
42+
timeouts:
43+
active: 65 # Active timeout duration (in seconds)
44+
inactive: 300 # Inactive timeout duration (in seconds)
45+
split_biflow: true # Whether to split biflow into uniflow (true/false)
46+
47+
fragmentation_cache:
48+
enabled: true # Enable fragmentation cache (true/false)
49+
size: 10007 # Fragmentation cache size (minimum 1)
50+
timeout: 3 # Timeout for fragments in the cache (in seconds)
51+
52+
# List of active process plugins (process_plugins)
53+
process_plugins:
54+
- http # HTTP protocol plugin
55+
- dns # DNS protocol plugin
56+
- quic # QUIC protocol plugin
57+
- tls # TLS protocol plugin
58+
# ...
59+
60+
# Output plugin configuration (output_plugin)
61+
output_plugin:
62+
# IMPORTANT: Only one output plugin can be specified. Choose one of the following options:
63+
# ipfix, unirec, or text.
64+
65+
ipfix:
66+
collector:
67+
host: localhost # IPFIX collector address [required]
68+
port: 4739 # IPFIX collector port [required]
69+
mtu: 1458 # Maximum size of IPFIX packets
70+
exporter:
71+
id: 0 # Exporter ID for IPFIX [required]
72+
dir: 0 # Direction bit field value (0 = incoming, 1 = outgoing)
73+
74+
protocol:
75+
# IMPORTANT: Only one protocol can be selected: udp or tcp.
76+
udp:
77+
template_refresh: 60 # Template refresh rate for UDP protocol (in seconds)
78+
tcp:
79+
non_blocking: false # Whether to use non-blocking TCP sockets (true/false)
80+
81+
compression:
82+
lz4:
83+
enabled: true # Enable LZ4 compression for IPFIX (true/false)
84+
buffer_size: 4500 # Buffer size for LZ4 compression (default: mtu * 3)
85+
86+
text:
87+
file: /path/to/output/file.txt # Path to output file (use null for stdout)
88+
89+
# Telemetry settings (telemetry)
90+
telemetry:
91+
appfs:
92+
enabled: true # Enable AppFS telemetry (true/false)
93+
mount_point: /var/run/ipfixprobe/ # Mount point for telemetry data storage
94+
95+
# General configuration (general)
96+
general:
97+
queues_size:
98+
input: 64 # Size of the input packet queue [required]
99+
output: 16536 # Size of the output packet queue [required]
100+
cpu_mask: 0x1 # CPU mask for process binding (use hexadecimal format)

pkg/rpm/ipfixprobe-msec.spec.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ source /opt/rh/gcc-toolset-14/enable
9696
%{_libdir}/ipfixprobe/storage/libipfixprobe-storage-cache.so
9797

9898
%{_libdir}/ipfixprobe/config2args.py
99+
%{_sysconfdir}/ipfixprobe/link0.conf.example
99100

100101
%{_unitdir}/ipfixprobe-monitoring.target
101102
%{_unitdir}/[email protected]

pkg/rpm/ipfixprobe-nemea.spec.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ source /opt/rh/gcc-toolset-14/enable
112112
%{_libdir}/ipfixprobe/storage/libipfixprobe-storage-cache.so
113113

114114
%{_libdir}/ipfixprobe/config2args.py
115+
%{_sysconfdir}/ipfixprobe/link0.conf.example
115116

116117
%{_unitdir}/ipfixprobe-monitoring.target
117118
%{_unitdir}/[email protected]

pkg/rpm/ipfixprobe.spec.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ source /opt/rh/gcc-toolset-14/enable
141141
%{_libdir}/ipfixprobe/storage/libipfixprobe-storage-cache.so
142142

143143
%{_libdir}/ipfixprobe/config2args.py
144+
%{_sysconfdir}/ipfixprobe/link0.conf.example
144145

145146
%{_unitdir}/ipfixprobe-monitoring.target
146147
%{_unitdir}/[email protected]

0 commit comments

Comments
 (0)