diff options
author | Daniil Baturin <daniil@vyos.io> | 2022-10-03 12:16:31 -0400 |
---|---|---|
committer | Daniil Baturin <daniil@vyos.io> | 2022-10-03 12:16:31 -0400 |
commit | 14fb822154015dc7944187361153b4fed205730e (patch) | |
tree | f7d534327c0bae84bb34777fde49558ffbf06def | |
parent | 8248aaaa7952db580a199bd36202e7f26c19ec88 (diff) | |
download | vyos-1x-14fb822154015dc7944187361153b4fed205730e.tar.gz vyos-1x-14fb822154015dc7944187361153b4fed205730e.zip |
T4726: add completion help and validation for accel-ppp vendor option
-rw-r--r-- | interface-definitions/include/accel-ppp/radius-additions-rate-limit.xml.i | 12 | ||||
-rw-r--r-- | interface-definitions/vpn-l2tp.xml.in | 24 | ||||
-rwxr-xr-x | src/validators/accel-radius-dictionary | 13 |
3 files changed, 23 insertions, 26 deletions
diff --git a/interface-definitions/include/accel-ppp/radius-additions-rate-limit.xml.i b/interface-definitions/include/accel-ppp/radius-additions-rate-limit.xml.i index c9ad0d3d4..44ed9465e 100644 --- a/interface-definitions/include/accel-ppp/radius-additions-rate-limit.xml.i +++ b/interface-definitions/include/accel-ppp/radius-additions-rate-limit.xml.i @@ -6,18 +6,24 @@ <children> <leafNode name="attribute"> <properties> - <help>Specifies which RADIUS attribute contains rate information. (default is Filter-Id)</help> + <help>RADIUS attribute that contains rate information. (default: Filter-Id)</help> </properties> <defaultValue>Filter-Id</defaultValue> </leafNode> <leafNode name="vendor"> <properties> - <help>Specifies the vendor dictionary. (dictionary needs to be in /usr/share/accel-ppp/radius)</help> + <help>Vendor dictionary</help> + <completionHelp> + <list>alcatel cisco microsoft mikrotik</list> + </completionHelp> + <constraint> + <validator name="accel-radius-dictionary" /> + </constraint> </properties> </leafNode> <leafNode name="enable"> <properties> - <help>Enables Bandwidth shaping via RADIUS</help> + <help>Enable bandwidth shaping via RADIUS</help> <valueless /> </properties> </leafNode> diff --git a/interface-definitions/vpn-l2tp.xml.in b/interface-definitions/vpn-l2tp.xml.in index fd70a76dc..cb5900e0d 100644 --- a/interface-definitions/vpn-l2tp.xml.in +++ b/interface-definitions/vpn-l2tp.xml.in @@ -238,29 +238,7 @@ </leafNode> </children> </node> - <node name="rate-limit"> - <properties> - <help>Upload/Download speed limits</help> - </properties> - <children> - <leafNode name="attribute"> - <properties> - <help>Specifies which radius attribute contains rate information</help> - </properties> - </leafNode> - <leafNode name="vendor"> - <properties> - <help>Specifies the vendor dictionary. (dictionary needs to be in /usr/share/accel-ppp/radius)</help> - </properties> - </leafNode> - <leafNode name="enable"> - <properties> - <help>Enables Bandwidth shaping via RADIUS</help> - <valueless /> - </properties> - </leafNode> - </children> - </node> + #include <include/accel-ppp/radius-additions-rate-limit.xml.i> </children> </node> </children> diff --git a/src/validators/accel-radius-dictionary b/src/validators/accel-radius-dictionary new file mode 100755 index 000000000..05287e770 --- /dev/null +++ b/src/validators/accel-radius-dictionary @@ -0,0 +1,13 @@ +#!/bin/sh + +DICT_PATH=/usr/share/accel-ppp/radius +NAME=$1 + +if [ -n "$NAME" -a -e $DICT_PATH/dictionary.$NAME ]; then + exit 0 +else + echo "$NAME is not a valid RADIUS dictionary name" + echo "Please make sure that $DICT_PATH/dictionary.$NAME file exists" + exit 1 +fi + |