|
| 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 | + workers_cpu_list: [] # List of CPU cores assigned to RX queues (must match rx_queues) |
| 35 | + eal_opts: null # EAL options (null = default options) |
| 36 | + mtu: null # Maximum Transmission Unit (defaults to RTE_ETHER_MAX_LEN) |
| 37 | + |
| 38 | +# Storage configuration (storage) |
| 39 | +storage: |
| 40 | + cache: |
| 41 | + size_exponent: 20 # Cache size as a power of 2 (e.g., 2^20) |
| 42 | + line_size_exponent: 4 # Cache line size as a power of 2 (e.g., 2^4) |
| 43 | + timeouts: |
| 44 | + active: 65 # Active timeout duration (in seconds) |
| 45 | + inactive: 300 # Inactive timeout duration (in seconds) |
| 46 | + split_biflow: true # Whether to split biflow into uniflow (true/false) |
| 47 | + |
| 48 | + fragmentation_cache: |
| 49 | + enabled: true # Enable fragmentation cache (true/false) |
| 50 | + size: 10007 # Fragmentation cache size (minimum 1) |
| 51 | + timeout: 3 # Timeout for fragments in the cache (in seconds) |
| 52 | + |
| 53 | +# List of active process plugins (process_plugins) |
| 54 | +process_plugins: |
| 55 | + - http # HTTP protocol plugin |
| 56 | + - dns # DNS protocol plugin |
| 57 | + - quic # QUIC protocol plugin |
| 58 | + - tls # TLS protocol plugin |
| 59 | + # ... |
| 60 | + |
| 61 | +# Output plugin configuration (output_plugin) |
| 62 | +output_plugin: |
| 63 | + # IMPORTANT: Only one output plugin can be specified. Choose one of the following options: |
| 64 | + # ipfix, unirec, or text. |
| 65 | + |
| 66 | + ipfix: |
| 67 | + collector: |
| 68 | + host: localhost # IPFIX collector address [required] |
| 69 | + port: 4739 # IPFIX collector port [required] |
| 70 | + mtu: 1458 # Maximum size of IPFIX packets |
| 71 | + exporter: |
| 72 | + id: 0 # Exporter ID for IPFIX [required] |
| 73 | + dir: 0 # Direction bit field value (0 = incoming, 1 = outgoing) |
| 74 | + |
| 75 | + protocol: |
| 76 | + # IMPORTANT: Only one protocol can be selected: udp or tcp. |
| 77 | + udp: |
| 78 | + template_refresh: 60 # Template refresh rate for UDP protocol (in seconds) |
| 79 | + tcp: |
| 80 | + non_blocking: false # Whether to use non-blocking TCP sockets (true/false) |
| 81 | + |
| 82 | + compression: |
| 83 | + lz4: |
| 84 | + enabled: true # Enable LZ4 compression for IPFIX (true/false) |
| 85 | + buffer_size: 4500 # Buffer size for LZ4 compression (default: mtu * 3) |
| 86 | + |
| 87 | + text: |
| 88 | + file: /path/to/output/file.txt # Path to output file (use null for stdout) |
| 89 | + |
| 90 | +# Telemetry settings (telemetry) |
| 91 | +telemetry: |
| 92 | + appfs: |
| 93 | + enabled: true # Enable AppFS telemetry (true/false) |
| 94 | + mount_point: /var/run/ipfixprobe/ # Mount point for telemetry data storage |
| 95 | + |
| 96 | +# General configuration (general) |
| 97 | +general: |
| 98 | + queues_size: |
| 99 | + input: 64 # Size of the input packet queue [required] |
| 100 | + output: 16536 # Size of the output packet queue [required] |
| 101 | + cpu_mask: 0x1 # CPU mask for process binding (use hexadecimal format) |
0 commit comments