summaryrefslogtreecommitdiff
path: root/src/conf_mode
diff options
context:
space:
mode:
authorNataliia Solomko <natalirs1985@gmail.com>2025-10-08 17:25:25 +0300
committerNataliia Solomko <natalirs1985@gmail.com>2025-10-14 13:36:26 +0300
commit5e2e4a8f183f9723d4967ce47045f8789b58e924 (patch)
treee379c072bc24be74469b95610f889492fc545577 /src/conf_mode
parentfc178aaf00f7a9dc4589567ae3e17cb9718d9ad3 (diff)
downloadvyos-1x-5e2e4a8f183f9723d4967ce47045f8789b58e924.tar.gz
vyos-1x-5e2e4a8f183f9723d4967ce47045f8789b58e924.zip
T7897: VPP: fix rx-mode interrupt for XDP driver with workers
Remove no-syscall-lock from CLI and enable this option if interrupt/adaptive mode is enabled and workers are configured. Also forbid interrupt mode for ixgbevf driver
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-xsrc/conf_mode/vpp.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/conf_mode/vpp.py b/src/conf_mode/vpp.py
index 81502c0b4..c4142437b 100755
--- a/src/conf_mode/vpp.py
+++ b/src/conf_mode/vpp.py
@@ -107,7 +107,6 @@ drivers_support_interrupt: dict[str, list] = {
'igb': ['xdp'],
'igc': ['dpdk', 'xdp'],
'ixgbe': ['dpdk', 'xdp'],
- 'ixgbevf': ['dpdk'],
'qede': ['dpdk', 'xdp'],
'vmxnet3': ['xdp'],
'virtio_net': ['xdp'],
@@ -338,7 +337,10 @@ def get_config(config=None):
)
if 'zero-copy' in iface_config['xdp_options']:
xdp_api_params['mode'] = 'zero-copy'
- if 'zero-copy' in iface_config['xdp_options']:
+ if iface_config.get('rx_mode') in ('interrupt', 'adaptive') and any(
+ key in config['settings'].get('cpu', {})
+ for key in ('workers', 'corelist_workers')
+ ):
xdp_api_params['flags'] = 'no_syscall_lock'
iface_config['xdp_api_params'] = xdp_api_params