Nextmini

Dataplane Configuration

Reference for dataplane startup inputs, node and network settings, runtime state, and lossless runtime configuration.

The dataplane configuration file (typically config.toml or node.toml) defines node-specific settings.

Startup CLI Inputs

InputDefaultDescription
CONTROLLER_ADDR (positional)unsetOptional positional override for controller_addr. When provided, it takes precedence over values from the config file and CLI flags.
--config-pathconfig.tomlPath to the dataplane config file loaded at startup (config_path).

Controller Connection

FieldTypeDefaultCLI FlagDescription
controller_addrString""--controller-addrWebSocket address of the controller (for example, ws://192.168.1.1:3000). A plain host:port value is normalized to ws://host:port.
controller_connect_timeout_msu645000(not exposed)Timeout in milliseconds for the initial WebSocket connection to the controller. Config-file only.

Node Identity

FieldTypeDefaultCLI FlagDescription
node_idusize0--node-idUnique node identifier (auto-assigned if 0).
n_nodesusize1--n-nodesTotal number of dataplane nodes.
node_id_offsetusize0--node-id-offsetOffset added to computed node IDs (for namespace mode).

Network Interface Configuration

FieldTypeDefaultCLI FlagDescription
private_network_nameString""--private-network-nameShared private network identifier.
private_network_interfaceString"eth0"--private-network-interfaceNetwork interface for private network.
private_network_addrString""--private-network-addrExplicit IPv4 address for private network interface (auto-detected when empty).
private_network_portString"8080"--private-network-portPort for private network communication.
public_network_interfaceString"eth0"--public-network-interfaceNetwork interface for public network.
public_network_addrString""--public-network-addrExplicit IPv4 address for public network interface (auto-detected when empty).
public_network_portString"8080"--public-network-portPort for public network communication.
tun_interface_nameString"utun"--tun-interface-nameName of the TUN interface.
mtui321400--mtuMTU of the TUN interface (max 6400).
enable_local_interfacebooltrue--enable-local-interfaceEnable kernel TUN interface. Set to false when using Python API.

Processing Configuration

FieldTypeDefaultCLI FlagDescription
num_tun_queuesusize1--num-tun-queuesNumber of TUN queues.
num_packet_processorsusize0--num-packet-processorsNumber of packet processors (0 = use CPU count).
channel_capacityusize1000--channel-capacityCapacity for channels between actors.
queue_capacityusize1000--queue-capacityCapacity of scheduler queues.
channel_backpressureboolfalse--channel-backpressureApply backpressure instead of dropping when channels are full.

Protocol Configuration

Dataplane transport settings are documented in Transport Configuration, including CLI usage and examples for protocol and quic_congestion_control.

Scheduling Configuration

FieldTypeDefaultCLI FlagDescription
scheduler_typeSchedulingDisciplinefifo--scheduler-typeScheduler discipline: fifo or wrr.
scheduler_drop_strategyDropStrategytaildrop--scheduler-drop-strategyDrop strategy: taildrop or red (Random Early Detection).

Processing Mode

FieldTypeDefaultCLI FlagDescription
featureFeaturesequential--featureProcessing mode: sequential (in-order) or concurrent (parallel, may reorder).
operating_modeOperatingModenormal(from controller)Operating mode: normal or max.

Runtime-populated Dataplane State

These fields are maintained at runtime and should not be treated as user tuning knobs.

FieldRuntime source
local_addressComputed from node identity and controller-provided base network settings.
virtual_base_addrReceived from controller startup configuration (base_addr).
user_space_addressComputed from node identity and user-space base network.
external_base_addrReceived from controller startup configuration (external_base_addr).
local_netmaskReceived from controller startup configuration (net_mask).
operating_modeUpdated from controller node specifications.
flowUpdated from controller flow messages (AddFlows).
max_server_portReceived from controller startup configuration.

TCP Reordering Configuration

FieldTypeDefaultCLI FlagDescription
enforce_tcp_orderbooltrue--enforce-tcp-orderReorder TCP packets by sequence number before delivery.
delay_toleranceu64500--delay-toleranceMax microseconds to hold a flow waiting for missing TCP segment.
backlog_toleranceu640--backlog-toleranceMax queued TCP packets before forcing delivery (0 = disabled).

User-Space Ports

FieldTypeDefaultCLI FlagDescription
user_space_client_portu1645535--user-space-client-portUser-space client port.
user_space_server_portu168888--user-space-server-portUser-space server port.

Metrics and Reconnection

FieldTypeDefaultCLI FlagDescription
metrics_collection_intervalu645--metrics-collection-intervalMetrics collection interval in seconds.
restart_on_disconnectboolfalse--restart-on-disconnectRestart node when connection to controller is lost.

Auto-Configuration (Namespace Mode)

FieldTypeDefaultCLI FlagDescription
auto_enable_ip_forwardboolfalse--auto-enable-ip-forwardAutomatically enable IPv4 forwarding.
auto_add_forward_rulesboolfalse--auto-add-forward-rulesAdd FORWARD rules between namespace bridge and outbound interface.
auto_add_natboolfalse--auto-add-natAdd MASQUERADE rule for namespace subnet.

Namespace Mode Configuration

These settings control multi-node deployment on a single machine using Linux namespaces.

FieldTypeDefaultDescription
bridge_nameString"isobr0"Linux bridge name for namespace isolation.
bridge_ipString"172.16.8.1"IPv4 address for the bridge.
subnetu816Subnet mask length (CIDR).
interval_between_spawnu6450Milliseconds between node creation.
carrier_max_wait_msu6420000Max wait time for veth interface carrier.
carrier_poll_interval_msu64100Poll interval for carrier checks.
child_start_delay_msu64150Delay after spawning child before handshake.
handshake_timeout_msu6425000Timeout for network setup handshake.

Lossless Session Configuration

See Lossless Session Configuration for the full configuration details, sample [lossless_runtime_config] block, and runtime Python interop notes.

On this page