diff options
| author | Oleksandr Kuchmystyi <o.kuchmystyi@vyos.io> | 2026-02-16 17:41:38 +0300 |
|---|---|---|
| committer | Oleksandr Kuchmystyi <o.kuchmystyi@vyos.io> | 2026-02-18 13:30:02 +0300 |
| commit | ed20c353e8e1a7fd9d47bb6020f40815285ef2f9 (patch) | |
| tree | 682994117719758c842b6b265cc4b054e5ad5797 /src/conf_mode/vpp_kernel-interfaces.py | |
| parent | 0f4b6c0d892ea35c947643ab8d6e0f84e51c6191 (diff) | |
| download | vyos-1x-ed20c353e8e1a7fd9d47bb6020f40815285ef2f9.tar.gz vyos-1x-ed20c353e8e1a7fd9d47bb6020f40815285ef2f9.zip | |
vpp: T8266: Add global `interfaces-rx-mode` setting and remove per-interface commands
Add `set vpp settings interfaces-rx-mode <polling|interrupt|adaptive>`
to configure RX mode for all interfaces. Raise error if any interface
does not support the selected mode.
Also remove per-interface rx-mode commands:
- `set vpp settings interface <name> rx-mode`
- `set vpp kernel-interfaces <name> rx-mode`
Diffstat (limited to 'src/conf_mode/vpp_kernel-interfaces.py')
| -rw-r--r-- | src/conf_mode/vpp_kernel-interfaces.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/conf_mode/vpp_kernel-interfaces.py b/src/conf_mode/vpp_kernel-interfaces.py index 2e0e630e5..d18a5d3e5 100644 --- a/src/conf_mode/vpp_kernel-interfaces.py +++ b/src/conf_mode/vpp_kernel-interfaces.py @@ -36,6 +36,7 @@ def get_config(config=None) -> dict: conf = Config() base = ['vpp', 'kernel-interfaces'] + base_settings = ['vpp', 'settings'] ifname = os.environ['VYOS_TAGNODE_VALUE'] @@ -52,6 +53,16 @@ def get_config(config=None) -> dict: config['remove_vpp'] = True return config + # Get 'vpp settings' config with default values + config_settings = conf.get_config_dict( + base_settings, + key_mangling=('-', '_'), + get_first_key=True, + no_tag_node_value_mangle=True, + with_defaults=True, + ) + config['vpp_settings'] = config_settings + # Get effective config as we need full dicitonary per interface delete if __name__ == '__main__': effective_config = conf.get_config_dict( @@ -185,7 +196,7 @@ def apply(config): v.set_admin_state('up') # Set rx-mode - rx_mode = config.get('rx_mode') + rx_mode = config['vpp_settings'].get('interface_rx_mode') if rx_mode: vpp_control = VPPControl() lcp_name = vpp_control.lcp_pair_find(kernel_name=ifname).get('vpp_name_kernel') |
