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
committeraapostoliuk <a.apostoliuk@vyos.io>2023-12-29 15:02:48 +0200
commit21e5db430f93fd48ebc598ddf95c67d77485f5f5 (patch)
treec1b94281dd076f39c9d0f28538b3dccc324a7ab9 /src/migration-scripts/l2tp/4-to-5
parent3ec15e1fd2250bb157b1afa18ebf0232e62cc229 (diff)
downloadvyos-1x-21e5db430f93fd48ebc598ddf95c67d77485f5f5.tar.gz
vyos-1x-21e5db430f93fd48ebc598ddf95c67d77485f5f5.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.
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: