The packet processor is configured through the data-plane.conf
file.
The optimal settings are determined automatically at startup. By default, this file is empty.
Comments are specified with #
, //
or /* */
.
Available parameters:
// Control socket port.
// [1, 65535]
control_port: 8888
// Debug control socket port.
// [1, 65535]
debug_port: 8889
// Number of control socket processing threads.
// [1, 1000]
control_threads: 20
// Control socket request timeout (seconds).
// [0, 10000]
control_request_timeout: 15
// Control socket request/response content timeout (seconds).
// [0, 10000]
control_content_timeout: 300
// Enable control socket log.
control_log: false
// Control socket log message length limit.
// [0, 100000]
control_log_limit: 100
// Maximum supported number of IPv4 policies.
// [1, 60000]
max_policies: 100
// Maximum supported number of IPv6 policies.
// [1, 60000]
max_policies6: 100
// Size of packet memory pool (per NUMA node).
// [1, 2^31] or `auto` for auto-detect.
packet_mempool_size: auto
// Maximum allowed SIMD bitwidth.
// [0, 512] or `auto`
max_simd_bitwidth: auto
// MAC resolver request retransmit delay (seconds).
// [1, 10000]
mac_retransmit_time: 5
// MAC resolver entry validity period (seconds).
// [1, 10000]
mac_reachable_time: 30
// MAC resolver stale entry cleanup timeout (seconds).
// [1, 10000]
mac_stale_time: 60
// Deferred start of packet processing.
deferred_start: false
// Link state propagation of port pairs.
port_lsp: false
// Port MTU (for all ports).
// [0, 65535]
port_mtu: 1500
// Number of port RX queue ring descriptors.
// [0, 65535]
port_rx_desc: 1024
// Number of port TX queue ring descriptors.
// [0, 65535]
port_tx_desc: 1024
// Maximum retries of port packet TX (power of 2).
// [0, 63]
port_tx_retries: 7
// Port direct IO mode.
// If `true`, process ports on single core per port RX/TX queue.
// Boolean or `auto` for auto-detect.
port_direct_mode: auto
// Bypass traffic on packet processor congestion (for `port_direct_mode: false`).
congestion_bypass: false
// Process each port of dual-port NIC on separate cores (for `port_direct_mode: true`).
// Improves performance for 100G or larger ports when both ports are used.
dual_port_mode: false
// Size of port RX/TX packet ring buffers (for `port_direct_mode: false`).
// [1, 2^20]
port_ring_size: 8192
// Port RX IO core list (for `port_direct_mode: false`).
// Range list [0, 127] or `auto|ht|noht`:
// `auto` - auto-detect,
// `ht` - auto-detect, use HT core pairs,
// `noht` - auto-detect, do not use HT core pairs.
port_cores: auto
// Number of port IO cores (per NUMA node, for `port_direct_mode: false`).
// [0, 128], 0 - auto-detect
port_cores_nr: 0
// Port NUMA nodes.
// Range list [0, 1] or `auto|all`:
// `auto` - auto-detect,
// `all` - use all nodes.
port_nodes: auto
// Worker cores.
// Range list [0, 127] or `auto|ht|noht`:
// `auto` - auto-detect,
// `ht` - auto-detect, use HT core pairs,
// `noht` - auto-detect, do not use HT core pairs.
worker_cores: auto
// Limit number of worker cores (per NUMA node).
// [0, 128], 0 - unlimited
worker_cores_nr: 0
// Worker NUMA nodes.
// Range list [0, 1] or `auto|all`:
// `auto` - auto-detect,
// `all` - use all nodes.
worker_nodes: auto
// Port list and settings.
// Auto-configured for all detected ports if not specified.
// If specified, all used ports must be listed.
//
// Format:
// <port zone> [ext|int] <pair index> [0, 255] : <port id>
// port id:
// `PCI address` [aaaa:bb:cc.d|bb:cc.d] or `Port number` [0, 255] or `Port name`.
ext0: 0
// Number of port RX queue ring descriptors.
// [0, 65535], 0 - default
rx_desc: 0
// Number of port TX queue ring descriptors.
// [0, 65535], 0 - default
tx_desc: 0
// Port direct IO mode.
// Boolean or `auto` for auto-detect.
direct_mode: auto
// Port RX IO cores (for `direct_mode: false`).
// Range list [0, 127] or `auto|ht|noht`:
// `auto` - auto-detect,
// `ht` - auto-detect, use HT core pairs,
// `noht` - auto-detect, do not use HT core pairs.
cores: auto
// Number of port IO cores (per NUMA node, for `direct_mode: false`).
// [0, 128], 0 - auto-detect
cores_nr: 0
// Port NUMA nodes.
// Range list [0, 1] or `auto|all`:
// `auto` - auto-detect,
// `all` - use all nodes.
nodes: auto