summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2023-02-12 18:34:49 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2023-02-12 18:43:44 +0000
commite7e81746e6ad01ce644cd7b584233464f91d9380 (patch)
tree100309134814e73efddf4be4bc8c8a0ee416c3d0 /data
parent209dc64ca31ff1ef5e431c6f52454df30f43eded (diff)
downloadvyos-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 'data')
-rw-r--r--data/templates/accel-ppp/config_ip_pool.j210
-rw-r--r--data/templates/accel-ppp/pppoe.config.tmpl15
2 files changed, 25 insertions, 0 deletions
diff --git a/data/templates/accel-ppp/config_ip_pool.j2 b/data/templates/accel-ppp/config_ip_pool.j2
index 3b0f68084..f61a4f148 100644
--- a/data/templates/accel-ppp/config_ip_pool.j2
+++ b/data/templates/accel-ppp/config_ip_pool.j2
@@ -11,4 +11,14 @@ gw-ip-address={{ gateway_address }}
{{ subnet }}
{% endfor %}
{% endif %}
+{% if client_ip_pool.name is defined and client_ip_pool.name is not none %}
+{% for pool, pool_config in client_ip_pool.name.items() %}
+{% if pool_config.subnet is defined and pool_config.subnet is not none %}
+{{ pool_config.subnet }},name={{ pool }}
+{% endif %}
+{% if pool_config.gateway_address is defined and pool_config.gateway_address is not none %}
+gw-ip-address={{ pool_config.gateway_address }}
+{% endif %}
+{% endfor %}
+{% endif %}
{% endif %}
diff --git a/data/templates/accel-ppp/pppoe.config.tmpl b/data/templates/accel-ppp/pppoe.config.tmpl
index 46f462166..b37004f5b 100644
--- a/data/templates/accel-ppp/pppoe.config.tmpl
+++ b/data/templates/accel-ppp/pppoe.config.tmpl
@@ -136,6 +136,21 @@ pado-delay={{ pado_delay_param.value }}
called-sid={{ authentication.radius.called_sid_format }}
{% endif %}
+{% if authentication is defined and authentication.mode is defined and authentication.mode == 'local' %}
+{% if client_ip_pool is defined and client_ip_pool is not none %}
+{% if client_ip_pool.name is defined and client_ip_pool.name is not none %}
+{% for pool, pool_config in client_ip_pool.name.items() %}
+{% if pool_config.subnet is defined and pool_config.subnet is not none %}
+ip-pool={{ pool }}
+{% if pool_config.gateway_address is defined and pool_config.gateway_address is not none %}
+gw-ip-address={{ pool_config.gateway_address }}/{{ pool_config.subnet.split('/')[1] }}
+{% endif %}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% endif %}
+{% endif %}
+
{% if limits is defined %}
[connlimit]
{% if limits.connection_limit is defined and limits.connection_limit is not none %}