summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-12-30 16:30:05 +0100
committerChristian Poessinger <christian@poessinger.com>2020-12-30 16:31:21 +0100
commit37b33e3cedc2734c1339bbf4851703e7b5ff360c (patch)
treedb36c1838147a85cfac1db8778988d9b89e5b6e9
parent5a19563a2938f3a4626637bb1c6b9164bb2a410d (diff)
downloadvyos-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.
-rw-r--r--interface-definitions/dns-forwarding.xml.in7
-rw-r--r--interface-definitions/include/radius-server.xml.i13
-rw-r--r--interface-definitions/include/source-address-ipv4-ipv6.xml.i9
-rw-r--r--interface-definitions/include/source-address-ipv4.xml.i17
-rw-r--r--interface-definitions/interfaces-vxlan.xml.in13
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>