diff options
| author | Nataliia Solomko <natalirs1985@gmail.com> | 2025-10-08 17:25:25 +0300 |
|---|---|---|
| committer | Nataliia Solomko <natalirs1985@gmail.com> | 2025-10-14 13:36:26 +0300 |
| commit | 5e2e4a8f183f9723d4967ce47045f8789b58e924 (patch) | |
| tree | e379c072bc24be74469b95610f889492fc545577 /src/conf_mode | |
| parent | fc178aaf00f7a9dc4589567ae3e17cb9718d9ad3 (diff) | |
| download | vyos-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-x | src/conf_mode/vpp.py | 6 |
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 |
