Page MenuHomeVyOS Platform

Add CLI support for interface txqueuelen configuration
Open, NormalPublicFEATURE REQUEST

Description

Summary

Add native CLI support for configuring the Transmit Queue Length (txqueuelen) on ethernet interfaces.

Use case

The default Linux txqueuelen value (typically 1000) is often insufficient for high-speed interfaces (10Gbps, 40Gbps, and beyond) or interfaces handling heavy bursts of traffic.

Increasing the txqueuelen is a standard performance tuning step to:

  • Prevent packet drops: Avoid "tail drops" during micro-bursts of traffic when the transmit queue fills up faster than the driver can process it.
  • Improve Throughput: Ensure consistent performance on high-bandwidth, high-latency links where a larger buffer is required to keep the "pipe" full.
  • Conversely, in some low-latency or VoIP-focused scenarios, engineers might want to decrease this value to reduce "bufferbloat" and jitter, although increasing it is the more common requirement for backbone soft-routers.

Additional information

Currently, users have to resort to ip link set ethX txqueuelen <value> within vyos-postconfig-bootup.script. This is not ideal for a production-grade NOS as it hides critical performance parameters from the running configuration and show commands.

Proposed CLI syntax:

# Example of setting a larger queue for a 10G interface
set interfaces ethernet eth0 hardware txqueuelen 10000

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Feature (new functionality)
Forum thread
https://forum.vyos.io/t/how-to-set-txqueuelen-nic-queues-and-rss-in-vyos/17360