summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/container.xml.in3
-rw-r--r--interface-definitions/dns-domain-name.xml.in7
-rw-r--r--interface-definitions/dns-forwarding.xml.in3
-rw-r--r--interface-definitions/flow-accounting-conf.xml.in6
-rw-r--r--interface-definitions/high-availability.xml.in9
-rw-r--r--interface-definitions/https.xml.in3
-rw-r--r--interface-definitions/include/bgp/neighbor-update-source.xml.i3
-rw-r--r--interface-definitions/include/bgp/protocol-common-config.xml.i3
-rw-r--r--interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i2
-rw-r--r--interface-definitions/include/constraint/host-name.xml.i2
-rw-r--r--interface-definitions/include/constraint/interface-name-with-wildcard.xml.i2
-rw-r--r--interface-definitions/include/constraint/interface-name.xml.i2
-rw-r--r--interface-definitions/include/interface/dhcp-options.xml.i4
-rw-r--r--interface-definitions/include/ipsec/local-address.xml.i3
-rw-r--r--interface-definitions/include/ipsec/remote-address.xml.i3
-rw-r--r--interface-definitions/include/listen-address-single.xml.i3
-rw-r--r--interface-definitions/include/listen-address-vrf.xml.i3
-rw-r--r--interface-definitions/include/listen-address.xml.i3
-rw-r--r--interface-definitions/include/name-server-ipv4-ipv6-port.xml.i3
-rw-r--r--interface-definitions/include/name-server-ipv4-ipv6.xml.i3
-rw-r--r--interface-definitions/include/radius-server-ipv4-ipv6.xml.i3
-rw-r--r--interface-definitions/include/static/static-route-bfd.xml.i41
-rw-r--r--interface-definitions/interfaces-openvpn.xml.in3
-rw-r--r--interface-definitions/interfaces-virtual-ethernet.xml.in1
-rw-r--r--interface-definitions/ntp.xml.in3
-rw-r--r--interface-definitions/policy.xml.in6
-rw-r--r--interface-definitions/protocols-bfd.xml.in6
-rw-r--r--interface-definitions/protocols-rpki.xml.in3
-rw-r--r--interface-definitions/service-mdns-repeater.xml.in26
-rw-r--r--interface-definitions/service-upnp.xml.in3
-rw-r--r--interface-definitions/snmp.xml.in9
-rw-r--r--interface-definitions/system-config-mgmt.xml.in3
-rw-r--r--interface-definitions/system-sflow.xml.in6
-rw-r--r--interface-definitions/vpn-l2tp.xml.in3
-rw-r--r--interface-definitions/vpn-openconnect.xml.in52
35 files changed, 143 insertions, 95 deletions
diff --git a/interface-definitions/container.xml.in b/interface-definitions/container.xml.in
index 9b6d2369d..6651fc642 100644
--- a/interface-definitions/container.xml.in
+++ b/interface-definitions/container.xml.in
@@ -201,8 +201,7 @@
<description>IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
<multi/>
</properties>
diff --git a/interface-definitions/dns-domain-name.xml.in b/interface-definitions/dns-domain-name.xml.in
index e93c49ebd..ef34ecbf5 100644
--- a/interface-definitions/dns-domain-name.xml.in
+++ b/interface-definitions/dns-domain-name.xml.in
@@ -23,8 +23,7 @@
</valueHelp>
<multi/>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
#include <include/constraint/interface-name.xml.i>
</constraint>
</properties>
@@ -74,9 +73,9 @@
<properties>
<help>Host name for static address mapping</help>
<constraint>
- <regex>[A-Za-z0-9][-.A-Za-z0-9]*[A-Za-z0-9]</regex>
+ #include <include/constraint/host-name.xml.i>
</constraint>
- <constraintErrorMessage>invalid hostname</constraintErrorMessage>
+ <constraintErrorMessage>Host-name must be alphanumeric and can contain hyphens</constraintErrorMessage>
</properties>
<children>
<leafNode name="alias">
diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in
index de6991e06..ced1c9c31 100644
--- a/interface-definitions/dns-forwarding.xml.in
+++ b/interface-definitions/dns-forwarding.xml.in
@@ -670,8 +670,7 @@
</valueHelp>
<multi/>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<defaultValue>0.0.0.0 ::</defaultValue>
diff --git a/interface-definitions/flow-accounting-conf.xml.in b/interface-definitions/flow-accounting-conf.xml.in
index 878566b3f..40a9bb423 100644
--- a/interface-definitions/flow-accounting-conf.xml.in
+++ b/interface-definitions/flow-accounting-conf.xml.in
@@ -230,8 +230,7 @@
<description>IPv6 server to export NetFlow</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
@@ -408,8 +407,7 @@
<description>IPv6 server to export sFlow</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
diff --git a/interface-definitions/high-availability.xml.in b/interface-definitions/high-availability.xml.in
index 94253def3..c5e46ed38 100644
--- a/interface-definitions/high-availability.xml.in
+++ b/interface-definitions/high-availability.xml.in
@@ -129,8 +129,7 @@
<description>IPv6 ping target address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
</leafNode>
@@ -156,8 +155,7 @@
<description>IPv6 hello source address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
</leafNode>
@@ -173,8 +171,7 @@
<description>IPv6 unicast peer address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
</leafNode>
diff --git a/interface-definitions/https.xml.in b/interface-definitions/https.xml.in
index cf30ab2be..5430193b5 100644
--- a/interface-definitions/https.xml.in
+++ b/interface-definitions/https.xml.in
@@ -36,8 +36,7 @@
<description>any</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
<regex>\*</regex>
</constraint>
</properties>
diff --git a/interface-definitions/include/bgp/neighbor-update-source.xml.i b/interface-definitions/include/bgp/neighbor-update-source.xml.i
index c6aa776c2..92e817166 100644
--- a/interface-definitions/include/bgp/neighbor-update-source.xml.i
+++ b/interface-definitions/include/bgp/neighbor-update-source.xml.i
@@ -20,8 +20,7 @@
<description>Interface as route source</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
#include <include/constraint/interface-name.xml.i>
</constraint>
</properties>
diff --git a/interface-definitions/include/bgp/protocol-common-config.xml.i b/interface-definitions/include/bgp/protocol-common-config.xml.i
index 527eaf991..2d36f7de6 100644
--- a/interface-definitions/include/bgp/protocol-common-config.xml.i
+++ b/interface-definitions/include/bgp/protocol-common-config.xml.i
@@ -940,8 +940,7 @@
<description>Interface name</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
#include <include/constraint/interface-name.xml.i>
</constraint>
</properties>
diff --git a/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i b/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i
index eb568d7d9..ba097c6b5 100644
--- a/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i
+++ b/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i
@@ -1,3 +1,3 @@
-<!-- include start from include/constraint/alpha-numeric-hyphen-underscore.xml.in -->
+<!-- include start from include/constraint/alpha-numeric-hyphen-underscore.xml.i -->
<regex>[-_a-zA-Z0-9]+</regex>
<!-- include end -->
diff --git a/interface-definitions/include/constraint/host-name.xml.i b/interface-definitions/include/constraint/host-name.xml.i
index 202c200f4..cc9740c16 100644
--- a/interface-definitions/include/constraint/host-name.xml.i
+++ b/interface-definitions/include/constraint/host-name.xml.i
@@ -1,3 +1,3 @@
-<!-- include start from constraint/host-name.xml.in -->
+<!-- include start from constraint/host-name.xml.i -->
<regex>[A-Za-z0-9][-.A-Za-z0-9]*[A-Za-z0-9]</regex>
<!-- include end -->
diff --git a/interface-definitions/include/constraint/interface-name-with-wildcard.xml.i b/interface-definitions/include/constraint/interface-name-with-wildcard.xml.i
index 09867b380..adff530b6 100644
--- a/interface-definitions/include/constraint/interface-name-with-wildcard.xml.i
+++ b/interface-definitions/include/constraint/interface-name-with-wildcard.xml.i
@@ -1,4 +1,4 @@
-<!-- include start from constraint/interface-name-with-wildcard.xml.in -->
+<!-- include start from constraint/interface-name-with-wildcard.xml.i -->
<regex>(bond|br|dum|en|ersp|eth|gnv|ifb|lan|l2tp|l2tpeth|macsec|peth|ppp|pppoe|pptp|sstp|tun|veth|vti|vtun|vxlan|wg|wlan|wwan)([0-9]?)(\*?)(.+)?|lo</regex>
<validator name="file-path --lookup-path /sys/class/net --directory"/>
<!-- include end -->
diff --git a/interface-definitions/include/constraint/interface-name.xml.i b/interface-definitions/include/constraint/interface-name.xml.i
index e540e4418..1b14eabf5 100644
--- a/interface-definitions/include/constraint/interface-name.xml.i
+++ b/interface-definitions/include/constraint/interface-name.xml.i
@@ -1,4 +1,4 @@
-<!-- include start from constraint/interface-name.xml.in -->
+<!-- include start from constraint/interface-name.xml.i -->
<regex>(bond|br|dum|en|ersp|eth|gnv|ifb|lan|l2tp|l2tpeth|macsec|peth|ppp|pppoe|pptp|sstp|tun|veth|vti|vtun|vxlan|wg|wlan|wwan)[0-9]+(.\d+)?|lo</regex>
<validator name="file-path --lookup-path /sys/class/net --directory"/>
<!-- include end -->
diff --git a/interface-definitions/include/interface/dhcp-options.xml.i b/interface-definitions/include/interface/dhcp-options.xml.i
index 2ed5fd403..8027769ff 100644
--- a/interface-definitions/include/interface/dhcp-options.xml.i
+++ b/interface-definitions/include/interface/dhcp-options.xml.i
@@ -12,6 +12,10 @@
<leafNode name="host-name">
<properties>
<help>Override system host-name sent to DHCP server</help>
+ <constraint>
+ #include <include/constraint/host-name.xml.i>
+ </constraint>
+ <constraintErrorMessage>Host-name must be alphanumeric and can contain hyphens</constraintErrorMessage>
</properties>
</leafNode>
<leafNode name="mtu">
diff --git a/interface-definitions/include/ipsec/local-address.xml.i b/interface-definitions/include/ipsec/local-address.xml.i
index 9d267f3f7..71f514950 100644
--- a/interface-definitions/include/ipsec/local-address.xml.i
+++ b/interface-definitions/include/ipsec/local-address.xml.i
@@ -19,8 +19,7 @@
<description>Allow any IPv4 address present on the system to be used for VPN</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
<regex>(any)</regex>
</constraint>
</properties>
diff --git a/interface-definitions/include/ipsec/remote-address.xml.i b/interface-definitions/include/ipsec/remote-address.xml.i
index ba96290d0..91decba3c 100644
--- a/interface-definitions/include/ipsec/remote-address.xml.i
+++ b/interface-definitions/include/ipsec/remote-address.xml.i
@@ -19,8 +19,7 @@
<description>Allow any IP address of the remote peer</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
<validator name="fqdn"/>
<regex>(any)</regex>
</constraint>
diff --git a/interface-definitions/include/listen-address-single.xml.i b/interface-definitions/include/listen-address-single.xml.i
index 30293b338..6cc5aef0a 100644
--- a/interface-definitions/include/listen-address-single.xml.i
+++ b/interface-definitions/include/listen-address-single.xml.i
@@ -14,8 +14,7 @@
<description>IPv6 address to listen for incoming connections</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
<validator name="ipv6-link-local"/>
</constraint>
</properties>
diff --git a/interface-definitions/include/listen-address-vrf.xml.i b/interface-definitions/include/listen-address-vrf.xml.i
index 8c2bdce70..23ecc2476 100644
--- a/interface-definitions/include/listen-address-vrf.xml.i
+++ b/interface-definitions/include/listen-address-vrf.xml.i
@@ -14,8 +14,7 @@
<description>IPv6 address to listen for incoming connections</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
diff --git a/interface-definitions/include/listen-address.xml.i b/interface-definitions/include/listen-address.xml.i
index 48003dbf2..2454f43ff 100644
--- a/interface-definitions/include/listen-address.xml.i
+++ b/interface-definitions/include/listen-address.xml.i
@@ -15,8 +15,7 @@
</valueHelp>
<multi/>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
<validator name="ipv6-link-local"/>
</constraint>
</properties>
diff --git a/interface-definitions/include/name-server-ipv4-ipv6-port.xml.i b/interface-definitions/include/name-server-ipv4-ipv6-port.xml.i
index fb0a4f4ae..b326a6537 100644
--- a/interface-definitions/include/name-server-ipv4-ipv6-port.xml.i
+++ b/interface-definitions/include/name-server-ipv4-ipv6-port.xml.i
@@ -11,8 +11,7 @@
<description>Domain Name Server (DNS) IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
diff --git a/interface-definitions/include/name-server-ipv4-ipv6.xml.i b/interface-definitions/include/name-server-ipv4-ipv6.xml.i
index 14973234b..cf483e5d9 100644
--- a/interface-definitions/include/name-server-ipv4-ipv6.xml.i
+++ b/interface-definitions/include/name-server-ipv4-ipv6.xml.i
@@ -11,8 +11,7 @@
<description>Domain Name Server (DNS) IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
<multi/>
</properties>
diff --git a/interface-definitions/include/radius-server-ipv4-ipv6.xml.i b/interface-definitions/include/radius-server-ipv4-ipv6.xml.i
index c593512b4..efd418bb2 100644
--- a/interface-definitions/include/radius-server-ipv4-ipv6.xml.i
+++ b/interface-definitions/include/radius-server-ipv4-ipv6.xml.i
@@ -16,8 +16,7 @@
<description>RADIUS server IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
diff --git a/interface-definitions/include/static/static-route-bfd.xml.i b/interface-definitions/include/static/static-route-bfd.xml.i
index a05a08d12..d588b369f 100644
--- a/interface-definitions/include/static/static-route-bfd.xml.i
+++ b/interface-definitions/include/static/static-route-bfd.xml.i
@@ -10,28 +10,27 @@
<help>Use BFD multi hop session</help>
</properties>
<children>
- <tagNode name="source">
- <properties>
- <help>Use source for BFD session</help>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 source address</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 source address</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
- </constraint>
- </properties>
- <children>
- #include <include/bfd/profile.xml.i>
- </children>
- </tagNode>
+ <tagNode name="source">
+ <properties>
+ <help>Use source for BFD session</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 source address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>IPv6 source address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ip-address"/>
+ </constraint>
+ </properties>
+ <children>
+ #include <include/bfd/profile.xml.i>
+ </children>
+ </tagNode>
</children>
</node>
</children>
</node>
-<!-- include end --> \ No newline at end of file
+<!-- include end -->
diff --git a/interface-definitions/interfaces-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in
index cf0ff497c..4e061c3e6 100644
--- a/interface-definitions/interfaces-openvpn.xml.in
+++ b/interface-definitions/interfaces-openvpn.xml.in
@@ -333,8 +333,7 @@
<description>Remote end IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
<multi/>
</properties>
diff --git a/interface-definitions/interfaces-virtual-ethernet.xml.in b/interface-definitions/interfaces-virtual-ethernet.xml.in
index a5702bfc0..864f658da 100644
--- a/interface-definitions/interfaces-virtual-ethernet.xml.in
+++ b/interface-definitions/interfaces-virtual-ethernet.xml.in
@@ -22,7 +22,6 @@
#include <include/interface/dhcpv6-options.xml.i>
#include <include/interface/disable.xml.i>
#include <include/interface/vrf.xml.i>
- #include <include/interface/netns.xml.i>
<leafNode name="peer-name">
<properties>
<help>Virtual ethernet peer interface name</help>
diff --git a/interface-definitions/ntp.xml.in b/interface-definitions/ntp.xml.in
index 558204a06..2275dd61c 100644
--- a/interface-definitions/ntp.xml.in
+++ b/interface-definitions/ntp.xml.in
@@ -25,8 +25,7 @@
<description>Fully qualified domain name of NTP server</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
<validator name="fqdn"/>
</constraint>
</properties>
diff --git a/interface-definitions/policy.xml.in b/interface-definitions/policy.xml.in
index 02828c4f6..aa39950c2 100644
--- a/interface-definitions/policy.xml.in
+++ b/interface-definitions/policy.xml.in
@@ -966,8 +966,7 @@
<description>Peer IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
</leafNode>
@@ -1533,8 +1532,7 @@
<description>IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
</leafNode>
diff --git a/interface-definitions/protocols-bfd.xml.in b/interface-definitions/protocols-bfd.xml.in
index edbac8d0e..9048cf5c2 100644
--- a/interface-definitions/protocols-bfd.xml.in
+++ b/interface-definitions/protocols-bfd.xml.in
@@ -21,8 +21,7 @@
<description>BFD peer IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
@@ -48,8 +47,7 @@
<description>Local IPv6 address used to connect to the peer</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
</leafNode>
diff --git a/interface-definitions/protocols-rpki.xml.in b/interface-definitions/protocols-rpki.xml.in
index c41fa54f2..e9fd04b5f 100644
--- a/interface-definitions/protocols-rpki.xml.in
+++ b/interface-definitions/protocols-rpki.xml.in
@@ -23,8 +23,7 @@
<description>Fully qualified domain name of RPKI server</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
<validator name="fqdn"/>
</constraint>
</properties>
diff --git a/interface-definitions/service-mdns-repeater.xml.in b/interface-definitions/service-mdns-repeater.xml.in
index 9a94f1488..2cd92dbf2 100644
--- a/interface-definitions/service-mdns-repeater.xml.in
+++ b/interface-definitions/service-mdns-repeater.xml.in
@@ -15,6 +15,32 @@
<children>
#include <include/generic-disable-node.xml.i>
#include <include/generic-interface-multi.xml.i>
+ <leafNode name="browse-domain">
+ <properties>
+ <help>mDNS browsing domains in addition to the default one</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>mDNS browsing domain</description>
+ </valueHelp>
+ <constraint>
+ <validator name="fqdn"/>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
+ <leafNode name="allow-service">
+ <properties>
+ <help>Allowed mDNS services to be repeated</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>mDNS service</description>
+ </valueHelp>
+ <constraint>
+ #include <include/constraint/alpha-numeric-hyphen-underscore.xml.i>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
<leafNode name="vrrp-disable">
<properties>
<help>Disables mDNS repeater on VRRP interfaces not in MASTER state</help>
diff --git a/interface-definitions/service-upnp.xml.in b/interface-definitions/service-upnp.xml.in
index 1b2e00d91..20e01bfbd 100644
--- a/interface-definitions/service-upnp.xml.in
+++ b/interface-definitions/service-upnp.xml.in
@@ -120,9 +120,8 @@
<multi/>
<constraint>
#include <include/constraint/interface-name.xml.i>
- <validator name="ipv4-address"/>
+ <validator name="ip-address"/>
<validator name="ipv4-prefix"/>
- <validator name="ipv6-address"/>
<validator name="ipv6-prefix"/>
</constraint>
</properties>
diff --git a/interface-definitions/snmp.xml.in b/interface-definitions/snmp.xml.in
index 6527cabd6..0851b8389 100644
--- a/interface-definitions/snmp.xml.in
+++ b/interface-definitions/snmp.xml.in
@@ -94,8 +94,7 @@
<description>IPv6 address to listen for incoming SNMP requests</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
@@ -166,8 +165,7 @@
<description>IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
</leafNode>
@@ -183,8 +181,7 @@
<description>IPv6 address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
diff --git a/interface-definitions/system-config-mgmt.xml.in b/interface-definitions/system-config-mgmt.xml.in
index 716332d2a..de5a8cc16 100644
--- a/interface-definitions/system-config-mgmt.xml.in
+++ b/interface-definitions/system-config-mgmt.xml.in
@@ -30,8 +30,7 @@
<properties>
<help>Source address or interface for archive server connections</help>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
#include <include/constraint/interface-name.xml.i>
</constraint>
</properties>
diff --git a/interface-definitions/system-sflow.xml.in b/interface-definitions/system-sflow.xml.in
index 9c748c24a..c5152abe9 100644
--- a/interface-definitions/system-sflow.xml.in
+++ b/interface-definitions/system-sflow.xml.in
@@ -25,8 +25,7 @@
<description>sFlow IPv6 agent address</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
<validator name="ipv6-link-local"/>
</constraint>
</properties>
@@ -97,8 +96,7 @@
<description>IPv6 server to export sFlow</description>
</valueHelp>
<constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
+ <validator name="ip-address"/>
</constraint>
</properties>
<children>
diff --git a/interface-definitions/vpn-l2tp.xml.in b/interface-definitions/vpn-l2tp.xml.in
index ec186cd23..ee0edc3e3 100644
--- a/interface-definitions/vpn-l2tp.xml.in
+++ b/interface-definitions/vpn-l2tp.xml.in
@@ -38,8 +38,9 @@
<properties>
<help>Sent to the client (LAC) in the Host-Name attribute</help>
<constraint>
- <regex>[A-Za-z0-9][-.A-Za-z0-9]*[A-Za-z0-9]</regex>
+ #include <include/constraint/host-name.xml.i>
</constraint>
+ <constraintErrorMessage>Host-name must be alphanumeric and can contain hyphens</constraintErrorMessage>
</properties>
</leafNode>
</children>
diff --git a/interface-definitions/vpn-openconnect.xml.in b/interface-definitions/vpn-openconnect.xml.in
index a426f604d..75c64a99a 100644
--- a/interface-definitions/vpn-openconnect.xml.in
+++ b/interface-definitions/vpn-openconnect.xml.in
@@ -71,6 +71,58 @@
</leafNode>
</children>
</node>
+ <node name="identity-based-config">
+ <properties>
+ <help>Include configuration file by username or RADIUS group attribute</help>
+ </properties>
+ <children>
+ #include <include/generic-disable-node.xml.i>
+ <leafNode name="mode">
+ <properties>
+ <help>Select per user or per group configuration file - ignored if authentication group is configured</help>
+ <completionHelp>
+ <list>user group</list>
+ </completionHelp>
+ <valueHelp>
+ <format>user</format>
+ <description>Match configuration file on username</description>
+ </valueHelp>
+ <valueHelp>
+ <format>group</format>
+ <description>Match RADIUS response class attribute as file name</description>
+ </valueHelp>
+ <constraint>
+ <regex>(user|group)</regex>
+ </constraint>
+ <constraintErrorMessage>Invalid mode, must be either user or group</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="directory">
+ <properties>
+ <help>Directory to containing configuration files</help>
+ <valueHelp>
+ <format>path</format>
+ <description>Path to configuration directory, must be under /config/auth</description>
+ </valueHelp>
+ <constraint>
+ <validator name="file-path" argument="--directory --parent-dir /config/auth --strict"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="default-config">
+ <properties>
+ <help>Default configuration if discrete config could not be found</help>
+ <valueHelp>
+ <format>filename</format>
+ <description>Default configuration filename, must be under /config/auth</description>
+ </valueHelp>
+ <constraint>
+ <validator name="file-path" argument="--file --parent-dir /config/auth --strict"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
<leafNode name="group">
<properties>
<help>Group that a client is allowed to select (from a list). Maps to RADIUS Class attribute.</help>