diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-02-19 16:16:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-19 16:16:46 +0100 |
| commit | 388fecf3cfb7729dbd18162a19f84b08afea4afd (patch) | |
| tree | a82f01805b3e3e298b5d5933907305ec5dc7de4d /src | |
| parent | c386550aa8dd07026eba25bf40323c8d2439b6e2 (diff) | |
| parent | a9070f1d5770241a46c4632528fef86edaba8392 (diff) | |
| download | vyos-1x-388fecf3cfb7729dbd18162a19f84b08afea4afd.tar.gz vyos-1x-388fecf3cfb7729dbd18162a19f84b08afea4afd.zip | |
Merge pull request #4997 from natali-rs1985/T8261
vpp: T8261: Refactor resource settings into 'resource-allocation' section
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/vpp.py | 13 | ||||
| -rw-r--r-- | src/migration-scripts/vpp/7-to-8 | 57 |
2 files changed, 67 insertions, 3 deletions
diff --git a/src/conf_mode/vpp.py b/src/conf_mode/vpp.py index d436fbe6b..b02c809ec 100755 --- a/src/conf_mode/vpp.py +++ b/src/conf_mode/vpp.py @@ -170,9 +170,14 @@ def _configure_vpp_cpu_settings(config: dict): def _normalize_buffers(config: dict): """Replace 'auto' buffers_per_numa with calculated value""" - if config['settings']['buffers']['buffers_per_numa'] == 'auto': + if ( + config['settings']['resource_allocation']['buffers']['buffers_per_numa'] + == 'auto' + ): buffers = memory.buffers_required(config['settings']) - config['settings']['buffers']['buffers_per_numa'] = str(buffers) + config['settings']['resource_allocation']['buffers']['buffers_per_numa'] = str( + buffers + ) def _get_max_xdp_rx_queues(config: dict): @@ -770,7 +775,9 @@ def apply(config): vpp_control = VPPControl() # preconfigure LCP plugin - if 'ignore_kernel_routes' in config.get('settings', {}).get('lcp', {}): + if 'ignore_kernel_routes' in config['settings'].get( + 'resource_allocation', {} + ): vpp_control.cli_cmd('lcp param route-no-paths off') else: vpp_control.cli_cmd('lcp param route-no-paths on') diff --git a/src/migration-scripts/vpp/7-to-8 b/src/migration-scripts/vpp/7-to-8 index 54a1a7c43..22d5e6d31 100644 --- a/src/migration-scripts/vpp/7-to-8 +++ b/src/migration-scripts/vpp/7-to-8 @@ -31,6 +31,8 @@ # - `vpp settings interface <ethN> num-*` # and delete `vpp settings interface <ethN> dpdk-options promisc` (T8274) # +# Migrate all resource settings into 'resource-allocation' section (T8261) +# from vyos.configtree import ConfigTree @@ -188,6 +190,60 @@ def _migrate_vpp_dpdk_options(config: ConfigTree) -> None: config.delete(promisc_path) +def _migrate_vpp_resources(config: ConfigTree) -> None: + base = ['vpp', 'settings'] + new_base = ['vpp', 'settings', 'resource-allocation'] + + if not config.exists(new_base): + config.set(new_base) + + if config.exists(base + ['buffers']): + # copy "settings buffers" to "settings resource-allocation buffers" + config.copy(base + ['buffers'], new_base + ['buffers']) + config.delete(base + ['buffers']) + + if config.exists(base + ['memory']): + # copy "settings memory" to "settings resource-allocation memory" + config.copy(base + ['memory'], new_base + ['memory']) + config.delete(base + ['memory']) + + if config.exists(base + ['statseg']): + # copy "settings statseg" to "settings resource-allocation memory stats" + if not config.exists(new_base + ['memory']): + config.set(new_base + ['memory']) + config.copy(base + ['statseg'], new_base + ['memory', 'stats']) + config.delete(base + ['statseg']) + + if config.exists(base + ['ipv6']): + # copy "settings ipv6" to "settings resource-allocation ipv6" + config.copy(base + ['ipv6'], new_base + ['ipv6']) + config.delete(base + ['ipv6']) + + if config.exists(base + ['lcp']): + # move "settings lcp ignore-kernel-routes" to "settings resource-allocation ignore-kernel-routes" + # and remove "settings lcp netlink" node + if config.exists(base + ['lcp', 'ignore-kernel-routes']): + config.set(new_base + ['ignore-kernel-routes']) + config.delete(base + ['lcp']) + + if config.exists(base + ['l2learn']): + # move "settings l2learn limit" to "settings resource-allocation mac-limit" + if config.exists(base + ['l2learn', 'limit']): + tmp = config.return_value(base + ['l2learn', 'limit']) + config.set(new_base + ['mac-limit'], value=tmp) + config.delete(base + ['l2learn']) + + if config.exists(base + ['physmem']): + # move "settings physmem max-size" to "settings resource-allocation memory physmem-max-size" + if config.exists(base + ['physmem', 'max-size']): + tmp = config.return_value(base + ['physmem', 'max-size']) + config.set(new_base + ['memory', 'physmem-max-size'], value=tmp) + config.delete(base + ['physmem']) + + if len(config.list_nodes(new_base)) == 0: + config.delete(new_base) + + def migrate(config: ConfigTree) -> None: if not config.exists(['vpp']): # Nothing to do @@ -200,3 +256,4 @@ def migrate(config: ConfigTree) -> None: _migrate_vpp_cpu(config) _migrate_vpp_interface_rx_mode(config) _migrate_vpp_dpdk_options(config) + _migrate_vpp_resources(config) |
