The VyOS CLI validation limits num-rx-desc and num-tx-desc for VPP interfaces to a maximum of 16384. However, modern hardware like Mellanox ConnectX-4/5/6 supports up to 32768 descriptors.
When attempting to tune the descriptor queues for a 40Gbps interface, the CLI rejects the valid hardware value.
According to vppctl show hardware-interfaces detail, the hardware max is clearly reported as 32768 by the DPDK driver. The CLI definitions (likely in vpp.xml.in or related validation scripts) need to be expanded to allow <256-32768> or higher, as restricting it prevents proper performance tuning on high-speed ISP environments.
- Steps to reproduce
set vpp settings interface eth2 num-rx-desc 32768 set vpp settings interface eth2 num-tx-desc 32768
- Expected behavior
The CLI should accept 32768 as a valid descriptor value, passing it to VPP.
- Actual behavior
The CLI validation rejects the value:
set vpp settings interface eth2 num-rx-desc 32768 Possible completions: <256-16384> Number of descriptors in receive ring set vpp settings interface eth2 num-tx-desc 32768 Number is not in any of allowed ranges Value validation failed
- System Information
Version: VyOS 2026.08.19-0012-rolling Release train: rolling Release flavor: generic Architecture: x86_64 System type: bare metal Hardware vendor: Supermicro
- Additional Context
VPP clearly sees the hardware capability of 32768:
sudo vppctl show hardware-interfaces detail eth2
Name Idx Link Hardware
eth2 1 up eth2
Link speed: 40 Gbps
RX Queues:
queue thread mode
0 vpp_wk_0 (1) polling
1 vpp_wk_1 (2) polling
2 vpp_wk_2 (3) polling
3 vpp_wk_3 (4) polling
4 vpp_wk_4 (5) polling
5 vpp_wk_0 (1) polling
TX Queues:
TX Hash: [name: hash-eth-l34 priority: 50 description: Hash ethernet L34 headers]
queue shared thread(s)
0 no 0
1 no 1
2 no 2
3 no 3
4 no 4
5 no 5
Ethernet address 98:03:9b:c4:a0:00
Mellanox ConnectX-4/5/6 Family
carrier up full duplex max-frame-size 1522 promisc
flags: admin-up promisc maybe-multiseg tx-offload intel-phdr-cksum rx-ip4-cksum
Devargs:
rx: queues 6 (max 1024), desc 16384 (min 0 max 32768 align 1)
tx: queues 6 (max 1024), desc 8192 (min 0 max 32768 align 1)
pci: device 15b3:1017 subsystem 15b3:0007 address 0000:01:00.00 numa 0
switch info: name 0000:01:00.0 domain id 0 port id 65535
module: id QSFP+, compatibility: 40g_active_cable