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