diff options
author | aapostoliuk <a.apostoliuk@vyos.io> | 2023-12-29 15:02:48 +0200 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2024-01-01 23:25:06 +0100 |
commit | e933efdca291b00186397466d43a0b5ea1160164 (patch) | |
tree | de95635fb92f6d246425ab0da32f01a7a0d64f6e /src/migration-scripts/sstp | |
parent | 66949bb982c600439424174171edd850b4c1bb35 (diff) | |
download | vyos-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/sstp')
-rwxr-xr-x | src/migration-scripts/sstp/4-to-5 | 19 |
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) |