summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/dns-dynamic.xml.in194
-rw-r--r--interface-definitions/dns-forwarding.xml.in2
-rw-r--r--interface-definitions/include/dns/dynamic-service-host-name-server.xml.i34
-rw-r--r--interface-definitions/include/interface/netns.xml.i2
-rw-r--r--interface-definitions/include/version/dns-dynamic-version.xml.i3
-rw-r--r--interface-definitions/interfaces-geneve.xml.in2
-rw-r--r--interface-definitions/interfaces-virtual-ethernet.xml.in2
-rw-r--r--interface-definitions/interfaces-wireguard.xml.in2
-rw-r--r--interface-definitions/service-mdns-repeater.xml.in1
-rw-r--r--interface-definitions/xml-component-version.xml.in1
10 files changed, 119 insertions, 124 deletions
diff --git a/interface-definitions/dns-dynamic.xml.in b/interface-definitions/dns-dynamic.xml.in
index 48c101d73..c7b45b8f7 100644
--- a/interface-definitions/dns-dynamic.xml.in
+++ b/interface-definitions/dns-dynamic.xml.in
@@ -4,149 +4,102 @@
<children>
<node name="dns">
<properties>
- <help>Domain Name System related services</help>
+ <help>Domain Name System (DNS) related services</help>
</properties>
<children>
- <node name="dynamic" owner="${vyos_conf_scripts_dir}/dynamic_dns.py">
+ <node name="dynamic" owner="${vyos_conf_scripts_dir}/dns_dynamic.py">
<properties>
<help>Dynamic DNS</help>
</properties>
<children>
- <tagNode name="interface">
+ <tagNode name="address">
<properties>
- <help>Interface to send Dynamic DNS updates for</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces</script>
- </completionHelp>
+ <help>Obtain IP address to send Dynamic DNS update for</help>
<valueHelp>
<format>txt</format>
- <description>Interface name</description>
+ <description>Use interface to obtain the IP address</description>
</valueHelp>
+ <valueHelp>
+ <format>web</format>
+ <description>Use HTTP(S) web request to obtain the IP address</description>
+ </valueHelp>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces</script>
+ <list>web</list>
+ </completionHelp>
<constraint>
#include <include/constraint/interface-name.xml.i>
+ <regex>web</regex>
</constraint>
</properties>
<children>
- <tagNode name="rfc2136">
+ <node name="web-options">
<properties>
- <help>RFC2136 Update name</help>
+ <help>Options when using HTTP(S) web request to obtain the IP address</help>
</properties>
<children>
- <leafNode name="key">
+ #include <include/url.xml.i>
+ <leafNode name="skip">
<properties>
- <help>File containing the secret key shared with remote DNS server</help>
+ <help>Pattern to skip from the HTTP(S) respose</help>
<valueHelp>
- <format>filename</format>
- <description>File in /config/auth directory</description>
+ <format>txt</format>
+ <description>Pattern to skip from the HTTP(S) respose to extract the external IP address</description>
</valueHelp>
</properties>
</leafNode>
- <leafNode name="record">
- <properties>
- <help>Record to be updated</help>
- <multi/>
- </properties>
- </leafNode>
- <leafNode name="server">
- <properties>
- <help>Server to be updated</help>
- </properties>
- </leafNode>
- <leafNode name="ttl">
+ </children>
+ </node>
+ <tagNode name="rfc2136">
+ <properties>
+ <help>RFC2136 nsupdate configuration</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>RFC2136 nsupdate service name</description>
+ </valueHelp>
+ </properties>
+ <children>
+ #include <include/generic-description.xml.i>
+ #include <include/dns/dynamic-service-host-name-server.xml.i>
+ <leafNode name="key">
<properties>
- <help>Time To Live (default: 600)</help>
+ <help>File containing the TSIG secret key shared with remote DNS server</help>
<valueHelp>
- <format>u32:1-86400</format>
- <description>DNS forwarding cache size</description>
+ <format>filename</format>
+ <description>File in /config/auth directory</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 1-86400"/>
+ <validator name="file-path" argument="--strict --parent-dir /config/auth"/>
</constraint>
</properties>
- <defaultValue>600</defaultValue>
</leafNode>
+ #include <include/dns/time-to-live.xml.i>
<leafNode name="zone">
<properties>
- <help>Zone to be updated</help>
+ <help>Forwarding zone to be updated</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>RFC2136 Zone to be updated</description>
+ </valueHelp>
+ <constraint>
+ <validator name="fqdn"/>
+ </constraint>
</properties>
</leafNode>
</children>
</tagNode>
<tagNode name="service">
<properties>
- <help>Service being used for Dynamic DNS</help>
- <completionHelp>
- <list>afraid changeip cloudflare dnspark dslreports dyndns easydns namecheap noip sitelutions zoneedit</list>
- </completionHelp>
+ <help>Dynamic DNS configuration</help>
<valueHelp>
<format>txt</format>
- <description>Dynanmic DNS service with a custom name</description>
- </valueHelp>
- <valueHelp>
- <format>afraid</format>
- <description>afraid.org Services</description>
- </valueHelp>
- <valueHelp>
- <format>changeip</format>
- <description>changeip.com Services</description>
- </valueHelp>
- <valueHelp>
- <format>cloudflare</format>
- <description>cloudflare.com Services</description>
+ <description>Dynamic DNS service name</description>
</valueHelp>
- <valueHelp>
- <format>dnspark</format>
- <description>dnspark.com Services</description>
- </valueHelp>
- <valueHelp>
- <format>dslreports</format>
- <description>dslreports.com Services</description>
- </valueHelp>
- <valueHelp>
- <format>dyndns</format>
- <description>dyndns.com Services</description>
- </valueHelp>
- <valueHelp>
- <format>easydns</format>
- <description>easydns.com Services</description>
- </valueHelp>
- <valueHelp>
- <format>namecheap</format>
- <description>namecheap.com Services</description>
- </valueHelp>
- <valueHelp>
- <format>noip</format>
- <description>noip.com Services</description>
- </valueHelp>
- <valueHelp>
- <format>sitelutions</format>
- <description>sitelutions.com Services</description>
- </valueHelp>
- <valueHelp>
- <format>zoneedit</format>
- <description>zoneedit.com Services</description>
- </valueHelp>
- <constraint>
- <regex>(custom|afraid|changeip|cloudflare|dnspark|dslreports|dyndns|easydns|namecheap|noip|sitelutions|zoneedit|\w+)</regex>
- </constraint>
- <constraintErrorMessage>You can use only predefined list of services or word characters (_, a-z, A-Z, 0-9) as service name</constraintErrorMessage>
</properties>
<children>
- <leafNode name="host-name">
- <properties>
- <help>Hostname to register with Dynamic DNS service</help>
- <constraint>
- #include <include/constraint/host-name.xml.i>
- </constraint>
- <constraintErrorMessage>Host-name must be alphanumeric and can contain hyphens</constraintErrorMessage>
- <multi/>
- </properties>
- </leafNode>
- <leafNode name="login">
- <properties>
- <help>Login/Username for Dynamic DNS service</help>
- </properties>
- </leafNode>
+ #include <include/generic-description.xml.i>
+ #include <include/dns/dynamic-service-host-name-server.xml.i>
+ #include <include/generic-username.xml.i>
#include <include/generic-password.xml.i>
<leafNode name="protocol">
<properties>
@@ -159,7 +112,6 @@
</constraint>
</properties>
</leafNode>
- #include <include/server-ipv4-fqdn.xml.i>
<leafNode name="zone">
<properties>
<help>DNS zone to update (not used by all protocols)</help>
@@ -169,31 +121,33 @@
</valueHelp>
</properties>
</leafNode>
- </children>
- </tagNode>
- <node name="use-web">
- <properties>
- <help>Use HTTP(S) web request to obtain external IP address instead of the IP address associated with the interface</help>
- </properties>
- <children>
- <leafNode name="skip">
+ <leafNode name="ip-version">
<properties>
- <help>Pattern to skip from the respose</help>
+ <help>IP address version to use</help>
<valueHelp>
- <format>txt</format>
- <description>Pattern to skip from the respose of the given URL to extract the external IP address</description>
+ <format>_ipv4</format>
+ <description>Use only IPv4 address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>_ipv6</format>
+ <description>Use only IPv6 address</description>
</valueHelp>
+ <valueHelp>
+ <format>both</format>
+ <description>Use both IPv4 and IPv6 address</description>
+ </valueHelp>
+ <completionHelp>
+ <list>ipv4 ipv6 both</list>
+ </completionHelp>
+ <constraint>
+ <regex>(ipv[46]|both)</regex>
+ </constraint>
+ <constraintErrorMessage>IP Version must be literal 'ipv4', 'ipv6' or 'both'</constraintErrorMessage>
</properties>
+ <defaultValue>ipv4</defaultValue>
</leafNode>
- #include <include/url.xml.i>
</children>
- </node>
- <leafNode name="ipv6-enable">
- <properties>
- <help>Explicitly use IPv6 address instead of IPv4 address to update the Dynamic DNS IP address</help>
- <valueless/>
- </properties>
- </leafNode>
+ </tagNode>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in
index ced1c9c31..86dc47a47 100644
--- a/interface-definitions/dns-forwarding.xml.in
+++ b/interface-definitions/dns-forwarding.xml.in
@@ -5,7 +5,7 @@
<children>
<node name="dns">
<properties>
- <help>Domain Name System related services</help>
+ <help>Domain Name System (DNS) related services</help>
</properties>
<children>
<node name="forwarding" owner="${vyos_conf_scripts_dir}/dns_forwarding.py">
diff --git a/interface-definitions/include/dns/dynamic-service-host-name-server.xml.i b/interface-definitions/include/dns/dynamic-service-host-name-server.xml.i
new file mode 100644
index 000000000..ee1af2a36
--- /dev/null
+++ b/interface-definitions/include/dns/dynamic-service-host-name-server.xml.i
@@ -0,0 +1,34 @@
+<!-- include start from dns/dynamic-service-host-name-server.xml.i -->
+<leafNode name="host-name">
+ <properties>
+ <help>Hostname to register with Dynamic DNS service</help>
+ <constraint>
+ #include <include/constraint/host-name.xml.i>
+ </constraint>
+ <constraintErrorMessage>Host-name must be alphanumeric and can contain hyphens</constraintErrorMessage>
+ <multi/>
+ </properties>
+</leafNode>
+<leafNode name="server">
+ <properties>
+ <help>Remote Dynamic DNS server to send updates to</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address of the remote server</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>IPv6 address of the remote server</description>
+ </valueHelp>
+ <valueHelp>
+ <format>hostname</format>
+ <description>Fully qualified domain name of the remote server</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ip-address"/>
+ <validator name="fqdn"/>
+ </constraint>
+ <constraintErrorMessage>Remote server must be IP address or fully qualified domain name</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/interface/netns.xml.i b/interface-definitions/include/interface/netns.xml.i
index 39f9118fa..fd6da8f37 100644
--- a/interface-definitions/include/interface/netns.xml.i
+++ b/interface-definitions/include/interface/netns.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>Network namespace name</help>
<valueHelp>
- <format>text</format>
+ <format>txt</format>
<description>Network namespace name</description>
</valueHelp>
<completionHelp>
diff --git a/interface-definitions/include/version/dns-dynamic-version.xml.i b/interface-definitions/include/version/dns-dynamic-version.xml.i
new file mode 100644
index 000000000..b25fc6e76
--- /dev/null
+++ b/interface-definitions/include/version/dns-dynamic-version.xml.i
@@ -0,0 +1,3 @@
+<!-- include start from include/version/dns-dynamic-version.xml.i -->
+<syntaxVersion component='dns-dynamic' version='1'></syntaxVersion>
+<!-- include end -->
diff --git a/interface-definitions/interfaces-geneve.xml.in b/interface-definitions/interfaces-geneve.xml.in
index ac9794870..330dadd95 100644
--- a/interface-definitions/interfaces-geneve.xml.in
+++ b/interface-definitions/interfaces-geneve.xml.in
@@ -22,7 +22,7 @@
#include <include/interface/ipv4-options.xml.i>
#include <include/interface/ipv6-options.xml.i>
#include <include/interface/mac.xml.i>
- #include <include/interface/mtu-1450-16000.xml.i>
+ #include <include/interface/mtu-1200-16000.xml.i>
<node name="parameters">
<properties>
<help>GENEVE tunnel parameters</help>
diff --git a/interface-definitions/interfaces-virtual-ethernet.xml.in b/interface-definitions/interfaces-virtual-ethernet.xml.in
index 864f658da..1daa764d4 100644
--- a/interface-definitions/interfaces-virtual-ethernet.xml.in
+++ b/interface-definitions/interfaces-virtual-ethernet.xml.in
@@ -21,6 +21,8 @@
#include <include/interface/dhcp-options.xml.i>
#include <include/interface/dhcpv6-options.xml.i>
#include <include/interface/disable.xml.i>
+ #include <include/interface/vif-s.xml.i>
+ #include <include/interface/vif.xml.i>
#include <include/interface/vrf.xml.i>
<leafNode name="peer-name">
<properties>
diff --git a/interface-definitions/interfaces-wireguard.xml.in b/interface-definitions/interfaces-wireguard.xml.in
index 6342b21cf..03f169c05 100644
--- a/interface-definitions/interfaces-wireguard.xml.in
+++ b/interface-definitions/interfaces-wireguard.xml.in
@@ -5,7 +5,7 @@
<tagNode name="wireguard" owner="${vyos_conf_scripts_dir}/interfaces-wireguard.py">
<properties>
<help>WireGuard Interface</help>
- <priority>459</priority>
+ <priority>381</priority>
<constraint>
<regex>wg[0-9]+</regex>
</constraint>
diff --git a/interface-definitions/service-mdns-repeater.xml.in b/interface-definitions/service-mdns-repeater.xml.in
index 4aab9a558..653dbbbe4 100644
--- a/interface-definitions/service-mdns-repeater.xml.in
+++ b/interface-definitions/service-mdns-repeater.xml.in
@@ -38,6 +38,7 @@
<constraint>
<regex>[-_.a-zA-Z0-9]+</regex>
</constraint>
+ <constraintErrorMessage>Service name must be alphanumeric and can contain hyphens and underscores</constraintErrorMessage>
<multi/>
</properties>
</leafNode>
diff --git a/interface-definitions/xml-component-version.xml.in b/interface-definitions/xml-component-version.xml.in
index e05f64643..8c9e816d1 100644
--- a/interface-definitions/xml-component-version.xml.in
+++ b/interface-definitions/xml-component-version.xml.in
@@ -10,6 +10,7 @@
#include <include/version/dhcp-relay-version.xml.i>
#include <include/version/dhcp-server-version.xml.i>
#include <include/version/dhcpv6-server-version.xml.i>
+ #include <include/version/dns-dynamic-version.xml.i>
#include <include/version/dns-forwarding-version.xml.i>
#include <include/version/firewall-version.xml.i>
#include <include/version/flow-accounting-version.xml.i>