summaryrefslogtreecommitdiff
path: root/src/migration-scripts/l2tp/4-to-5
diff options
context:
space:
mode:
authoraapostoliuk <a.apostoliuk@vyos.io>2023-12-29 15:02:48 +0200
committerChristian Breunig <christian@breunig.cc>2024-01-01 23:25:06 +0100
commite933efdca291b00186397466d43a0b5ea1160164 (patch)
treede95635fb92f6d246425ab0da32f01a7a0d64f6e /src/migration-scripts/l2tp/4-to-5
parent66949bb982c600439424174171edd850b4c1bb35 (diff)
downloadvyos-1x-e933efdca291b00186397466d43a0b5ea1160164.tar.gz
vyos-1x-e933efdca291b00186397466d43a0b5ea1160164.zip
T5688: Fixed ip pool migration scripts for l2tp, sstp, pppoe
Fixed migration 'subnet' option in l2tp, sstp, pppoe. 'subnet' option can contain several values. (cherry picked from commit 21e5db430f93fd48ebc598ddf95c67d77485f5f5)
Diffstat (limited to 'src/migration-scripts/l2tp/4-to-5')
-rwxr-xr-xsrc/migration-scripts/l2tp/4-to-520
1 files changed, 15 insertions, 5 deletions
diff --git a/src/migration-scripts/l2tp/4-to-5 b/src/migration-scripts/l2tp/4-to-5
index fe8ab357e..496dc83d6 100755
--- a/src/migration-scripts/l2tp/4-to-5
+++ b/src/migration-scripts/l2tp/4-to-5
@@ -45,12 +45,22 @@ if not config.exists(pool_base):
exit(0)
default_pool = ''
range_pool_name = 'default-range-pool'
-subnet_pool_name = 'default-subnet-pool'
+subnet_base_name = 'default-subnet-pool'
+number = 1
+subnet_pool_name = f'{subnet_base_name}-{number}'
+prev_subnet_pool = subnet_pool_name
if config.exists(pool_base + ['subnet']):
- subnet = config.return_value(pool_base + ['subnet'])
- config.delete(pool_base + ['subnet'])
- config.set(pool_base + [subnet_pool_name, 'range'], value=subnet)
default_pool = subnet_pool_name
+ for subnet in config.return_values(pool_base + ['subnet']):
+ config.set(pool_base + [subnet_pool_name, 'range'], value=subnet)
+ if prev_subnet_pool != subnet_pool_name:
+ config.set(pool_base + [prev_subnet_pool, 'next-pool'],
+ value=subnet_pool_name)
+ prev_subnet_pool = subnet_pool_name
+ number += 1
+ subnet_pool_name = f'{subnet_base_name}-{number}'
+
+ config.delete(pool_base + ['subnet'])
if config.exists(pool_base + ['start']) and config.exists(pool_base + ['stop']):
start_ip = config.return_value(pool_base + ['start'])
@@ -61,7 +71,7 @@ if config.exists(pool_base + ['start']) and config.exists(pool_base + ['stop']):
config.set(pool_base + [range_pool_name, 'range'], value=ip_range)
if default_pool:
config.set(pool_base + [range_pool_name, 'next-pool'],
- value=subnet_pool_name)
+ value=default_pool)
default_pool = range_pool_name
if default_pool: