diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-12-30 16:30:05 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2020-12-30 16:31:21 +0100 |
commit | 37b33e3cedc2734c1339bbf4851703e7b5ff360c (patch) | |
tree | db36c1838147a85cfac1db8778988d9b89e5b6e9 | |
parent | 5a19563a2938f3a4626637bb1c6b9164bb2a410d (diff) | |
download | vyos-1x-37b33e3cedc2734c1339bbf4851703e7b5ff360c.tar.gz vyos-1x-37b33e3cedc2734c1339bbf4851703e7b5ff360c.zip |
xml: completion-help: add source-address completion helper
Commit bbc2a157 ("xml: completion-help: add helper for all local assigned IP
addresses") added a completionHelper script listing all local assigned
IPv4/IPv6 addresses. This commit extends the system to also list the available
addresses for the source-address CLI nodes.
5 files changed, 29 insertions, 30 deletions
diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in index ad6eb2463..66b4db403 100644 --- a/interface-definitions/dns-forwarding.xml.in +++ b/interface-definitions/dns-forwarding.xml.in @@ -162,9 +162,10 @@ </leafNode> <leafNode name="source-address"> <properties> - <help>Local addresses from which to send DNS queries. - If unspecified, the querier will use any available address on - the outbound interface.</help> + <help>Local addresses from which to send DNS queries</help> + <completionHelp> + <script>${vyos_completion_dir}/list_local_ips.sh --both</script> + </completionHelp> <valueHelp> <format>ipv4</format> <description>IPv4 address from which to send traffic</description> diff --git a/interface-definitions/include/radius-server.xml.i b/interface-definitions/include/radius-server.xml.i index fc8fe5248..c1dadd2a2 100644 --- a/interface-definitions/include/radius-server.xml.i +++ b/interface-definitions/include/radius-server.xml.i @@ -4,18 +4,7 @@ <help>RADIUS based user authentication</help> </properties> <children> - <leafNode name="source-address"> - <properties> - <help>RADIUS client source address</help> - <valueHelp> - <format>ipv4</format> - <description>IPv4 source-address of RADIUS queries</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> + #include <include/source-address-ipv4.xml.i> <tagNode name="server"> <properties> <help>RADIUS server configuration</help> diff --git a/interface-definitions/include/source-address-ipv4-ipv6.xml.i b/interface-definitions/include/source-address-ipv4-ipv6.xml.i index 6716e0ae4..004e04f7b 100644 --- a/interface-definitions/include/source-address-ipv4-ipv6.xml.i +++ b/interface-definitions/include/source-address-ipv4-ipv6.xml.i @@ -1,14 +1,17 @@ <!-- included start from source-address-ipv4-ipv6.xml.i --> <leafNode name="source-address"> <properties> - <help>IPv4/IPv6 source address</help> + <help>Source IP address used to initiate connection</help> + <completionHelp> + <script>${vyos_completion_dir}/list_local_ips.sh --both</script> + </completionHelp> <valueHelp> <format>ipv4</format> - <description>IPv4 source-address</description> + <description>IPv4 source address</description> </valueHelp> <valueHelp> <format>ipv6</format> - <description>IPv6 source-address</description> + <description>IPv6 source address</description> </valueHelp> <constraint> <validator name="ipv4-address"/> diff --git a/interface-definitions/include/source-address-ipv4.xml.i b/interface-definitions/include/source-address-ipv4.xml.i new file mode 100644 index 000000000..2dff2c65e --- /dev/null +++ b/interface-definitions/include/source-address-ipv4.xml.i @@ -0,0 +1,17 @@ +<!-- included start from source-address-ipv4.xml.i --> +<leafNode name="source-address"> + <properties> + <help>IPv4 source address used to initiiate connection</help> + <completionHelp> + <script>${vyos_completion_dir}/list_local_ips.sh --ipv4</script> + </completionHelp> + <valueHelp> + <format>ipv4</format> + <description>IPv4 source address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> +</leafNode> +<!-- included end --> diff --git a/interface-definitions/interfaces-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in index 4426f1157..8c76ab60b 100644 --- a/interface-definitions/interfaces-vxlan.xml.in +++ b/interface-definitions/interfaces-vxlan.xml.in @@ -37,18 +37,7 @@ </leafNode> #include <include/interface-ipv4-options.xml.i> #include <include/interface-ipv6-options.xml.i> - <leafNode name="source-address"> - <properties> - <help>VXLAN source address</help> - <valueHelp> - <format>ipv4</format> - <description>IPv4 source-address of VXLAN tunnel</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> + #include <include/source-address-ipv4.xml.i> #include <include/source-interface.xml.i> #include <include/interface-mac.xml.i> #include <include/interface-mtu-1200-16000.xml.i> |