summaryrefslogtreecommitdiff
path: root/src/conf_mode/service_ipoe-server.py
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2024-04-01 16:39:47 +0200
committerGitHub <noreply@github.com>2024-04-01 16:39:47 +0200
commitae96118ec38c4064552889aea5e50023a66aac1e (patch)
treeca81032cfa054a2b26d198ce2a5ce5b5a761f399 /src/conf_mode/service_ipoe-server.py
parent4999f605b024d041cdc18e69ea6cef48403a924e (diff)
parent9d34c488251c0d5111b4a3c880f2291548645db3 (diff)
downloadvyos-1x-ae96118ec38c4064552889aea5e50023a66aac1e.tar.gz
vyos-1x-ae96118ec38c4064552889aea5e50023a66aac1e.zip
Merge pull request #3167 from aapostoliuk/T6150-equuleus
T6150: Fixed setting a static IP address by Radius in IPoE
Diffstat (limited to 'src/conf_mode/service_ipoe-server.py')
-rwxr-xr-xsrc/conf_mode/service_ipoe-server.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/conf_mode/service_ipoe-server.py b/src/conf_mode/service_ipoe-server.py
index 42cfd0f12..86185f37f 100755
--- a/src/conf_mode/service_ipoe-server.py
+++ b/src/conf_mode/service_ipoe-server.py
@@ -44,6 +44,7 @@ default_config_data = {
'client_named_ip_pool': [],
'client_ipv6_pool': [],
'client_ipv6_delegate_prefix': [],
+ 'gateway_address':[],
'radius_server': [],
'radius_acct_inter_jitter': '',
'radius_acct_tmo': '3',
@@ -275,9 +276,14 @@ def get_config(config=None):
ipoe['client_ipv6_delegate_prefix'].append(tmp)
+ if conf.exists(['gateway-address']):
+ for gw in conf.return_values(['gateway-address']):
+ ipoe['gateway_address'].append(gw)
+
return ipoe
+
def verify(ipoe):
if not ipoe:
return None
@@ -303,6 +309,13 @@ def verify(ipoe):
if ipoe['client_ipv6_delegate_prefix'] and not ipoe['client_ipv6_pool']:
raise ConfigError('IPoE IPv6 deletate-prefix requires IPv6 prefix to be configured!')
+ if ipoe['gateway_address']:
+ if ipoe['client_named_ip_pool']:
+ ipoe_gateways = ' '.join(ipoe['gateway_address'])
+ for pool in ipoe['client_named_ip_pool']:
+ if f'{pool["gateway_address"]}/' in ipoe_gateways:
+ raise ConfigError(
+ 'IPoE "gateway-address" exists in IPoE "client-ip-pool"!')
return None