summaryrefslogtreecommitdiff
path: root/src/migration-scripts/sstp/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/sstp/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/sstp/4-to-5')
-rwxr-xr-xsrc/migration-scripts/sstp/4-to-519
1 files changed, 15 insertions, 4 deletions
diff --git a/src/migration-scripts/sstp/4-to-5 b/src/migration-scripts/sstp/4-to-5
index 0f332e04f..3a86c79ec 100755
--- a/src/migration-scripts/sstp/4-to-5
+++ b/src/migration-scripts/sstp/4-to-5
@@ -43,12 +43,23 @@ if not config.exists(base):
if not config.exists(pool_base):
exit(0)
-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'])
+ 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'])
- config.set(pool_base + [subnet_pool_name, 'range'], value=subnet)
- config.set(base + ['default-pool'], value=subnet_pool_name)
+ config.set(base + ['default-pool'], value=default_pool)
# format as tag node
config.set_tag(pool_base)