Page MenuHomeVyOS Platform

VPP gets stuck when rx-queue-size is used with XDP
Closed, ResolvedPublicBUG

Description

VPP XDP with rx-queue-size stuck

VM 4 CPU, 24G memory

set system option kernel cpu disable-nmi-watchdog
set system option kernel cpu isolate-cpus '2-3'
set system option kernel cpu nohz-full '2-3'
set system option kernel cpu rcu-no-cbs '2-3'
set system option kernel disable-hpet
set system option kernel disable-mce
set system option kernel disable-softlockup
set system option kernel memory default-hugepage-size '2M'
set system option kernel memory disable-numa-balancing
set system option kernel memory hugepage-size 2M hugepage-count '4096'

set vpp settings interface eth0 driver 'xdp'
set vpp settings interface eth1 driver 'xdp'
set vpp settings interface eth1 xdp-options rx-queue-size 8
commit

commit:

vyos@r14# commit
[ vpp ]
DEBUG: {'rxq_size': 0, 'txq_size': 0, 'rxq_num': 0}
An error occurred: VPP API call failed: -7. VPP service will be
restarted with the previous configuration
[[vpp]] failed
Commit failed
Traceback (most recent call last):
  File "/usr/libexec/vyos/reset_section.py", line 97, in <module>
    os.unlink(hint_name)
PermissionError: [Errno 1] Operation not permitted: '/tmp/apply_5953'
[edit]
vyos@r14#

After commit, it stuck and interfaces were in the down state

vyos@r14# run show int
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address    MAC                VRF        MTU  S/L    Description
-----------  ------------  -----------------  -------  -----  -----  -------------
eth0         -             52:54:00:77:fa:36  default   1500  A/D    WAN
eth1         192.0.2.1/30  52:54:00:28:23:f1  default   1500  A/D    LAN

Previous config:

vyos@r14# discard 

  Changes have been discarded

[edit]
vyos@r14# 
[edit]
vyos@r14# 
[edit]
vyos@r14# load 
Load complete. Use 'commit' to make changes effective.
[edit]
vyos@r14# compare commands 

set vpp settings interface eth0 driver 'dpdk'
set vpp settings interface eth1 dpdk-options promisc
set vpp settings interface eth1 driver 'dpdk'
set vpp settings memory main-heap-page-size '2M'
set vpp settings memory main-heap-size '4G'
set vpp settings statseg page-size '2M'
set vpp settings statseg size '1G'
set vpp settings unix poll-sleep-usec '222'

[edit]
vyos@r14#

ethtool:

vyos@r14# sudo ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX:		n/a
TX:		n/a
Other:		n/a
Combined:	5
Current hardware settings:
RX:		n/a
TX:		n/a
Other:		n/a
Combined:	4
[edit]
vyos@r14# 
[edit]
vyos@r14# sudo ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:			256
RX Mini:		n/a
RX Jumbo:		n/a
TX:			256
TX push buff len:	n/a
Current hardware settings:
RX:			256
RX Mini:		n/a
RX Jumbo:		n/a
TX:			256
RX Buf Len:		n/a
CQE Size:		n/a
TX Push:		off
RX Push:		off
TX push buff len:	n/a
TCP data split:		n/a
[edit]
vyos@r14# 

vyos@r14# sudo ethtool -l eth1
Channel parameters for eth1:
Pre-set maximums:
RX:		n/a
TX:		n/a
Other:		n/a
Combined:	8
Current hardware settings:
RX:		n/a
TX:		n/a
Other:		n/a
Combined:	4
[edit]
vyos@r14# 
[edit]
vyos@r14# sudo ethtool -g eth1
Ring parameters for eth1:
Pre-set maximums:
RX:			256
RX Mini:		n/a
RX Jumbo:		n/a
TX:			256
TX push buff len:	n/a
Current hardware settings:
RX:			256
RX Mini:		n/a
RX Jumbo:		n/a
TX:			256
RX Buf Len:		n/a
CQE Size:		n/a
TX Push:		off
RX Push:		off
TX push buff len:	n/a
TCP data split:		n/a
[edit]
vyos@r14#

Details

Version
VyOS 2025.09.22-0020-rolling, 2025.09.26-1054-integration
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

Viacheslav renamed this task from VPP XDP with rx-queue-size stacks to VPP XDP with rx-queue-size stuck.Sep 26 2025, 6:39 PM
natali-rs1985 changed the task status from Open to In progress.Mon, Nov 10, 8:59 AM
natali-rs1985 claimed this task.
natali-rs1985 changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.
natali-rs1985 moved this task from Need Triage to Completed on the VyOS Rolling board.
dmbaturin renamed this task from VPP XDP with rx-queue-size stuck to VPP gets stuck when rx-queue-size is used with XDP.Thu, Dec 4, 8:25 PM
dmbaturin removed a project: VyOS Rolling.