summaryrefslogtreecommitdiff
path: root/src/migration-scripts
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2026-03-02 17:21:21 +0200
committerGitHub <noreply@github.com>2026-03-02 17:21:21 +0200
commit00361b88005948802344adbe6184057cee91cde4 (patch)
tree76124d6c8502666c6fe91c2433ee938a2ef09feb /src/migration-scripts
parentef710a5acbd7af9f60ba63716912b0c9a20f5329 (diff)
parent61d607295fa826e707b82432c46668a2fb94ab22 (diff)
downloadvyos-1x-00361b88005948802344adbe6184057cee91cde4.tar.gz
vyos-1x-00361b88005948802344adbe6184057cee91cde4.zip
Merge pull request #5019 from natali-rs1985/T8324
vpp: T8324: Migrate loopback interface to 'interfaces vpp loopback'
Diffstat (limited to 'src/migration-scripts')
-rw-r--r--src/migration-scripts/vpp/5-to-627
1 files changed, 27 insertions, 0 deletions
diff --git a/src/migration-scripts/vpp/5-to-6 b/src/migration-scripts/vpp/5-to-6
index 18f0f70d2..23b2d4eaa 100644
--- a/src/migration-scripts/vpp/5-to-6
+++ b/src/migration-scripts/vpp/5-to-6
@@ -43,6 +43,8 @@
#
# Move ipip interface from vpp section to 'interfaces vpp ipip' (T8314)
#
+# Migrate loopback interface from vpp section to 'interfaces vpp loopback' (T8324)
+#
from vyos.configtree import ConfigTree
@@ -437,6 +439,30 @@ def _migrate_vpp_ipip_interface(config: ConfigTree) -> None:
config.delete(['vpp', 'interfaces'])
+def _migrate_vpp_loopback_interface(config: ConfigTree) -> None:
+ base = ['vpp', 'interfaces', 'loopback']
+ new_base = ['interfaces', 'vpp', 'loopback']
+ kernel_interface_base = ['vpp', 'kernel-interfaces']
+
+ if not config.exists(base):
+ return
+
+ config.set(new_base)
+
+ for ifname in config.list_nodes(base):
+ _migrate_interface(config, 'loopback', ifname)
+
+ _migrate_members_bridge(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
@@ -455,3 +481,4 @@ def migrate(config: ConfigTree) -> None:
_migrate_vpp_bonding_interface(config)
_migrate_vpp_vxlan_interface(config)
_migrate_vpp_ipip_interface(config)
+ _migrate_vpp_loopback_interface(config)