diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-02-12 18:34:49 +0000 |
---|---|---|
committer | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-02-12 18:43:44 +0000 |
commit | e7e81746e6ad01ce644cd7b584233464f91d9380 (patch) | |
tree | 100309134814e73efddf4be4bc8c8a0ee416c3d0 /python/vyos/configverify.py | |
parent | 209dc64ca31ff1ef5e431c6f52454df30f43eded (diff) | |
download | vyos-1x-e7e81746e6ad01ce644cd7b584233464f91d9380.tar.gz vyos-1x-e7e81746e6ad01ce644cd7b584233464f91d9380.zip |
T4971: PPPoE server add named ip pool and attr Framed-Pool
Add a new feature to allow to use named pools
Also it can be used with RADIUS attribute 'Framed-Pool'
set service pppoe-server client-ip-pool name POOL1 gateway-address '192.0.2.1'
set service pppoe-server client-ip-pool name POOL1 subnet '192.0.2.0/24'
Diffstat (limited to 'python/vyos/configverify.py')
-rw-r--r-- | python/vyos/configverify.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/python/vyos/configverify.py b/python/vyos/configverify.py index a35ea0b74..47cf218ee 100644 --- a/python/vyos/configverify.py +++ b/python/vyos/configverify.py @@ -1,4 +1,4 @@ -# Copyright 2020-2021 VyOS maintainers and contributors <maintainers@vyos.io> +# Copyright 2020-2023 VyOS maintainers and contributors <maintainers@vyos.io> # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -23,6 +23,7 @@ from vyos import ConfigError from vyos.util import dict_search +from vyos.util import dict_search_recursive def verify_mtu(config): """ @@ -355,7 +356,17 @@ def verify_accel_ppp_base_service(config): if 'key' not in radius_config: raise ConfigError(f'Missing RADIUS secret key for server "{server}"') - if 'gateway_address' not in config: + # Check global gateway or gateway in named pool + gateway = False + if 'gateway_address' in config: + gateway = True + else: + if dict_search_recursive(config, 'gateway_address', ['client_ip_pool', 'name']): + for _, v in config['client_ip_pool']['name'].items(): + if 'gateway_address' in v: + gateway = True + break + if not gateway: raise ConfigError('Server requires gateway-address to be configured!') if 'name_server_ipv4' in config: @@ -427,4 +438,3 @@ def verify_common_route_maps(config): for protocol, protocol_config in config['redistribute'].items(): if 'route_map' in protocol_config: verify_route_map(protocol_config['route_map'], config) - |