diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-08-25 10:09:30 +0000 |
---|---|---|
committer | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-08-25 10:09:30 +0000 |
commit | 0bf8c55386f0c3d684089c8bdc93e762fe7f7122 (patch) | |
tree | 411b3f4028d993ee1871f09c346364e11a94ab6e /data | |
parent | 115dd78587197457e17b883f43f08e0a1da75ba6 (diff) | |
download | vyos-1x-0bf8c55386f0c3d684089c8bdc93e762fe7f7122.tar.gz vyos-1x-0bf8c55386f0c3d684089c8bdc93e762fe7f7122.zip |
T3546: PPPoE-server add extended scripts for RADIUS attributes
Ability to get and parse RADIUS attributes via a shell script and
then execute commands
Ane of the usecases is to create a custom shaper with some smart
Extended scripts receive from PPPoE daemon the following variables:
$1 - Interface name
$4 - Tunnel GW IP address
$5 - Delegated IP address to the client
$6 - Calling Station ID (MAC)
if [ -f /run/accel-pppd/radattr.$1 ]; then
true
fi
Diffstat (limited to 'data')
-rw-r--r-- | data/templates/accel-ppp/pppoe.config.tmpl | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/data/templates/accel-ppp/pppoe.config.tmpl b/data/templates/accel-ppp/pppoe.config.tmpl index b37004f5b..3e5c64eb8 100644 --- a/data/templates/accel-ppp/pppoe.config.tmpl +++ b/data/templates/accel-ppp/pppoe.config.tmpl @@ -17,6 +17,10 @@ net-snmp {% if limits is defined %} connlimit {% endif %} +{% if extended_scripts is defined %} +sigchld +pppd_compat +{% endif %} [core] thread-count={{ thread_count }} @@ -167,5 +171,15 @@ timeout={{ limits.timeout }} {# Common RADIUS shaper configuration #} {% include 'accel-ppp/config_shaper_radius.j2' %} +{% if extended_scripts is defined %} +[pppd-compat] +verbose=1 +radattr-prefix=/run/accel-pppd/radattr +{% set script_name = {'on_up': 'ip-up', 'on_down': 'ip-down', 'on_change':'ip-change', 'on_pre_up':'ip-pre-up'} %} +{% for script in extended_scripts %} +{{ script_name[script] }}={{ extended_scripts[script] }} +{% endfor %} +{% endif %} + [cli] tcp=127.0.0.1:2001 |