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/l2tp | |
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/l2tp')
-rwxr-xr-x | src/migration-scripts/l2tp/4-to-5 | 20 |
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: |