summaryrefslogtreecommitdiff
path: root/interface-definitions/include
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions/include')
-rw-r--r--interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i14
-rw-r--r--interface-definitions/include/accel-ppp/ppp-options-ipv6.xml.i30
-rw-r--r--interface-definitions/include/accel-ppp/radius-additions.xml.i6
-rw-r--r--interface-definitions/include/auth-local-users.xml.i22
-rw-r--r--interface-definitions/include/bgp/afi-common.xml.i12
-rw-r--r--interface-definitions/include/bgp/afi-l2vpn-common.xml.i13
-rw-r--r--interface-definitions/include/bgp/protocol-common-config.xml.i56
-rw-r--r--interface-definitions/include/bgp/route-distinguisher.xml.i14
-rw-r--r--interface-definitions/include/conntrack-module-disable.xml.i8
-rw-r--r--interface-definitions/include/dhcp-interface.xml.i15
-rw-r--r--interface-definitions/include/firewall/action-accept-drop-reject.xml.i25
-rw-r--r--interface-definitions/include/firewall/action.xml.i21
-rw-r--r--interface-definitions/include/firewall/address-ipv6.xml.i37
-rw-r--r--interface-definitions/include/firewall/address.xml.i39
-rw-r--r--interface-definitions/include/firewall/common-rule.xml.i326
-rw-r--r--interface-definitions/include/firewall/icmp-type-name.xml.i173
-rw-r--r--interface-definitions/include/firewall/log.xml.i15
-rw-r--r--interface-definitions/include/firewall/name-default-action.xml.i25
-rw-r--r--interface-definitions/include/firewall/name-default-log.xml.i8
-rw-r--r--interface-definitions/include/firewall/port.xml.i23
-rw-r--r--interface-definitions/include/firewall/source-destination-group.xml.i24
-rw-r--r--interface-definitions/include/generic-description.xml.i (renamed from interface-definitions/include/policy/description.xml.i)2
-rw-r--r--interface-definitions/include/interface/authentication.xml.i27
-rw-r--r--interface-definitions/include/interface/interface-eapol.xml.i5
-rw-r--r--interface-definitions/include/interface/interface-parameters-key.xml.i2
-rw-r--r--interface-definitions/include/interface/vif.xml.i14
-rw-r--r--interface-definitions/include/ip-protocol.xml.i17
-rw-r--r--interface-definitions/include/ipsec/authentication-id.xml.i11
-rw-r--r--interface-definitions/include/ipsec/authentication-pre-shared-secret.xml.i11
-rw-r--r--interface-definitions/include/ipsec/authentication-rsa.xml.i30
-rw-r--r--interface-definitions/include/ipsec/authentication-x509.xml.i11
-rw-r--r--interface-definitions/include/ipsec/esp-group.xml.i10
-rw-r--r--interface-definitions/include/ipsec/ike-group.xml.i10
-rw-r--r--interface-definitions/include/ipsec/local-address.xml.i27
-rw-r--r--interface-definitions/include/ipsec/local-traffic-selector.xml.i28
-rw-r--r--interface-definitions/include/isis/default-information-level.xml.i32
-rw-r--r--interface-definitions/include/isis/metric.xml.i14
-rw-r--r--interface-definitions/include/isis/protocol-common-config.xml.i128
-rw-r--r--interface-definitions/include/isis/redistribute-ipv6.xml.i42
-rw-r--r--interface-definitions/include/nat-translation-options.xml.i51
-rw-r--r--interface-definitions/include/pki/ca-certificate.xml.i14
-rw-r--r--interface-definitions/include/pki/certificate-key.xml.i12
-rw-r--r--interface-definitions/include/pki/certificate.xml.i14
-rw-r--r--interface-definitions/include/pki/private-key.xml.i30
-rw-r--r--interface-definitions/include/pki/public-key.xml.i14
-rw-r--r--interface-definitions/include/radius-nas-identifier.xml.i7
-rw-r--r--interface-definitions/include/ssh-group.xml.i12
-rw-r--r--interface-definitions/include/ssh-user.xml.i12
-rw-r--r--interface-definitions/include/static/static-route.xml.i16
-rw-r--r--interface-definitions/include/vpn-ipsec-encryption.xml.i462
-rw-r--r--interface-definitions/include/vpn-ipsec-hash.xml.i128
51 files changed, 1680 insertions, 419 deletions
diff --git a/interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i b/interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i
new file mode 100644
index 000000000..9f223d7ed
--- /dev/null
+++ b/interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i
@@ -0,0 +1,14 @@
+<!-- include start from accel-ppp/ppp-interface-cache.xml.i -->
+<leafNode name="interface-cache">
+ <properties>
+ <help>PPP interface cache</help>
+ <valueHelp>
+ <format>1-256000</format>
+ <description>Count of interfaces to keep in cache</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-256000"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/accel-ppp/ppp-options-ipv6.xml.i b/interface-definitions/include/accel-ppp/ppp-options-ipv6.xml.i
new file mode 100644
index 000000000..cd40a1f96
--- /dev/null
+++ b/interface-definitions/include/accel-ppp/ppp-options-ipv6.xml.i
@@ -0,0 +1,30 @@
+<!-- include start from accel-ppp/ppp-options-ipv6.xml.i -->
+<leafNode name="ipv6">
+ <properties>
+ <help>IPv6 (IPCP6) negotiation algorithm</help>
+ <constraint>
+ <regex>^(deny|allow|prefer|require)$</regex>
+ </constraint>
+ <constraintErrorMessage>invalid value</constraintErrorMessage>
+ <valueHelp>
+ <format>deny</format>
+ <description>Do not negotiate IPv6</description>
+ </valueHelp>
+ <valueHelp>
+ <format>allow</format>
+ <description>Negotiate IPv6 only if client requests</description>
+ </valueHelp>
+ <valueHelp>
+ <format>prefer</format>
+ <description>Ask client for IPv6 negotiation, do not fail if it rejects</description>
+ </valueHelp>
+ <valueHelp>
+ <format>require</format>
+ <description>Require IPv6 negotiation</description>
+ </valueHelp>
+ <completionHelp>
+ <list>deny allow prefer require</list>
+ </completionHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/accel-ppp/radius-additions.xml.i b/interface-definitions/include/accel-ppp/radius-additions.xml.i
index e65088c43..fdcff36bf 100644
--- a/interface-definitions/include/accel-ppp/radius-additions.xml.i
+++ b/interface-definitions/include/accel-ppp/radius-additions.xml.i
@@ -88,11 +88,7 @@
</properties>
<defaultValue>3</defaultValue>
</leafNode>
- <leafNode name="nas-identifier">
- <properties>
- <help>NAS-Identifier attribute sent to RADIUS</help>
- </properties>
- </leafNode>
+ #include <include/radius-nas-identifier.xml.i>
<leafNode name="nas-ip-address">
<properties>
<help>NAS-IP-Address attribute sent to RADIUS</help>
diff --git a/interface-definitions/include/auth-local-users.xml.i b/interface-definitions/include/auth-local-users.xml.i
new file mode 100644
index 000000000..8ef09554e
--- /dev/null
+++ b/interface-definitions/include/auth-local-users.xml.i
@@ -0,0 +1,22 @@
+<!-- include start from auth-local-users.xml.i -->
+<node name="local-users">
+ <properties>
+ <help>Local user authentication</help>
+ </properties>
+ <children>
+ <tagNode name="username">
+ <properties>
+ <help>Username used for authentication</help>
+ </properties>
+ <children>
+ #include <include/generic-disable-node.xml.i>
+ <leafNode name="password">
+ <properties>
+ <help>Password used for authentication</help>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/bgp/afi-common.xml.i b/interface-definitions/include/bgp/afi-common.xml.i
index 20b0dda66..62beff40c 100644
--- a/interface-definitions/include/bgp/afi-common.xml.i
+++ b/interface-definitions/include/bgp/afi-common.xml.i
@@ -88,6 +88,18 @@
</constraint>
</properties>
</leafNode>
+<leafNode name="maximum-prefix-out">
+ <properties>
+ <help>Maximum number of prefixes to be sent to this peer</help>
+ <valueHelp>
+ <format>u32:1-4294967295</format>
+ <description>Prefix limit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+</leafNode>
#include <include/bgp/afi-nexthop-self.xml.i>
<leafNode name="remove-private-as">
<properties>
diff --git a/interface-definitions/include/bgp/afi-l2vpn-common.xml.i b/interface-definitions/include/bgp/afi-l2vpn-common.xml.i
index 1673f25a5..aaa69e6c8 100644
--- a/interface-definitions/include/bgp/afi-l2vpn-common.xml.i
+++ b/interface-definitions/include/bgp/afi-l2vpn-common.xml.i
@@ -11,17 +11,6 @@
<valueless/>
</properties>
</leafNode>
-<leafNode name="rd">
- <properties>
- <help>Route Distinguisher</help>
- <valueHelp>
- <format>txt</format>
- <description>Route Distinguisher, (x.x.x.x:yyy|xxxx:yyyy)</description>
- </valueHelp>
- <constraint>
- <regex>^((25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)(\.(25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)){3}|[0-9]{1,10}):[0-9]{1,5}$</regex>
- </constraint>
- </properties>
-</leafNode>
+#include <include/bgp/route-distinguisher.xml.i>
#include <include/bgp/route-target.xml.i>
<!-- include end -->
diff --git a/interface-definitions/include/bgp/protocol-common-config.xml.i b/interface-definitions/include/bgp/protocol-common-config.xml.i
index e6b81ceb1..552e85aa4 100644
--- a/interface-definitions/include/bgp/protocol-common-config.xml.i
+++ b/interface-definitions/include/bgp/protocol-common-config.xml.i
@@ -372,18 +372,7 @@
</constraint>
</properties>
<children>
- <leafNode name="rd">
- <properties>
- <help>Route Distinguisher</help>
- <valueHelp>
- <format>txt</format>
- <description>Route Distinguisher, asn:xxx</description>
- </valueHelp>
- <constraint>
- <regex>^[0-9]{1,10}:[0-9]{1,5}$</regex>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp/route-distinguisher.xml.i>
<leafNode name="label">
<properties>
<help>MPLS label value assigned to route</help>
@@ -772,18 +761,7 @@
</constraint>
</properties>
<children>
- <leafNode name="rd">
- <properties>
- <help>Route Distinguisher</help>
- <valueHelp>
- <format>txt</format>
- <description>Route Distinguisher, asn:xxx</description>
- </valueHelp>
- <constraint>
- <regex>^[0-9]{1,10}:[0-9]{1,5}$</regex>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp/route-distinguisher.xml.i>
<leafNode name="label">
<properties>
<help>MPLS label value assigned to route</help>
@@ -1038,6 +1016,12 @@
</leafNode>
#include <include/bgp/remote-as.xml.i>
#include <include/bgp/neighbor-shutdown.xml.i>
+ <leafNode name="solo">
+ <properties>
+ <help>Do not send back prefixes learned from the neighbor</help>
+ <valueless/>
+ </properties>
+ </leafNode>
<leafNode name="strict-capability-match">
<properties>
<help>Enable strict capability negotiation</help>
@@ -1114,6 +1098,29 @@
</leafNode>
</children>
</node>
+ <leafNode name="bandwidth">
+ <properties>
+ <help>Link Bandwidth attribute</help>
+ <completionHelp>
+ <list>default-weight-for-missing ignore skip-missing</list>
+ </completionHelp>
+ <valueHelp>
+ <format>default-weight-for-missing</format>
+ <description>Assign low default weight (1) to paths not having link bandwidth</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ignore</format>
+ <description>Ignore link bandwidth (do regular ECMP, not weighted)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>skip-missing</format>
+ <description>Ignore paths without link bandwidth for ECMP (if other paths have it)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(default-weight-for-missing|ignore|skip-missing)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
<leafNode name="compare-routerid">
<properties>
<help>Compare the router-id for identical EBGP paths</help>
@@ -1180,6 +1187,7 @@
<constraint>
<validator name="numeric" argument="--range 1-4294967294"/>
</constraint>
+ <multi/>
</properties>
</leafNode>
</children>
diff --git a/interface-definitions/include/bgp/route-distinguisher.xml.i b/interface-definitions/include/bgp/route-distinguisher.xml.i
new file mode 100644
index 000000000..fdfbe7076
--- /dev/null
+++ b/interface-definitions/include/bgp/route-distinguisher.xml.i
@@ -0,0 +1,14 @@
+<!-- include start from bgp/route-distinguisher.xml.i -->
+<leafNode name="rd">
+ <properties>
+ <help>Route Distinguisher</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Route Distinguisher, (x.x.x.x:yyy|xxxx:yyyy)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^((25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)(\.(25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)){3}|[0-9]{1,10}):[0-9]{1,5}$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/conntrack-module-disable.xml.i b/interface-definitions/include/conntrack-module-disable.xml.i
new file mode 100644
index 000000000..f891225e0
--- /dev/null
+++ b/interface-definitions/include/conntrack-module-disable.xml.i
@@ -0,0 +1,8 @@
+<!-- include start from conntrack-module-disable.xml.i -->
+<leafNode name="disable">
+ <properties>
+ <help>Disable connection tracking helper</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/dhcp-interface.xml.i b/interface-definitions/include/dhcp-interface.xml.i
new file mode 100644
index 000000000..939b45f15
--- /dev/null
+++ b/interface-definitions/include/dhcp-interface.xml.i
@@ -0,0 +1,15 @@
+ <leafNode name="dhcp-interface">
+ <properties>
+ <help>DHCP interface supplying next-hop IP address</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>DHCP interface name</description>
+ </valueHelp>
+ <constraint>
+ <validator name="interface-name"/>
+ </constraint>
+ </properties>
+ </leafNode>
diff --git a/interface-definitions/include/firewall/action-accept-drop-reject.xml.i b/interface-definitions/include/firewall/action-accept-drop-reject.xml.i
new file mode 100644
index 000000000..9f8baa884
--- /dev/null
+++ b/interface-definitions/include/firewall/action-accept-drop-reject.xml.i
@@ -0,0 +1,25 @@
+<!-- include start from firewall/action-accept-drop-reject.xml.i -->
+<leafNode name="action">
+ <properties>
+ <help>Action for packets</help>
+ <completionHelp>
+ <list>accept drop reject</list>
+ </completionHelp>
+ <valueHelp>
+ <format>accept</format>
+ <description>Action to accept</description>
+ </valueHelp>
+ <valueHelp>
+ <format>drop</format>
+ <description>Action to drop</description>
+ </valueHelp>
+ <valueHelp>
+ <format>reject</format>
+ <description>Action to reject</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(accept|drop|reject)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/action.xml.i b/interface-definitions/include/firewall/action.xml.i
new file mode 100644
index 000000000..230f590cb
--- /dev/null
+++ b/interface-definitions/include/firewall/action.xml.i
@@ -0,0 +1,21 @@
+<!-- include start from firewall/action.xml.i -->
+<leafNode name="action">
+ <properties>
+ <help>Rule action [REQUIRED]</help>
+ <completionHelp>
+ <list>permit deny</list>
+ </completionHelp>
+ <valueHelp>
+ <format>permit</format>
+ <description>Permit matching entries</description>
+ </valueHelp>
+ <valueHelp>
+ <format>deny</format>
+ <description>Deny matching entries</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(permit|deny)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/address-ipv6.xml.i b/interface-definitions/include/firewall/address-ipv6.xml.i
new file mode 100644
index 000000000..fa60c0c8a
--- /dev/null
+++ b/interface-definitions/include/firewall/address-ipv6.xml.i
@@ -0,0 +1,37 @@
+<!-- include start from firewall/address-ipv6.xml.i -->
+<leafNode name="address">
+ <properties>
+ <help>IP address, subnet, or range</help>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>IP address to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6net</format>
+ <description>Subnet to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6range</format>
+ <description>IP range to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv6</format>
+ <description>Match everything except the specified address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv6net</format>
+ <description>Match everything except the specified prefix</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv6range</format>
+ <description>Match everything except the specified range</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv6"/>
+ <validator name="ipv6-exclude"/>
+ <validator name="ipv6-range"/>
+ <validator name="ipv6-range-exclude"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/address.xml.i b/interface-definitions/include/firewall/address.xml.i
new file mode 100644
index 000000000..2e1bde5a5
--- /dev/null
+++ b/interface-definitions/include/firewall/address.xml.i
@@ -0,0 +1,39 @@
+<!-- include start from firewall/address.xml.i -->
+<leafNode name="address">
+ <properties>
+ <help>IP address, subnet, or range</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>IPv4 prefix to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv4range</format>
+ <description>IPv4 address range to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv4</format>
+ <description>Match everything except the specified address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv4net</format>
+ <description>Match everything except the specified prefix</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv4range</format>
+ <description>Match everything except the specified range</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ <validator name="ipv4-prefix"/>
+ <validator name="ipv4-range"/>
+ <validator name="ipv4-address-exclude"/>
+ <validator name="ipv4-prefix-exclude"/>
+ <validator name="ipv4-range-exclude"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/common-rule.xml.i b/interface-definitions/include/firewall/common-rule.xml.i
new file mode 100644
index 000000000..1ee8da73d
--- /dev/null
+++ b/interface-definitions/include/firewall/common-rule.xml.i
@@ -0,0 +1,326 @@
+<!-- include start from firewall/common-rule.xml.i -->
+#include <include/firewall/action.xml.i>
+#include <include/generic-description.xml.i>
+<leafNode name="disable">
+ <properties>
+ <help>Option to disable firewall rule</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<node name="fragment">
+ <properties>
+ <help>IP fragment match</help>
+ </properties>
+ <children>
+ <leafNode name="match-frag">
+ <properties>
+ <help>Second and further fragments of fragmented packets</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="match-non-frag">
+ <properties>
+ <help>Head fragments or unfragmented packets</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="ipsec">
+ <properties>
+ <help>Inbound IPsec packets</help>
+ </properties>
+ <children>
+ <leafNode name="match-ipsec">
+ <properties>
+ <help>Inbound IPsec packets</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="match-none">
+ <properties>
+ <help>Inbound non-IPsec packets</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="limit">
+ <properties>
+ <help>Rate limit using a token bucket filter</help>
+ </properties>
+ <children>
+ <leafNode name="burst">
+ <properties>
+ <help>Maximum number of packets to allow in excess of rate</help>
+ <valueHelp>
+ <format>u32:0-4294967295</format>
+ <description>burst__change_me</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="rate">
+ <properties>
+ <help>Maximum average matching rate</help>
+ <valueHelp>
+ <format>u32:0-4294967295</format>
+ <description>rate__change_me</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="log">
+ <properties>
+ <help>Option to log packets matching rule</help>
+ <completionHelp>
+ <list>enable disable</list>
+ </completionHelp>
+ <valueHelp>
+ <format>enable</format>
+ <description>Enable log</description>
+ </valueHelp>
+ <valueHelp>
+ <format>disable</format>
+ <description>Disable log</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(enable|disable)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="protocol">
+ <properties>
+ <help>Protocol to match (protocol name, number, or "all")</help>
+ <completionHelp>
+ <script>cat /etc/protocols | sed -e '/^#.*/d' | awk '{ print $1 }'</script>
+ </completionHelp>
+ <valueHelp>
+ <format>all</format>
+ <description>All IP protocols</description>
+ </valueHelp>
+ <valueHelp>
+ <format>tcp_udp</format>
+ <description>Both TCP and UDP</description>
+ </valueHelp>
+ <valueHelp>
+ <format>0-255</format>
+ <description>IP protocol number</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!&lt;protocol&gt;</format>
+ <description>IP protocol number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ip-protocol"/>
+ </constraint>
+ </properties>
+ <defaultValue>all</defaultValue>
+</leafNode>
+<node name="recent">
+ <properties>
+ <help>Parameters for matching recently seen sources</help>
+ </properties>
+ <children>
+ <leafNode name="count">
+ <properties>
+ <help>Source addresses seen more than N times</help>
+ <valueHelp>
+ <format>u32:1-255</format>
+ <description>Source addresses seen more than N times</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-255"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="time">
+ <properties>
+ <help>Source addresses seen in the last N seconds</help>
+ <valueHelp>
+ <format>u32:0-4294967295</format>
+ <description>Source addresses seen in the last N seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="source">
+ <properties>
+ <help>Source parameters</help>
+ </properties>
+ <children>
+ #include <include/firewall/address.xml.i>
+ #include <include/firewall/source-destination-group.xml.i>
+ <leafNode name="mac-address">
+ <properties>
+ <help>Source MAC address</help>
+ <valueHelp>
+ <format>&lt;MAC address&gt;</format>
+ <description>MAC address to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!&lt;MAC address&gt;</format>
+ <description>Match everything except the specified MAC address</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ #include <include/firewall/port.xml.i>
+ </children>
+</node>
+<node name="state">
+ <properties>
+ <help>Session state</help>
+ </properties>
+ <children>
+ <leafNode name="established">
+ <properties>
+ <help>Established state</help>
+ <completionHelp>
+ <list>enable disable</list>
+ </completionHelp>
+ <valueHelp>
+ <format>enable</format>
+ <description>Enable</description>
+ </valueHelp>
+ <valueHelp>
+ <format>disable</format>
+ <description>Disable</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(enable|disable)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="invalid">
+ <properties>
+ <help>Invalid state</help>
+ <completionHelp>
+ <list>enable disable</list>
+ </completionHelp>
+ <valueHelp>
+ <format>enable</format>
+ <description>Enable</description>
+ </valueHelp>
+ <valueHelp>
+ <format>disable</format>
+ <description>Disable</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(enable|disable)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="new">
+ <properties>
+ <help>New state</help>
+ <completionHelp>
+ <list>enable disable</list>
+ </completionHelp>
+ <valueHelp>
+ <format>enable</format>
+ <description>Enable</description>
+ </valueHelp>
+ <valueHelp>
+ <format>disable</format>
+ <description>Disable</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(enable|disable)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="related">
+ <properties>
+ <help>Related state</help>
+ <completionHelp>
+ <list>enable disable</list>
+ </completionHelp>
+ <valueHelp>
+ <format>enable</format>
+ <description>Enable</description>
+ </valueHelp>
+ <valueHelp>
+ <format>disable</format>
+ <description>Disable</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(enable|disable)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="tcp">
+ <properties>
+ <help>TCP flags to match</help>
+ </properties>
+ <children>
+ <leafNode name="flags">
+ <properties>
+ <help>TCP flags to match</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>TCP flags to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format> </format>
+ <description>\n\n Allowed values for TCP flags : SYN ACK FIN RST URG PSH ALL\n When specifying more than one flag, flags should be comma-separated.\n For example : value of 'SYN,!ACK,!FIN,!RST' will only match packets with\n the SYN flag set, and the ACK, FIN and RST flags unset</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="time">
+ <properties>
+ <help>Time to match rule</help>
+ </properties>
+ <children>
+ <leafNode name="monthdays">
+ <properties>
+ <help>Monthdays to match rule on</help>
+ </properties>
+ </leafNode>
+ <leafNode name="startdate">
+ <properties>
+ <help>Date to start matching rule</help>
+ </properties>
+ </leafNode>
+ <leafNode name="starttime">
+ <properties>
+ <help>Time of day to start matching rule</help>
+ </properties>
+ </leafNode>
+ <leafNode name="stopdate">
+ <properties>
+ <help>Date to stop matching rule</help>
+ </properties>
+ </leafNode>
+ <leafNode name="stoptime">
+ <properties>
+ <help>Time of day to stop matching rule</help>
+ </properties>
+ </leafNode>
+ <leafNode name="utc">
+ <properties>
+ <help>Interpret times for startdate, stopdate, starttime and stoptime to be UTC</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="weekdays">
+ <properties>
+ <help>Weekdays to match rule on</help>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/icmp-type-name.xml.i b/interface-definitions/include/firewall/icmp-type-name.xml.i
new file mode 100644
index 000000000..b45fb619b
--- /dev/null
+++ b/interface-definitions/include/firewall/icmp-type-name.xml.i
@@ -0,0 +1,173 @@
+<!-- include start from firewall/icmp-type-name.xml.i -->
+<leafNode name="type-name">
+ <properties>
+ <help>ICMP type-name</help>
+ <completionHelp>
+ <list>any echo-reply pong destination-unreachable network-unreachable host-unreachable protocol-unreachable port-unreachable fragmentation-needed source-route-failed network-unknown host-unknown network-prohibited host-prohibited TOS-network-unreachable TOS-host-unreachable communication-prohibited host-precedence-violation precedence-cutoff source-quench redirect network-redirect host-redirect TOS-network-redirect TOS host-redirect echo-request ping router-advertisement router-solicitation time-exceeded ttl-exceeded ttl-zero-during-transit ttl-zero-during-reassembly parameter-problem ip-header-bad required-option-missing timestamp-request timestamp-reply address-mask-request address-mask-reply</list>
+ </completionHelp>
+ <valueHelp>
+ <format>any</format>
+ <description>Any ICMP type/code</description>
+ </valueHelp>
+ <valueHelp>
+ <format>echo-reply</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>pong</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>destination-unreachable</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>network-unreachable</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>host-unreachable</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>protocol-unreachable</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>port-unreachable</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>fragmentation-needed</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>source-route-failed</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>network-unknown</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>host-unknown</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>network-prohibited</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>host-prohibited</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>TOS-network-unreachable</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>TOS-host-unreachable</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>communication-prohibited</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>host-precedence-violation</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>precedence-cutoff</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>source-quench</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>redirect</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>network-redirect</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>host-redirect</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>TOS-network-redirect</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>TOS host-redirect</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>echo-request</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ping</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>router-advertisement</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>router-solicitation</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>time-exceeded</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ttl-exceeded</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ttl-zero-during-transit</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ttl-zero-during-reassembly</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>parameter-problem</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ip-header-bad</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>required-option-missing</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>timestamp-request</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>timestamp-reply</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>address-mask-request</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>address-mask-reply</format>
+ <description>ICMP type/code name</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(any|echo-reply|pong|destination-unreachable|network-unreachable|host-unreachable|protocol-unreachable|port-unreachable|fragmentation-needed|source-route-failed|network-unknown|host-unknown|network-prohibited|host-prohibited|TOS-network-unreachable|TOS-host-unreachable|communication-prohibited|host-precedence-violation|precedence-cutoff|source-quench|redirect|network-redirect|host-redirect|TOS-network-redirect|TOS host-redirect|echo-request|ping|router-advertisement|router-solicitation|time-exceeded|ttl-exceeded|ttl-zero-during-transit|ttl-zero-during-reassembly|parameter-problem|ip-header-bad|required-option-missing|timestamp-request|timestamp-reply|address-mask-request|address-mask-reply)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/log.xml.i b/interface-definitions/include/firewall/log.xml.i
new file mode 100644
index 000000000..46d20c1df
--- /dev/null
+++ b/interface-definitions/include/firewall/log.xml.i
@@ -0,0 +1,15 @@
+<!-- include start from firewall/log.xml.i -->
+<node name="log">
+ <properties>
+ <help>Option to log packets</help>
+ </properties>
+ <children>
+ <leafNode name="enable">
+ <properties>
+ <help>Enable logging</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/name-default-action.xml.i b/interface-definitions/include/firewall/name-default-action.xml.i
new file mode 100644
index 000000000..1b61b076f
--- /dev/null
+++ b/interface-definitions/include/firewall/name-default-action.xml.i
@@ -0,0 +1,25 @@
+<!-- include start from firewall/name-default-action.xml.i -->
+<leafNode name="default-action">
+ <properties>
+ <help>Default-action for rule-set</help>
+ <completionHelp>
+ <list>drop reject accept</list>
+ </completionHelp>
+ <valueHelp>
+ <format>drop</format>
+ <description>Drop if no prior rules are hit (default)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>reject</format>
+ <description>Drop and notify source if no prior rules are hit</description>
+ </valueHelp>
+ <valueHelp>
+ <format>accept</format>
+ <description>Accept if no prior rules are hit</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(drop|reject|accept)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/name-default-log.xml.i b/interface-definitions/include/firewall/name-default-log.xml.i
new file mode 100644
index 000000000..979395146
--- /dev/null
+++ b/interface-definitions/include/firewall/name-default-log.xml.i
@@ -0,0 +1,8 @@
+<!-- include start from firewall/name-default-log.xml.i -->
+<leafNode name="enable-default-log">
+ <properties>
+ <help>Option to log packets hitting default-action</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/port.xml.i b/interface-definitions/include/firewall/port.xml.i
new file mode 100644
index 000000000..59d92978b
--- /dev/null
+++ b/interface-definitions/include/firewall/port.xml.i
@@ -0,0 +1,23 @@
+<!-- include start from firewall/port.xml.i -->
+<leafNode name="port">
+ <properties>
+ <help>Port</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Named port (any name in /etc/services, e.g., http)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Numbered port</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;start-end&gt;</format>
+ <description>Numbered port range (e.g. 1001-1005)</description>
+ </valueHelp>
+ <valueHelp>
+ <format> </format>
+ <description>\n\n Multiple destination ports can be specified as a comma-separated list.\n The whole list can also be negated using '!'.\n For example: '!22,telnet,http,123,1001-1005'</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/source-destination-group.xml.i b/interface-definitions/include/firewall/source-destination-group.xml.i
new file mode 100644
index 000000000..30226b0d8
--- /dev/null
+++ b/interface-definitions/include/firewall/source-destination-group.xml.i
@@ -0,0 +1,24 @@
+<!-- include start from firewall/source-destination-group.xml.i -->
+<node name="group">
+ <properties>
+ <help>Group</help>
+ </properties>
+ <children>
+ <leafNode name="address-group">
+ <properties>
+ <help>Group of addresses</help>
+ </properties>
+ </leafNode>
+ <leafNode name="network-group">
+ <properties>
+ <help>Group of networks</help>
+ </properties>
+ </leafNode>
+ <leafNode name="port-group">
+ <properties>
+ <help>Group of ports</help>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/policy/description.xml.i b/interface-definitions/include/generic-description.xml.i
index e2ff35d02..03fc564e6 100644
--- a/interface-definitions/include/policy/description.xml.i
+++ b/interface-definitions/include/generic-description.xml.i
@@ -1,4 +1,4 @@
-<!-- include start from policy/description.xml.i -->
+<!-- include start from generic-description.xml.i -->
<leafNode name="description">
<properties>
<help>Description</help>
diff --git a/interface-definitions/include/interface/authentication.xml.i b/interface-definitions/include/interface/authentication.xml.i
new file mode 100644
index 000000000..c097ca9dd
--- /dev/null
+++ b/interface-definitions/include/interface/authentication.xml.i
@@ -0,0 +1,27 @@
+<!-- include start from interface/authentication.xml.i -->
+<node name="authentication">
+ <properties>
+ <help>Authentication settings</help>
+ </properties>
+ <children>
+ <leafNode name="user">
+ <properties>
+ <help>User name</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Username used for connection</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="password">
+ <properties>
+ <help>Password</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Password used for connection</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/interface/interface-eapol.xml.i b/interface-definitions/include/interface/interface-eapol.xml.i
index 92b7a3f35..270ec5b13 100644
--- a/interface-definitions/include/interface/interface-eapol.xml.i
+++ b/interface-definitions/include/interface/interface-eapol.xml.i
@@ -4,9 +4,8 @@
<help>Extensible Authentication Protocol over Local Area Network</help>
</properties>
<children>
- #include <include/certificate.xml.i>
- #include <include/certificate-ca.xml.i>
- #include <include/certificate-key.xml.i>
+ #include <include/pki/ca-certificate.xml.i>
+ #include <include/pki/certificate-key.xml.i>
</children>
</node>
<!-- include end -->
diff --git a/interface-definitions/include/interface/interface-parameters-key.xml.i b/interface-definitions/include/interface/interface-parameters-key.xml.i
index 1b1d67174..6c59f7879 100644
--- a/interface-definitions/include/interface/interface-parameters-key.xml.i
+++ b/interface-definitions/include/interface/interface-parameters-key.xml.i
@@ -1,7 +1,7 @@
<!-- include start from interface/interface-parameters-key.xml.i -->
<leafNode name="key">
<properties>
- <help>Tunnel key</help>
+ <help>Tunnel key (only GRE tunnels)</help>
<valueHelp>
<format>u32</format>
<description>Tunnel key</description>
diff --git a/interface-definitions/include/interface/vif.xml.i b/interface-definitions/include/interface/vif.xml.i
index 0355054a4..9e89cbbf6 100644
--- a/interface-definitions/include/interface/vif.xml.i
+++ b/interface-definitions/include/interface/vif.xml.i
@@ -22,9 +22,10 @@
<leafNode name="egress-qos">
<properties>
<help>VLAN egress QoS</help>
- <completionHelp>
- <script>echo Format for qos mapping, e.g.: '0:1 1:6 7:6'</script>
- </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Format for qos mapping, e.g.: '0:1 1:6 7:6'</description>
+ </valueHelp>
<constraint>
<regex>[:0-7 ]+$</regex>
</constraint>
@@ -34,9 +35,10 @@
<leafNode name="ingress-qos">
<properties>
<help>VLAN ingress QoS</help>
- <completionHelp>
- <script>echo Format for qos mapping '0:1 1:6 7:6'</script>
- </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Format for qos mapping, e.g.: '0:1 1:6 7:6'</description>
+ </valueHelp>
<constraint>
<regex>[:0-7 ]+$</regex>
</constraint>
diff --git a/interface-definitions/include/ip-protocol.xml.i b/interface-definitions/include/ip-protocol.xml.i
new file mode 100644
index 000000000..ce9345024
--- /dev/null
+++ b/interface-definitions/include/ip-protocol.xml.i
@@ -0,0 +1,17 @@
+<!-- include start from ip-protocol.xml.i -->
+<leafNode name="protocol">
+ <properties>
+ <help>Protocol</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Protocol name</description>
+ </valueHelp>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_protocols.sh</script>
+ </completionHelp>
+ <constraint>
+ <validator name="ip-protocol"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end from ip-protocol.xml.i -->
diff --git a/interface-definitions/include/ipsec/authentication-id.xml.i b/interface-definitions/include/ipsec/authentication-id.xml.i
new file mode 100644
index 000000000..4967782ec
--- /dev/null
+++ b/interface-definitions/include/ipsec/authentication-id.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from ipsec/authentication-id.xml.i -->
+<leafNode name="id">
+ <properties>
+ <help>ID for peer authentication</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>ID used for peer authentication</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/ipsec/authentication-pre-shared-secret.xml.i b/interface-definitions/include/ipsec/authentication-pre-shared-secret.xml.i
new file mode 100644
index 000000000..af2669335
--- /dev/null
+++ b/interface-definitions/include/ipsec/authentication-pre-shared-secret.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from ipsec/authentication-pre-shared-secret.xml.i -->
+<leafNode name="pre-shared-secret">
+ <properties>
+ <help>Pre-shared secret key</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Pre-shared secret key</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/ipsec/authentication-rsa.xml.i b/interface-definitions/include/ipsec/authentication-rsa.xml.i
new file mode 100644
index 000000000..0a364e838
--- /dev/null
+++ b/interface-definitions/include/ipsec/authentication-rsa.xml.i
@@ -0,0 +1,30 @@
+<!-- include start from ipsec/authentication-rsa.xml.i -->
+<node name="rsa">
+ <properties>
+ <help>RSA keys</help>
+ </properties>
+ <children>
+ <leafNode name="local-key">
+ <properties>
+ <help>Name of PKI key-pair with local private key</help>
+ <completionHelp>
+ <path>pki key-pair</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="passphrase">
+ <properties>
+ <help>Local private key passphrase</help>
+ </properties>
+ </leafNode>
+ <leafNode name="remote-key">
+ <properties>
+ <help>Name of PKI key-pair with remote public key</help>
+ <completionHelp>
+ <path>pki key-pair</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/ipsec/authentication-x509.xml.i b/interface-definitions/include/ipsec/authentication-x509.xml.i
new file mode 100644
index 000000000..db675c0bf
--- /dev/null
+++ b/interface-definitions/include/ipsec/authentication-x509.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from ipsec/authentication-x509.xml.i -->
+<node name="x509">
+ <properties>
+ <help>X.509 certificate</help>
+ </properties>
+ <children>
+ #include <include/pki/certificate-key.xml.i>
+ #include <include/pki/ca-certificate.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/ipsec/esp-group.xml.i b/interface-definitions/include/ipsec/esp-group.xml.i
new file mode 100644
index 000000000..5e5d8197b
--- /dev/null
+++ b/interface-definitions/include/ipsec/esp-group.xml.i
@@ -0,0 +1,10 @@
+<!-- include start from ipsec/esp-group.xml.i -->
+<leafNode name="esp-group">
+ <properties>
+ <help>Encapsulating Security Payloads (ESP) group name</help>
+ <completionHelp>
+ <path>vpn ipsec esp-group</path>
+ </completionHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/ipsec/ike-group.xml.i b/interface-definitions/include/ipsec/ike-group.xml.i
new file mode 100644
index 000000000..f7649ed30
--- /dev/null
+++ b/interface-definitions/include/ipsec/ike-group.xml.i
@@ -0,0 +1,10 @@
+<!-- include start from ipsec/ike-group.xml.i -->
+<leafNode name="ike-group">
+ <properties>
+ <help>Internet Key Exchange (IKE) group name</help>
+ <completionHelp>
+ <path>vpn ipsec ike-group</path>
+ </completionHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/ipsec/local-address.xml.i b/interface-definitions/include/ipsec/local-address.xml.i
new file mode 100644
index 000000000..2de6ecb1f
--- /dev/null
+++ b/interface-definitions/include/ipsec/local-address.xml.i
@@ -0,0 +1,27 @@
+<!-- include start from ipsec/local-address.xml.i -->
+<leafNode name="local-address">
+ <properties>
+ <help>IPv4 or IPv6 address of a local interface to use for VPN</help>
+ <completionHelp>
+ <list>any</list>
+ </completionHelp>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address of a local interface for VPN</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>IPv6 address of a local interface for VPN</description>
+ </valueHelp>
+ <valueHelp>
+ <format>any</format>
+ <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"/>
+ <regex>^(any)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/ipsec/local-traffic-selector.xml.i b/interface-definitions/include/ipsec/local-traffic-selector.xml.i
new file mode 100644
index 000000000..d30a6d11a
--- /dev/null
+++ b/interface-definitions/include/ipsec/local-traffic-selector.xml.i
@@ -0,0 +1,28 @@
+<!-- include start from ipsec/local-traffic-selector.xml.i -->
+<node name="local">
+ <properties>
+ <help>Local parameters for interesting traffic</help>
+ </properties>
+ <children>
+ #include <include/port-number.xml.i>
+ <leafNode name="prefix">
+ <properties>
+ <help>Local IPv4 or IPv6 prefix</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Local IPv4 prefix</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>Local IPv6 prefix</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-prefix"/>
+ <validator name="ipv6-prefix"/>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/isis/default-information-level.xml.i b/interface-definitions/include/isis/default-information-level.xml.i
new file mode 100644
index 000000000..5ade72a4b
--- /dev/null
+++ b/interface-definitions/include/isis/default-information-level.xml.i
@@ -0,0 +1,32 @@
+<!-- include start from isis/default-information-level.xml.i -->
+<node name="level-1">
+ <properties>
+ <help>Distribute default route into level-1</help>
+ </properties>
+ <children>
+ <leafNode name="always">
+ <properties>
+ <help>Always advertise default route</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ #include <include/isis/metric.xml.i>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<node name="level-2">
+ <properties>
+ <help>Distribute default route into level-2</help>
+ </properties>
+ <children>
+ <leafNode name="always">
+ <properties>
+ <help>Always advertise default route</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ #include <include/isis/metric.xml.i>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/isis/metric.xml.i b/interface-definitions/include/isis/metric.xml.i
new file mode 100644
index 000000000..30e2cdc10
--- /dev/null
+++ b/interface-definitions/include/isis/metric.xml.i
@@ -0,0 +1,14 @@
+<!-- include start from isis/metric.xml.i -->
+<leafNode name="metric">
+ <properties>
+ <help>Set default metric for circuit</help>
+ <valueHelp>
+ <format>u32:0-16777215</format>
+ <description>Default metric value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/isis/protocol-common-config.xml.i b/interface-definitions/include/isis/protocol-common-config.xml.i
index c4a913385..af5a21f49 100644
--- a/interface-definitions/include/isis/protocol-common-config.xml.i
+++ b/interface-definitions/include/isis/protocol-common-config.xml.i
@@ -39,18 +39,7 @@
<help>Distribute default route for IPv4</help>
</properties>
<children>
- <leafNode name="level-1">
- <properties>
- <help>Distribute default route into level-1</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="level-2">
- <properties>
- <help>Distribute default route into level-2</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/isis/default-information-level.xml.i>
</children>
</node>
<node name="ipv6">
@@ -58,30 +47,7 @@
<help>Distribute default route for IPv6</help>
</properties>
<children>
- <leafNode name="level-1">
- <properties>
- <help>Distribute default route into level-1</help>
- <completionHelp>
- <list>always</list>
- </completionHelp>
- <valueHelp>
- <format>always</format>
- <description>Always advertise default route</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="level-2">
- <properties>
- <help>Distribute default route into level-2</help>
- <completionHelp>
- <list>always</list>
- </completionHelp>
- <valueHelp>
- <format>always</format>
- <description>Always advertise default route</description>
- </valueHelp>
- </properties>
- </leafNode>
+ #include <include/isis/default-information-level.xml.i>
</children>
</node>
</children>
@@ -102,7 +68,6 @@
</valueHelp>
</properties>
</leafNode>
-<!--
<leafNode name="md5">
<properties>
<help>MD5 authentication type</help>
@@ -112,7 +77,6 @@
</valueHelp>
</properties>
</leafNode>
--->
</children>
</node>
<leafNode name="dynamic-hostname">
@@ -144,6 +108,12 @@
</constraint>
</properties>
</leafNode>
+<leafNode name="log-adjacency-changes">
+ <properties>
+ <help>Log adjacency state changes</help>
+ <valueless/>
+ </properties>
+</leafNode>
<leafNode name="lsp-gen-interval">
<properties>
<help>Minimum interval between regenerating same LSP</help>
@@ -522,6 +492,61 @@
</node>
</children>
</node>
+ <node name="ipv6">
+ <properties>
+ <help>Redistribute IPv6 routes</help>
+ </properties>
+ <children>
+ <node name="bgp">
+ <properties>
+ <help>Redistribute BGP routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-ipv6.xml.i>
+ </children>
+ </node>
+ <node name="connected">
+ <properties>
+ <help>Redistribute connected routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-ipv6.xml.i>
+ </children>
+ </node>
+ <node name="kernel">
+ <properties>
+ <help>Redistribute kernel routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-ipv6.xml.i>
+ </children>
+ </node>
+ <node name="ospf6">
+ <properties>
+ <help>Redistribute OSPFv3 routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-ipv6.xml.i>
+ </children>
+ </node>
+ <node name="ripng">
+ <properties>
+ <help>Redistribute RIPng routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-ipv6.xml.i>
+ </children>
+ </node>
+ <node name="static">
+ <properties>
+ <help>Redistribute static routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-ipv6.xml.i>
+ </children>
+ </node>
+ </children>
+ </node>
</children>
</node>
<leafNode name="set-attached-bit">
@@ -570,7 +595,7 @@
<help>Delay used while in LONG_WAIT</help>
<valueHelp>
<format>u32:0-60000</format>
- <description>Delay used while in LONG_WAIT state (in ms)</description>
+ <description>Delay used while in LONG_WAIT state in ms</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-60000"/>
@@ -582,7 +607,7 @@
<help>Time with no received IGP events before considering IGP stable</help>
<valueHelp>
<format>u32:0-60000</format>
- <description>Time with no received IGP events before considering IGP stable (in ms)</description>
+ <description>Time with no received IGP events before considering IGP stable in ms</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-60000"/>
@@ -594,7 +619,7 @@
<help>Maximum duration needed to learn all the events related to a single failure</help>
<valueHelp>
<format>u32:0-60000</format>
- <description>Maximum duration needed to learn all the events related to a single failure (in ms)</description>
+ <description>Maximum duration needed to learn all the events related to a single failure in ms</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-60000"/>
@@ -608,7 +633,7 @@
<help>Minimum interval between SPF calculations</help>
<valueHelp>
<format>u32:1-120</format>
- <description>Minimum interval between consecutive SPFs in seconds</description>
+ <description>Interval in seconds</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 1-120"/>
@@ -677,18 +702,7 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="metric">
- <properties>
- <help>Set default metric for circuit</help>
- <valueHelp>
- <format>u32:0-16777215</format>
- <description>Default metric value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-16777215"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/isis/metric.xml.i>
<node name="network">
<properties>
<help>Set network type</help>
@@ -733,10 +747,10 @@
</leafNode>
<leafNode name="psnp-interval">
<properties>
- <help>Set PSNP interval in seconds</help>
+ <help>Set PSNP interval</help>
<valueHelp>
<format>u32:0-127</format>
- <description>Priority value</description>
+ <description>PSNP interval in seconds</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-127"/>
@@ -752,4 +766,4 @@
</children>
</tagNode>
#include <include/route-map.xml.i>
-<!-- include end -->
+<!-- include end --> \ No newline at end of file
diff --git a/interface-definitions/include/isis/redistribute-ipv6.xml.i b/interface-definitions/include/isis/redistribute-ipv6.xml.i
new file mode 100644
index 000000000..7e679e38a
--- /dev/null
+++ b/interface-definitions/include/isis/redistribute-ipv6.xml.i
@@ -0,0 +1,42 @@
+<!-- include start from isis/redistribute-ipv6.xml.i -->
+<node name="level-1">
+ <properties>
+ <help>Redistribute into level-1</help>
+ </properties>
+ <children>
+ <leafNode name="metric">
+ <properties>
+ <help>Metric for redistributed routes</help>
+ <valueHelp>
+ <format>u32:0-16777215</format>
+ <description>ISIS default metric</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<node name="level-2">
+ <properties>
+ <help>Redistribute into level-2</help>
+ </properties>
+ <children>
+ <leafNode name="metric">
+ <properties>
+ <help>Metric for redistributed routes</help>
+ <valueHelp>
+ <format>u32:0-16777215</format>
+ <description>ISIS default metric</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<!-- include end --> \ No newline at end of file
diff --git a/interface-definitions/include/nat-translation-options.xml.i b/interface-definitions/include/nat-translation-options.xml.i
new file mode 100644
index 000000000..defc8c0d5
--- /dev/null
+++ b/interface-definitions/include/nat-translation-options.xml.i
@@ -0,0 +1,51 @@
+<!-- include start from nat-translation-options.xml.i -->
+<node name="options">
+ <properties>
+ <help>Translation options</help>
+ </properties>
+ <children>
+ <leafNode name="address-mapping">
+ <properties>
+ <help>Address mapping options</help>
+ <completionHelp>
+ <list>persistent random</list>
+ </completionHelp>
+ <valueHelp>
+ <format>persistent</format>
+ <description>Gives a client the same source or destination-address for each connection</description>
+ </valueHelp>
+ <valueHelp>
+ <format>random</format>
+ <description>Random source or destination address allocation for each connection (defaut)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(persistent|random)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="port-mapping">
+ <properties>
+ <help>Port mapping options</help>
+ <completionHelp>
+ <list>random fully-random none</list>
+ </completionHelp>
+ <valueHelp>
+ <format>random</format>
+ <description>Randomize source port mapping</description>
+ </valueHelp>
+ <valueHelp>
+ <format>fully-random</format>
+ <description>Full port randomization</description>
+ </valueHelp>
+ <valueHelp>
+ <format>none</format>
+ <description>Do not apply port randomization (default)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(random|fully-random|none)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/ca-certificate.xml.i b/interface-definitions/include/pki/ca-certificate.xml.i
new file mode 100644
index 000000000..14295a281
--- /dev/null
+++ b/interface-definitions/include/pki/ca-certificate.xml.i
@@ -0,0 +1,14 @@
+<!-- include start from pki/ca-certificate.xml.i -->
+<leafNode name="ca-certificate">
+ <properties>
+ <help>Certificate Authority in PKI configuration</help>
+ <valueHelp>
+ <format>CA name</format>
+ <description>Name of CA in PKI configuration</description>
+ </valueHelp>
+ <completionHelp>
+ <path>pki ca</path>
+ </completionHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/certificate-key.xml.i b/interface-definitions/include/pki/certificate-key.xml.i
new file mode 100644
index 000000000..7f26d25c1
--- /dev/null
+++ b/interface-definitions/include/pki/certificate-key.xml.i
@@ -0,0 +1,12 @@
+<!-- include start from pki/certificate-key.xml.i -->
+#include <include/pki/certificate.xml.i>
+<leafNode name="passphrase">
+ <properties>
+ <help>Private key passphrase</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Passphrase to decrypt the private key</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/certificate.xml.i b/interface-definitions/include/pki/certificate.xml.i
new file mode 100644
index 000000000..436aa90ba
--- /dev/null
+++ b/interface-definitions/include/pki/certificate.xml.i
@@ -0,0 +1,14 @@
+<!-- include start from pki/certificate.xml.i -->
+<leafNode name="certificate">
+ <properties>
+ <help>Certificate in PKI configuration</help>
+ <valueHelp>
+ <format>cert name</format>
+ <description>Name of certificate in PKI configuration</description>
+ </valueHelp>
+ <completionHelp>
+ <path>pki certificate</path>
+ </completionHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/private-key.xml.i b/interface-definitions/include/pki/private-key.xml.i
new file mode 100644
index 000000000..6099daa89
--- /dev/null
+++ b/interface-definitions/include/pki/private-key.xml.i
@@ -0,0 +1,30 @@
+<!-- include start from pki/private-key.xml.i -->
+<node name="private">
+ <properties>
+ <help>Private key</help>
+ </properties>
+ <children>
+ <leafNode name="key">
+ <properties>
+ <help>Private key in PKI configuration</help>
+ <valueHelp>
+ <format>key name</format>
+ <description>Name of private key in PKI configuration</description>
+ </valueHelp>
+ <completionHelp>
+ <path>pki key-pair</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="passphrase">
+ <properties>
+ <help>Private key passphrase</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Passphrase to decrypt the private key</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/public-key.xml.i b/interface-definitions/include/pki/public-key.xml.i
new file mode 100644
index 000000000..dfc6979fd
--- /dev/null
+++ b/interface-definitions/include/pki/public-key.xml.i
@@ -0,0 +1,14 @@
+<!-- include start from pki/public-key.xml.i -->
+<leafNode name="public-key">
+ <properties>
+ <help>Public key in PKI configuration</help>
+ <valueHelp>
+ <format>key name</format>
+ <description>Name of public key in PKI configuration</description>
+ </valueHelp>
+ <completionHelp>
+ <path>pki key-pair</path>
+ </completionHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/radius-nas-identifier.xml.i b/interface-definitions/include/radius-nas-identifier.xml.i
new file mode 100644
index 000000000..8e6933cc0
--- /dev/null
+++ b/interface-definitions/include/radius-nas-identifier.xml.i
@@ -0,0 +1,7 @@
+<!-- include start from radius-nas-identifier.xml.i -->
+<leafNode name="nas-identifier">
+ <properties>
+ <help>NAS-Identifier attribute sent to RADIUS</help>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/ssh-group.xml.i b/interface-definitions/include/ssh-group.xml.i
new file mode 100644
index 000000000..9c8b8692f
--- /dev/null
+++ b/interface-definitions/include/ssh-group.xml.i
@@ -0,0 +1,12 @@
+<!-- include start from ssh-group.xml.i -->
+<leafNode name="group">
+ <properties>
+ <help>Allow members of a group to login</help>
+ <constraint>
+ <regex>[a-z_][a-z0-9_-]{1,31}[$]?</regex>
+ </constraint>
+ <constraintErrorMessage>illegal characters or more than 32 characters</constraintErrorMessage>
+ <multi/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/ssh-user.xml.i b/interface-definitions/include/ssh-user.xml.i
new file mode 100644
index 000000000..677602dd8
--- /dev/null
+++ b/interface-definitions/include/ssh-user.xml.i
@@ -0,0 +1,12 @@
+<!-- include start from ssh-user.xml.i -->
+<leafNode name="user">
+ <properties>
+ <help>Allow specific users to login</help>
+ <constraint>
+ <regex>[a-z_][a-z0-9_-]{1,31}[$]?</regex>
+ </constraint>
+ <constraintErrorMessage>illegal characters or more than 32 characters</constraintErrorMessage>
+ <multi/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/static/static-route.xml.i b/interface-definitions/include/static/static-route.xml.i
index 254ea3163..21babc015 100644
--- a/interface-definitions/include/static/static-route.xml.i
+++ b/interface-definitions/include/static/static-route.xml.i
@@ -31,21 +31,7 @@
</leafNode>
</children>
</node>
- <leafNode name="dhcp-interface">
- <properties>
- <help>DHCP interface supplying next-hop IP address</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
- </completionHelp>
- <valueHelp>
- <format>txt</format>
- <description>DHCP interface name</description>
- </valueHelp>
- <constraint>
- <validator name="interface-name"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/dhcp-interface.xml.i>
<tagNode name="interface">
<properties>
<help>Next-hop IPv4 router interface</help>
diff --git a/interface-definitions/include/vpn-ipsec-encryption.xml.i b/interface-definitions/include/vpn-ipsec-encryption.xml.i
index 041ba9902..9ef2f7c90 100644
--- a/interface-definitions/include/vpn-ipsec-encryption.xml.i
+++ b/interface-definitions/include/vpn-ipsec-encryption.xml.i
@@ -1,233 +1,233 @@
<!-- include start from vpn-ipsec-encryption.xml.i -->
- <leafNode name="encryption">
- <properties>
- <help>Encryption algorithm</help>
- <completionHelp>
- <list>null aes128 aes192 aes256 aes128ctr aes192ctr aes256ctr aes128ccm64 aes192ccm64 aes256ccm64 aes128ccm96 aes192ccm96 aes256ccm96 aes128ccm128 aes192ccm128 aes256ccm128 aes128gcm64 aes192gcm64 aes256gcm64 aes128gcm96 aes192gcm96 aes256gcm96 aes128gcm128 aes192gcm128 aes256gcm128 aes128gmac aes192gmac aes256gmac 3des blowfish128 blowfish192 blowfish256 camellia128 camellia192 camellia256 camellia128ctr camellia192ctr camellia256ctr camellia128ccm64 camellia192ccm64 camellia256ccm64 camellia128ccm96 camellia192ccm96 camellia256ccm96 camellia128ccm128 camellia192ccm128 camellia256ccm128 serpent128 serpent192 serpent256 twofish128 twofish192 twofish256 cast128 chacha20poly1305</list>
- </completionHelp>
- <valueHelp>
- <format>null</format>
- <description>Null encryption</description>
- </valueHelp>
- <valueHelp>
- <format>aes128</format>
- <description>128 bit AES-CBC (default)</description>
- </valueHelp>
- <valueHelp>
- <format>aes192</format>
- <description>192 bit AES-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>aes256</format>
- <description>256 bit AES-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>aes128ctr</format>
- <description>128 bit AES-COUNTER</description>
- </valueHelp>
- <valueHelp>
- <format>aes192ctr</format>
- <description>192 bit AES-COUNTER</description>
- </valueHelp>
- <valueHelp>
- <format>aes256ctr</format>
- <description>256 bit AES-COUNTER</description>
- </valueHelp>
- <valueHelp>
- <format>aes128ccm64</format>
- <description>128 bit AES-CCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes192ccm64</format>
- <description>192 bit AES-CCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes256ccm64</format>
- <description>256 bit AES-CCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes128ccm96</format>
- <description>128 bit AES-CCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes192ccm96</format>
- <description>192 bit AES-CCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes256ccm96</format>
- <description>256 bit AES-CCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes128ccm128</format>
- <description>128 bit AES-CCM with 128 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes192ccm128</format>
- <description>192 bit AES-CCM with 128 bit IC</description>
- </valueHelp>
- <valueHelp>
- <format>aes256ccm128</format>
- <description>256 bit AES-CCM with 128 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes128gcm64</format>
- <description>128 bit AES-GCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes192gcm64</format>
- <description>192 bit AES-GCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes256gcm64</format>
- <description>256 bit AES-GCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes128gcm96</format>
- <description>128 bit AES-GCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes192gcm96</format>
- <description>192 bit AES-GCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes256gcm96</format>
- <description>256 bit AES-GCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes128gcm128</format>
- <description>128 bit AES-GCM with 128 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes192gcm128</format>
- <description>192 bit AES-GCM with 128 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes256gcm128</format>
- <description>256 bit AES-GCM with 128 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>aes128gmac</format>
- <description>Null encryption with 128 bit AES-GMAC</description>
- </valueHelp>
- <valueHelp>
- <format>aes192gmac</format>
- <description>Null encryption with 192 bit AES-GMAC</description>
- </valueHelp>
- <valueHelp>
- <format>aes256gmac</format>
- <description>Null encryption with 256 bit AES-GMAC</description>
- </valueHelp>
- <valueHelp>
- <format>3des</format>
- <description>168 bit 3DES-EDE-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>blowfish128</format>
- <description>128 bit Blowfish-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>blowfish192</format>
- <description>192 bit Blowfish-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>blowfish256</format>
- <description>256 bit Blowfish-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>camellia128</format>
- <description>128 bit Camellia-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>camellia192</format>
- <description>192 bit Camellia-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>camellia256</format>
- <description>256 bit Camellia-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>camellia128ctr</format>
- <description>128 bit Camellia-COUNTER</description>
- </valueHelp>
- <valueHelp>
- <format>camellia192ctr</format>
- <description>192 bit Camellia-COUNTER</description>
- </valueHelp>
- <valueHelp>
- <format>camellia256ctr</format>
- <description>256 bit Camellia-COUNTER</description>
- </valueHelp>
- <valueHelp>
- <format>camellia128ccm64</format>
- <description>128 bit Camellia-CCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>camellia192ccm64</format>
- <description>192 bit Camellia-CCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>camellia256ccm64</format>
- <description>256 bit Camellia-CCM with 64 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>camellia128ccm96</format>
- <description>128 bit Camellia-CCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>camellia192ccm96</format>
- <description>192 bit Camellia-CCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>camellia256ccm96</format>
- <description>256 bit Camellia-CCM with 96 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>camellia128ccm128</format>
- <description>128 bit Camellia-CCM with 128 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>camellia192ccm128</format>
- <description>192 bit Camellia-CCM with 128 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>camellia256ccm128</format>
- <description>256 bit Camellia-CCM with 128 bit ICV</description>
- </valueHelp>
- <valueHelp>
- <format>serpent128</format>
- <description>128 bit Serpent-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>serpent192</format>
- <description>192 bit Serpent-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>serpent256</format>
- <description>256 bit Serpent-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>twofish128</format>
- <description>128 bit Twofish-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>twofish192</format>
- <description>192 bit Twofish-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>twofish256</format>
- <description>256 bit Twofish-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>cast128</format>
- <description>128 bit CAST-CBC</description>
- </valueHelp>
- <valueHelp>
- <format>chacha20poly1305</format>
- <description>256 bit ChaCha20/Poly1305 with 128 bit ICV</description>
- </valueHelp>
- <constraint>
- <regex>^(null|aes128|aes192|aes256|aes128ctr|aes192ctr|aes256ctr|aes128ccm64|aes192ccm64|aes256ccm64|aes128ccm96|aes192ccm96|aes256ccm96|aes128ccm128|aes192ccm128|aes256ccm128|aes128gcm64|aes192gcm64|aes256gcm64|aes128gcm96|aes192gcm96|aes256gcm96|aes128gcm128|aes192gcm128|aes256gcm128|aes128gmac|aes192gmac|aes256gmac|3des|blowfish128|blowfish192|blowfish256|camellia128|camellia192|camellia256|camellia128ctr|camellia192ctr|camellia256ctr|camellia128ccm64|camellia192ccm64|camellia256ccm64|camellia128ccm96|camellia192ccm96|camellia256ccm96|camellia128ccm128|camellia192ccm128|camellia256ccm128|serpent128|serpent192|serpent256|twofish128|twofish192|twofish256|cast128|chacha20poly1305)$</regex>
- </constraint>
- </properties>
- </leafNode>
+<leafNode name="encryption">
+ <properties>
+ <help>Encryption algorithm</help>
+ <completionHelp>
+ <list>null aes128 aes192 aes256 aes128ctr aes192ctr aes256ctr aes128ccm64 aes192ccm64 aes256ccm64 aes128ccm96 aes192ccm96 aes256ccm96 aes128ccm128 aes192ccm128 aes256ccm128 aes128gcm64 aes192gcm64 aes256gcm64 aes128gcm96 aes192gcm96 aes256gcm96 aes128gcm128 aes192gcm128 aes256gcm128 aes128gmac aes192gmac aes256gmac 3des blowfish128 blowfish192 blowfish256 camellia128 camellia192 camellia256 camellia128ctr camellia192ctr camellia256ctr camellia128ccm64 camellia192ccm64 camellia256ccm64 camellia128ccm96 camellia192ccm96 camellia256ccm96 camellia128ccm128 camellia192ccm128 camellia256ccm128 serpent128 serpent192 serpent256 twofish128 twofish192 twofish256 cast128 chacha20poly1305</list>
+ </completionHelp>
+ <valueHelp>
+ <format>null</format>
+ <description>Null encryption</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128</format>
+ <description>128 bit AES-CBC (default)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192</format>
+ <description>192 bit AES-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256</format>
+ <description>256 bit AES-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128ctr</format>
+ <description>128 bit AES-COUNTER</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192ctr</format>
+ <description>192 bit AES-COUNTER</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256ctr</format>
+ <description>256 bit AES-COUNTER</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128ccm64</format>
+ <description>128 bit AES-CCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192ccm64</format>
+ <description>192 bit AES-CCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256ccm64</format>
+ <description>256 bit AES-CCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128ccm96</format>
+ <description>128 bit AES-CCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192ccm96</format>
+ <description>192 bit AES-CCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256ccm96</format>
+ <description>256 bit AES-CCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128ccm128</format>
+ <description>128 bit AES-CCM with 128 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192ccm128</format>
+ <description>192 bit AES-CCM with 128 bit IC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256ccm128</format>
+ <description>256 bit AES-CCM with 128 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128gcm64</format>
+ <description>128 bit AES-GCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192gcm64</format>
+ <description>192 bit AES-GCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256gcm64</format>
+ <description>256 bit AES-GCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128gcm96</format>
+ <description>128 bit AES-GCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192gcm96</format>
+ <description>192 bit AES-GCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256gcm96</format>
+ <description>256 bit AES-GCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128gcm128</format>
+ <description>128 bit AES-GCM with 128 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192gcm128</format>
+ <description>192 bit AES-GCM with 128 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256gcm128</format>
+ <description>256 bit AES-GCM with 128 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128gmac</format>
+ <description>Null encryption with 128 bit AES-GMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192gmac</format>
+ <description>Null encryption with 192 bit AES-GMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256gmac</format>
+ <description>Null encryption with 256 bit AES-GMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>3des</format>
+ <description>168 bit 3DES-EDE-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>blowfish128</format>
+ <description>128 bit Blowfish-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>blowfish192</format>
+ <description>192 bit Blowfish-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>blowfish256</format>
+ <description>256 bit Blowfish-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia128</format>
+ <description>128 bit Camellia-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia192</format>
+ <description>192 bit Camellia-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia256</format>
+ <description>256 bit Camellia-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia128ctr</format>
+ <description>128 bit Camellia-COUNTER</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia192ctr</format>
+ <description>192 bit Camellia-COUNTER</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia256ctr</format>
+ <description>256 bit Camellia-COUNTER</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia128ccm64</format>
+ <description>128 bit Camellia-CCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia192ccm64</format>
+ <description>192 bit Camellia-CCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia256ccm64</format>
+ <description>256 bit Camellia-CCM with 64 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia128ccm96</format>
+ <description>128 bit Camellia-CCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia192ccm96</format>
+ <description>192 bit Camellia-CCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia256ccm96</format>
+ <description>256 bit Camellia-CCM with 96 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia128ccm128</format>
+ <description>128 bit Camellia-CCM with 128 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia192ccm128</format>
+ <description>192 bit Camellia-CCM with 128 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>camellia256ccm128</format>
+ <description>256 bit Camellia-CCM with 128 bit ICV</description>
+ </valueHelp>
+ <valueHelp>
+ <format>serpent128</format>
+ <description>128 bit Serpent-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>serpent192</format>
+ <description>192 bit Serpent-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>serpent256</format>
+ <description>256 bit Serpent-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>twofish128</format>
+ <description>128 bit Twofish-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>twofish192</format>
+ <description>192 bit Twofish-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>twofish256</format>
+ <description>256 bit Twofish-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>cast128</format>
+ <description>128 bit CAST-CBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>chacha20poly1305</format>
+ <description>256 bit ChaCha20/Poly1305 with 128 bit ICV</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(null|aes128|aes192|aes256|aes128ctr|aes192ctr|aes256ctr|aes128ccm64|aes192ccm64|aes256ccm64|aes128ccm96|aes192ccm96|aes256ccm96|aes128ccm128|aes192ccm128|aes256ccm128|aes128gcm64|aes192gcm64|aes256gcm64|aes128gcm96|aes192gcm96|aes256gcm96|aes128gcm128|aes192gcm128|aes256gcm128|aes128gmac|aes192gmac|aes256gmac|3des|blowfish128|blowfish192|blowfish256|camellia128|camellia192|camellia256|camellia128ctr|camellia192ctr|camellia256ctr|camellia128ccm64|camellia192ccm64|camellia256ccm64|camellia128ccm96|camellia192ccm96|camellia256ccm96|camellia128ccm128|camellia192ccm128|camellia256ccm128|serpent128|serpent192|serpent256|twofish128|twofish192|twofish256|cast128|chacha20poly1305)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
<!-- include end -->
diff --git a/interface-definitions/include/vpn-ipsec-hash.xml.i b/interface-definitions/include/vpn-ipsec-hash.xml.i
index 93d57b622..5a06b290e 100644
--- a/interface-definitions/include/vpn-ipsec-hash.xml.i
+++ b/interface-definitions/include/vpn-ipsec-hash.xml.i
@@ -1,65 +1,65 @@
-<!-- include start from pn-ipsec-hash.xml.i -->
- <leafNode name="hash">
- <properties>
- <help>Hash algorithm</help>
- <completionHelp>
- <list>md5 md5_128 sha1 sha1_160 sha256 sha256_96 sha384 sha512 aesxcbc aescmac aes128gmac aes192gmac aes256gmac</list>
- </completionHelp>
- <valueHelp>
- <format>md5</format>
- <description>MD5 HMAC</description>
- </valueHelp>
- <valueHelp>
- <format>md5_128</format>
- <description>MD5_128 HMAC</description>
- </valueHelp>
- <valueHelp>
- <format>sha1</format>
- <description>SHA1 HMAC (default)</description>
- </valueHelp>
- <valueHelp>
- <format>sha1_160</format>
- <description>SHA1_160 HMAC</description>
- </valueHelp>
- <valueHelp>
- <format>sha256</format>
- <description>SHA2_256_128 HMAC</description>
- </valueHelp>
- <valueHelp>
- <format>sha256_96</format>
- <description>SHA2_256_96 HMAC</description>
- </valueHelp>
- <valueHelp>
- <format>sha384</format>
- <description>SHA2_384_192 HMAC</description>
- </valueHelp>
- <valueHelp>
- <format>sha512</format>
- <description>SHA2_512_256 HMAC</description>
- </valueHelp>
- <valueHelp>
- <format>aesxcbc</format>
- <description>AES XCBC</description>
- </valueHelp>
- <valueHelp>
- <format>aescmac</format>
- <description>AES CMAC</description>
- </valueHelp>
- <valueHelp>
- <format>aes128gmac</format>
- <description>128-bit AES-GMAC</description>
- </valueHelp>
- <valueHelp>
- <format>aes192gmac</format>
- <description>192-bit AES-GMAC</description>
- </valueHelp>
- <valueHelp>
- <format>aes256gmac</format>
- <description>256-bit AES-GMAC</description>
- </valueHelp>
- <constraint>
- <regex>^(md5|md5_128|sha1|sha1_160|sha256|sha256_96|sha384|sha512|aesxcbc|aescmac|aes128gmac|aes192gmac|aes256gmac)$</regex>
- </constraint>
- </properties>
- </leafNode>
+<!-- include start from vpn-ipsec-hash.xml.i -->
+<leafNode name="hash">
+ <properties>
+ <help>Hash algorithm</help>
+ <completionHelp>
+ <list>md5 md5_128 sha1 sha1_160 sha256 sha256_96 sha384 sha512 aesxcbc aescmac aes128gmac aes192gmac aes256gmac</list>
+ </completionHelp>
+ <valueHelp>
+ <format>md5</format>
+ <description>MD5 HMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>md5_128</format>
+ <description>MD5_128 HMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>sha1</format>
+ <description>SHA1 HMAC (default)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>sha1_160</format>
+ <description>SHA1_160 HMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>sha256</format>
+ <description>SHA2_256_128 HMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>sha256_96</format>
+ <description>SHA2_256_96 HMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>sha384</format>
+ <description>SHA2_384_192 HMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>sha512</format>
+ <description>SHA2_512_256 HMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aesxcbc</format>
+ <description>AES XCBC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aescmac</format>
+ <description>AES CMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes128gmac</format>
+ <description>128-bit AES-GMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes192gmac</format>
+ <description>192-bit AES-GMAC</description>
+ </valueHelp>
+ <valueHelp>
+ <format>aes256gmac</format>
+ <description>256-bit AES-GMAC</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(md5|md5_128|sha1|sha1_160|sha256|sha256_96|sha384|sha512|aesxcbc|aescmac|aes128gmac|aes192gmac|aes256gmac)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
<!-- include end -->