diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-03-03 13:28:20 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-03 13:28:20 +0100 |
| commit | d47be4a8e2119e2be0be5fe9d7c29d7d8eaf24d9 (patch) | |
| tree | 9101e996fd134a83cb2708e104bcdd7a85caa197 /src/migration-scripts | |
| parent | 00361b88005948802344adbe6184057cee91cde4 (diff) | |
| parent | 99f617c88e57453315ee97cba88d3de1a24a5f01 (diff) | |
| download | vyos-1x-d47be4a8e2119e2be0be5fe9d7c29d7d8eaf24d9.tar.gz vyos-1x-d47be4a8e2119e2be0be5fe9d7c29d7d8eaf24d9.zip | |
Merge pull request #5020 from natali-rs1985/T8325
vpp: T8325: Migrate gre interface to 'interfaces vpp gre'
Diffstat (limited to 'src/migration-scripts')
| -rw-r--r-- | src/migration-scripts/vpp/5-to-6 | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/migration-scripts/vpp/5-to-6 b/src/migration-scripts/vpp/5-to-6 index 23b2d4eaa..03c20d970 100644 --- a/src/migration-scripts/vpp/5-to-6 +++ b/src/migration-scripts/vpp/5-to-6 @@ -45,6 +45,8 @@ # # Migrate loopback interface from vpp section to 'interfaces vpp loopback' (T8324) # +# Migrate gre interface to 'interfaces vpp gre', remove interfaces with mode "point-to-multipoint" (T8325) +# from vyos.configtree import ConfigTree @@ -463,6 +465,37 @@ def _migrate_vpp_loopback_interface(config: ConfigTree) -> None: config.delete(['vpp', 'interfaces']) +def _migrate_vpp_gre_interface(config: ConfigTree) -> None: + base = ['vpp', 'interfaces', 'gre'] + new_base = ['interfaces', 'vpp', 'gre'] + kernel_interface_base = ['vpp', 'kernel-interfaces'] + + if not config.exists(base): + return + + config.set(new_base) + + for ifname in config.list_nodes(base): + if config.exists(base + [ifname, 'mode']): + if config.return_value(base + [ifname, 'mode']) == 'point-to-multipoint': + config.delete(base + [ifname]) + continue + config.delete(base + [ifname, 'mode']) + + _migrate_interface(config, 'gre', ifname) + + _migrate_members_bridge(config, ifname) + _migrate_members_xconnect(config, ifname) + + config.delete(base) + + if config.exists(kernel_interface_base) and len(config.list_nodes(kernel_interface_base)) == 0: + config.delete(['vpp', 'kernel-interfaces']) + + if len(config.list_nodes(['vpp', 'interfaces'])) == 0: + config.delete(['vpp', 'interfaces']) + + def migrate(config: ConfigTree) -> None: if not config.exists(['vpp']): # Nothing to do @@ -482,3 +515,4 @@ def migrate(config: ConfigTree) -> None: _migrate_vpp_vxlan_interface(config) _migrate_vpp_ipip_interface(config) _migrate_vpp_loopback_interface(config) + _migrate_vpp_gre_interface(config) |
