Packet processor settings
The packet processor is configured through the dataplane.conf
file.
The optimal settings are determined automatically at startup.
Comments are specified with #
, //
or /* */
.
Available parameters:
# Control socket TCP port.
# [1, 65535]
control_port: 8888
# Debug control socket TCP port.
# [1, 65535]
debug_port: 8889
# gRPC control socket TCP port.
# [1, 65535]
grpc_port: 8890
# Number of control socket processing threads.
# [1, 1000]
control_threads: 20
# Control socket request timeout (seconds).
# [1, 10000]
control_request_timeout: 15
# Control socket request/response content timeout (seconds).
# [1, 10000]
control_content_timeout: 300
# Enable control socket event log.
control_log: false
# Control socket event log message length limit.
# [0, 100000]
control_log_limit: 100
# Number of sync task threads.
# [1, 1000]
sync_threads: 10
# Enable sync task log.
sync_log: false
# LACP system ID.
# Set to local MAC address if not specified.
lacp_system_id: <auto-detect>
# LACP port operational key.
# [0, 65535]
lacp_oper_key: 1000
# 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
# Maximum allowed number of IPv4 policies.
# [1, 60000]
max_policies: 100
# Maximum allowed number of IPv6 policies.
# [1, 60000]
max_policies6: 100
# Maximum allowed SIMD instruction bitwidth.
# [0, 512]
max_simd_bitwidth: <auto-detect>
# Enable traffic bypass on packet processor congestion (for `port_direct_mode: false`).
congestion_bypass: false
# Enable deferred start of packet processing.
# Starts ports only after full application initialization.
# Prevents network traffic loops.
deferred_start: false
# Enable special processing mode of dual-port NICs (for `port_direct_mode: true`).
# Process each port on a separate set of cores.
# Improves performance for 100G or larger ports when both ports are used.
dual_port_nic: false
# Size of network packet memory pool (per NUMA node).
# [0, 2^31]
packet_mempool_size: <auto-detect>
# Processing mode of network port I/O queues:
# `false` - process port I/O queues on dedicated cores,
# recommended for low speeds.
# `true` - process port I/O queues on worker cores,
# recommended for 100G or higher speeds.
port_direct_mode: false
# Network port link speed (Mb/s).
# [100|1000|10000|...] or [100M|1G|10G|...]
port_link_speed: <auto-negotiate>
# Enable link state propagation of port pairs.
port_lsp: false
# Network port MTU.
# [0, 65535]
port_mtu: 1500
# Size of packet ring buffers between network port I/O queue processing cores
# and worker cores (for `port_direct_mode: false`).
# [0, 2^20]
port_ring_size: 8192
# Number of network port RX descriptors.
# [0, 65535]
port_rx_desc: 1024
# Number of network port TX descriptors.
# [0, 65535]
port_tx_desc: 1024
# Maximum number of retry attempts of network port packet TX.
# [0, 2^31]
port_tx_retries: 128
# Network port I/O queue processing cores (for `port_direct_mode: false`).
# Range list [0, 127] or `ht|noht`:
# `ht` - auto-detect, use HT core pairs,
# `noht` - auto-detect, do not use HT core pairs.
port_cores: <auto-detect>
# Number of network port I/O queue processing cores
# (per NUMA node, for `port_direct_mode: false`).
# [0, 128]
port_cores_nr: <auto-detect>
# NUMA nodes of network port I/O queue processing cores.
# Range list [0, 1] or `all`:
# `all` - use all nodes.
port_nodes: <auto-detect>
# Worker cores.
# Range list [0, 127] or `ht|noht`:
# `ht` - auto-detect, use HT core pairs,
# `noht` - auto-detect, do not use HT core pairs.
worker_cores: <auto-detect>
# Number of worker cores (per NUMA node).
# [0, 128]
worker_cores_nr: <auto-detect>
# Worker core NUMA nodes.
# Range list [0, 1] or `all`:
# `all` - use all nodes.
worker_nodes: <auto-detect>
# Network port list.
# Defines network ports used by packet processor.
# Configures port pairs, port zones and their order.
# 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> or <port_number> [0, 255] or <port_name> (string).
#
# Example:
ext0: 01:00.0
int0: 01:00.1
ext1: 04:00.0
int1: 04:00.1