summaryrefslogtreecommitdiff
path: root/src/conf_mode/vpp_kernel-interfaces.py
diff options
context:
space:
mode:
authorOleksandr Kuchmystyi <o.kuchmystyi@vyos.io>2026-02-16 17:41:38 +0300
committerOleksandr Kuchmystyi <o.kuchmystyi@vyos.io>2026-02-18 13:30:02 +0300
commited20c353e8e1a7fd9d47bb6020f40815285ef2f9 (patch)
tree682994117719758c842b6b265cc4b054e5ad5797 /src/conf_mode/vpp_kernel-interfaces.py
parent0f4b6c0d892ea35c947643ab8d6e0f84e51c6191 (diff)
downloadvyos-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.py13
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')