diff options
| author | Christian Poessinger <christian@poessinger.com> | 2022-12-17 08:29:12 +0100 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-17 08:29:12 +0100 | 
| commit | 76cf45917de5ed3a04132029d33a240ebd5877d6 (patch) | |
| tree | 07ffee72afccd941a60508ba56b6e65424d96bd0 /interface-definitions/include | |
| parent | 0c51111829dcd7660fc5405ae6ac651a8b6987b8 (diff) | |
| parent | d7a67aa4a7e7bb82a60ad18103abc6b966a2f8b8 (diff) | |
| download | vyos-1x-76cf45917de5ed3a04132029d33a240ebd5877d6.tar.gz vyos-1x-76cf45917de5ed3a04132029d33a240ebd5877d6.zip | |
Merge branch 'current' into goodnetnick-shloginotp-T4754
Diffstat (limited to 'interface-definitions/include')
44 files changed, 749 insertions, 1084 deletions
| diff --git a/interface-definitions/include/bgp/afi-rd.xml.i b/interface-definitions/include/bgp/afi-rd.xml.i index 767502094..beb1447df 100644 --- a/interface-definitions/include/bgp/afi-rd.xml.i +++ b/interface-definitions/include/bgp/afi-rd.xml.i @@ -17,7 +17,7 @@                <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> +              <validator name="bgp-rd-rt" argument="--route-distinguisher"/>              </constraint>            </properties>          </leafNode> diff --git a/interface-definitions/include/bgp/neighbor-update-source.xml.i b/interface-definitions/include/bgp/neighbor-update-source.xml.i index 37faf2cce..60c127e8f 100644 --- a/interface-definitions/include/bgp/neighbor-update-source.xml.i +++ b/interface-definitions/include/bgp/neighbor-update-source.xml.i @@ -22,7 +22,7 @@      <constraint>        <validator name="ipv4-address"/>        <validator name="ipv6-address"/> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/bgp/protocol-common-config.xml.i b/interface-definitions/include/bgp/protocol-common-config.xml.i index 70176144d..366630f78 100644 --- a/interface-definitions/include/bgp/protocol-common-config.xml.i +++ b/interface-definitions/include/bgp/protocol-common-config.xml.i @@ -926,7 +926,7 @@      <constraint>        <validator name="ipv4-address"/>        <validator name="ipv6-address"/> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>    <children> @@ -1431,6 +1431,12 @@          <valueless/>        </properties>      </leafNode> +    <leafNode name="route-reflector-allow-outbound-policy"> +      <properties> +        <help>Route reflector client allow policy outbound</help> +        <valueless/> +      </properties> +    </leafNode>      <leafNode name="no-client-to-client-reflection">        <properties>          <help>Disable client to client route reflection</help> diff --git a/interface-definitions/include/certificate-ca.xml.i b/interface-definitions/include/certificate-ca.xml.i index b97378658..3cde2a48d 100644 --- a/interface-definitions/include/certificate-ca.xml.i +++ b/interface-definitions/include/certificate-ca.xml.i @@ -7,7 +7,7 @@        <description>File in /config/auth directory</description>      </valueHelp>      <constraint> -      <validator name="file-exists" argument="--directory /config/auth"/> +      <validator name="file-path" argument="--strict --parent-dir /config/auth"/>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/certificate-key.xml.i b/interface-definitions/include/certificate-key.xml.i index 1db9dd069..2c4d81fbb 100644 --- a/interface-definitions/include/certificate-key.xml.i +++ b/interface-definitions/include/certificate-key.xml.i @@ -7,7 +7,7 @@        <description>File in /config/auth directory</description>      </valueHelp>      <constraint> -      <validator name="file-exists" argument="--directory /config/auth"/> +      <validator name="file-path" argument="--strict --parent-dir /config/auth"/>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/certificate.xml.i b/interface-definitions/include/certificate.xml.i index fb5be45cc..6a5b2936c 100644 --- a/interface-definitions/include/certificate.xml.i +++ b/interface-definitions/include/certificate.xml.i @@ -7,7 +7,7 @@        <description>File in /config/auth directory</description>      </valueHelp>      <constraint> -      <validator name="file-exists" argument="--directory /config/auth"/> +      <validator name="file-path" argument="--strict --parent-dir /config/auth"/>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/constraint/interface-name.xml.in b/interface-definitions/include/constraint/interface-name.xml.in new file mode 100644 index 000000000..2d1f7b757 --- /dev/null +++ b/interface-definitions/include/constraint/interface-name.xml.in @@ -0,0 +1,4 @@ +<!-- include start from constraint/interface-name.xml.in --> +<regex>(bond|br|dum|en|ersp|eth|gnv|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/dhcp-interface.xml.i b/interface-definitions/include/dhcp-interface.xml.i index 939b45f15..f5107ba2b 100644 --- a/interface-definitions/include/dhcp-interface.xml.i +++ b/interface-definitions/include/dhcp-interface.xml.i @@ -9,7 +9,7 @@            <description>DHCP interface name</description>          </valueHelp>          <constraint> -          <validator name="interface-name"/> +          #include <include/constraint/interface-name.xml.in>          </constraint>        </properties>      </leafNode> diff --git a/interface-definitions/include/firewall/address-mask-ipv6.xml.i b/interface-definitions/include/firewall/address-mask-ipv6.xml.i new file mode 100644 index 000000000..8c0483209 --- /dev/null +++ b/interface-definitions/include/firewall/address-mask-ipv6.xml.i @@ -0,0 +1,14 @@ +<!-- include start from firewall/address-mask-ipv6.xml.i --> +<leafNode name="address-mask"> +  <properties> +    <help>IP mask</help> +    <valueHelp> +      <format>ipv6</format> +      <description>IP mask to apply</description> +    </valueHelp> +    <constraint> +      <validator name="ipv6"/> +    </constraint> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/firewall/address-mask.xml.i b/interface-definitions/include/firewall/address-mask.xml.i new file mode 100644 index 000000000..7f6f17d1e --- /dev/null +++ b/interface-definitions/include/firewall/address-mask.xml.i @@ -0,0 +1,14 @@ +<!-- include start from firewall/address-mask.xml.i --> +<leafNode name="address-mask"> +  <properties> +    <help>IP mask</help> +    <valueHelp> +      <format>ipv4</format> +      <description>IPv4 mask to apply</description> +    </valueHelp> +    <constraint> +      <validator name="ipv4-address"/> +    </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 index a4f66f5cb..75ad427f9 100644 --- a/interface-definitions/include/firewall/common-rule.xml.i +++ b/interface-definitions/include/firewall/common-rule.xml.i @@ -219,22 +219,7 @@    <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><MAC address></format> -          <description>MAC address to match</description> -        </valueHelp> -        <valueHelp> -          <format>!<MAC address></format> -          <description>Match everything except the specified MAC address</description> -        </valueHelp> -        <constraint> -          <validator name="mac-address-firewall"/> -        </constraint> -      </properties> -    </leafNode> +    #include <include/firewall/mac-address.xml.i>      #include <include/firewall/port.xml.i>    </children>  </node> diff --git a/interface-definitions/include/firewall/fqdn.xml.i b/interface-definitions/include/firewall/fqdn.xml.i new file mode 100644 index 000000000..9eb3925b5 --- /dev/null +++ b/interface-definitions/include/firewall/fqdn.xml.i @@ -0,0 +1,14 @@ +<!-- include start from firewall/fqdn.xml.i --> +<leafNode name="fqdn"> +  <properties> +    <help>Fully qualified domain name</help> +    <valueHelp> +      <format><fqdn></format> +      <description>Fully qualified domain name</description> +    </valueHelp> +    <constraint> +      <validator name="fqdn"/> +    </constraint> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/firewall/icmpv6-type-name.xml.i b/interface-definitions/include/firewall/icmpv6-type-name.xml.i index a2e68abfb..e17a20e17 100644 --- a/interface-definitions/include/firewall/icmpv6-type-name.xml.i +++ b/interface-definitions/include/firewall/icmpv6-type-name.xml.i @@ -3,7 +3,7 @@    <properties>      <help>ICMPv6 type-name</help>      <completionHelp> -      <list>destination-unreachable packet-too-big time-exceeded echo-request echo-reply mld-listener-query mld-listener-report mld-listener-reduction nd-router-solicit nd-router-advert nd-neighbor-solicit nd-neighbor-advert nd-redirect parameter-problem router-renumbering</list> +      <list>destination-unreachable packet-too-big time-exceeded echo-request echo-reply mld-listener-query mld-listener-report mld-listener-reduction nd-router-solicit nd-router-advert nd-neighbor-solicit nd-neighbor-advert nd-redirect parameter-problem router-renumbering ind-neighbor-solicit ind-neighbor-advert mld2-listener-report</list>      </completionHelp>      <valueHelp>        <format>destination-unreachable</format> @@ -65,8 +65,20 @@        <format>router-renumbering</format>        <description>ICMPv6 type 138: router-renumbering</description>      </valueHelp> +    <valueHelp> +      <format>ind-neighbor-solicit</format> +      <description>ICMPv6 type 141: ind-neighbor-solicit</description> +    </valueHelp> +    <valueHelp> +      <format>ind-neighbor-advert</format> +      <description>ICMPv6 type 142: ind-neighbor-advert</description> +    </valueHelp> +    <valueHelp> +      <format>mld2-listener-report</format> +      <description>ICMPv6 type 143: mld2-listener-report</description> +    </valueHelp>      <constraint> -      <regex>(destination-unreachable|packet-too-big|time-exceeded|echo-request|echo-reply|mld-listener-query|mld-listener-report|mld-listener-reduction|nd-router-solicit|nd-router-advert|nd-neighbor-solicit|nd-neighbor-advert|nd-redirect|parameter-problem|router-renumbering)</regex> +      <regex>(destination-unreachable|packet-too-big|time-exceeded|echo-request|echo-reply|mld-listener-query|mld-listener-report|mld-listener-reduction|nd-router-solicit|nd-router-advert|nd-neighbor-solicit|nd-neighbor-advert|nd-redirect|parameter-problem|router-renumbering|ind-neighbor-solicit|ind-neighbor-advert|mld2-listener-report)</regex>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/firewall/mac-address.xml.i b/interface-definitions/include/firewall/mac-address.xml.i new file mode 100644 index 000000000..db3e1e312 --- /dev/null +++ b/interface-definitions/include/firewall/mac-address.xml.i @@ -0,0 +1,19 @@ +<!-- include start from firewall/mac-address.xml.i --> +<leafNode name="mac-address"> +  <properties> +    <help>MAC address</help> +    <valueHelp> +      <format>macaddr</format> +      <description>MAC address to match</description> +    </valueHelp> +    <valueHelp> +      <format>!macaddr</format> +      <description>Match everything except the specified MAC address</description> +    </valueHelp> +    <constraint> +      <validator name="mac-address"/> +      <validator name="mac-address-exclude"/> +    </constraint> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/firewall/source-destination-group-ipv6.xml.i b/interface-definitions/include/firewall/source-destination-group-ipv6.xml.i index c2cc7edb3..2a42d236c 100644 --- a/interface-definitions/include/firewall/source-destination-group-ipv6.xml.i +++ b/interface-definitions/include/firewall/source-destination-group-ipv6.xml.i @@ -12,6 +12,14 @@          </completionHelp>        </properties>      </leafNode> +    <leafNode name="domain-group"> +      <properties> +        <help>Group of domains</help> +        <completionHelp> +          <path>firewall group domain-group</path> +        </completionHelp> +      </properties> +    </leafNode>      #include <include/firewall/mac-group.xml.i>      <leafNode name="network-group">        <properties> diff --git a/interface-definitions/include/generic-interface-broadcast.xml.i b/interface-definitions/include/generic-interface-broadcast.xml.i index 6f76dde1a..af35a888b 100644 --- a/interface-definitions/include/generic-interface-broadcast.xml.i +++ b/interface-definitions/include/generic-interface-broadcast.xml.i @@ -10,7 +10,7 @@        <description>Interface name</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/generic-interface-multi-broadcast.xml.i b/interface-definitions/include/generic-interface-multi-broadcast.xml.i index 00638f3b7..1ae38fb43 100644 --- a/interface-definitions/include/generic-interface-multi-broadcast.xml.i +++ b/interface-definitions/include/generic-interface-multi-broadcast.xml.i @@ -10,7 +10,7 @@        <description>Interface name</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>      <multi/>    </properties> diff --git a/interface-definitions/include/generic-interface-multi.xml.i b/interface-definitions/include/generic-interface-multi.xml.i index 65aae28ae..16916ff54 100644 --- a/interface-definitions/include/generic-interface-multi.xml.i +++ b/interface-definitions/include/generic-interface-multi.xml.i @@ -10,7 +10,7 @@        <description>Interface name</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>      <multi/>    </properties> diff --git a/interface-definitions/include/generic-interface.xml.i b/interface-definitions/include/generic-interface.xml.i index 8b4cf1d65..36ddee417 100644 --- a/interface-definitions/include/generic-interface.xml.i +++ b/interface-definitions/include/generic-interface.xml.i @@ -10,7 +10,7 @@        <description>Interface name</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/interface/interface-policy-vif-c.xml.i b/interface-definitions/include/interface/interface-policy-vif-c.xml.i deleted file mode 100644 index 866fcd5c0..000000000 --- a/interface-definitions/include/interface/interface-policy-vif-c.xml.i +++ /dev/null @@ -1,26 +0,0 @@ -<!-- include start from interface/interface-policy-vif-c.xml.i --> -<node name="policy" owner="${vyos_conf_scripts_dir}/policy-route-interface.py $VAR(../../../@).$VAR(../../@).$VAR(../@)"> -  <properties> -    <priority>620</priority> -    <help>Policy route options</help> -  </properties> -  <children> -    <leafNode name="route"> -      <properties> -        <help>IPv4 policy route ruleset for interface</help> -        <completionHelp> -          <path>policy route</path> -        </completionHelp> -      </properties> -    </leafNode> -    <leafNode name="route6"> -      <properties> -        <help>IPv6 policy route ruleset for interface</help> -        <completionHelp> -          <path>policy route6</path> -        </completionHelp> -      </properties> -    </leafNode> -  </children> -</node> -<!-- include end --> diff --git a/interface-definitions/include/interface/interface-policy-vif.xml.i b/interface-definitions/include/interface/interface-policy-vif.xml.i deleted file mode 100644 index 83510fe59..000000000 --- a/interface-definitions/include/interface/interface-policy-vif.xml.i +++ /dev/null @@ -1,26 +0,0 @@ -<!-- include start from interface/interface-policy-vif.xml.i --> -<node name="policy" owner="${vyos_conf_scripts_dir}/policy-route-interface.py $VAR(../../@).$VAR(../@)"> -  <properties> -    <priority>620</priority> -    <help>Policy route options</help> -  </properties> -  <children> -    <leafNode name="route"> -      <properties> -        <help>IPv4 policy route ruleset for interface</help> -        <completionHelp> -          <path>policy route</path> -        </completionHelp> -      </properties> -    </leafNode> -    <leafNode name="route6"> -      <properties> -        <help>IPv6 policy route ruleset for interface</help> -        <completionHelp> -          <path>policy route6</path> -        </completionHelp> -      </properties> -    </leafNode> -  </children> -</node> -<!-- include end --> diff --git a/interface-definitions/include/interface/interface-policy.xml.i b/interface-definitions/include/interface/interface-policy.xml.i deleted file mode 100644 index 42a8fd009..000000000 --- a/interface-definitions/include/interface/interface-policy.xml.i +++ /dev/null @@ -1,26 +0,0 @@ -<!-- include start from interface/interface-policy.xml.i --> -<node name="policy" owner="${vyos_conf_scripts_dir}/policy-route-interface.py $VAR(../@)"> -  <properties> -    <priority>620</priority> -    <help>Policy route options</help> -  </properties> -  <children> -    <leafNode name="route"> -      <properties> -        <help>IPv4 policy route ruleset for interface</help> -        <completionHelp> -          <path>policy route</path> -        </completionHelp> -      </properties> -    </leafNode> -    <leafNode name="route6"> -      <properties> -        <help>IPv6 policy route ruleset for interface</help> -        <completionHelp> -          <path>policy route6</path> -        </completionHelp> -      </properties> -    </leafNode> -  </children> -</node> -<!-- include end --> diff --git a/interface-definitions/include/interface/no-peer-dns.xml.i b/interface-definitions/include/interface/no-peer-dns.xml.i new file mode 100644 index 000000000..d663f04c1 --- /dev/null +++ b/interface-definitions/include/interface/no-peer-dns.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/no-peer-dns.xml.i --> +<leafNode name="no-peer-dns"> +  <properties> +    <help>Do not use DNS servers provided by the peer</help> +    <valueless/> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/redirect.xml.i b/interface-definitions/include/interface/redirect.xml.i index 3be9ee16b..8df8957ac 100644 --- a/interface-definitions/include/interface/redirect.xml.i +++ b/interface-definitions/include/interface/redirect.xml.i @@ -10,7 +10,7 @@        <description>Interface name</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/interface/vif-s.xml.i b/interface-definitions/include/interface/vif-s.xml.i index 916349ade..6d50d7238 100644 --- a/interface-definitions/include/interface/vif-s.xml.i +++ b/interface-definitions/include/interface/vif-s.xml.i @@ -18,7 +18,6 @@      #include <include/interface/dhcpv6-options.xml.i>      #include <include/interface/disable-link-detect.xml.i>      #include <include/interface/disable.xml.i> -    #include <include/interface/interface-policy-vif.xml.i>      <leafNode name="protocol">        <properties>          <help>Protocol used for service VLAN (default: 802.1ad)</help> @@ -67,7 +66,6 @@          #include <include/interface/mtu-68-16000.xml.i>          #include <include/interface/redirect.xml.i>          #include <include/interface/vrf.xml.i> -        #include <include/interface/interface-policy-vif-c.xml.i>        </children>      </tagNode>      #include <include/interface/redirect.xml.i> diff --git a/interface-definitions/include/interface/vif.xml.i b/interface-definitions/include/interface/vif.xml.i index 73a8c98ff..3f8f113ea 100644 --- a/interface-definitions/include/interface/vif.xml.i +++ b/interface-definitions/include/interface/vif.xml.i @@ -18,7 +18,6 @@      #include <include/interface/dhcpv6-options.xml.i>      #include <include/interface/disable-link-detect.xml.i>      #include <include/interface/disable.xml.i> -    #include <include/interface/interface-policy-vif.xml.i>      <leafNode name="egress-qos">        <properties>          <help>VLAN egress QoS</help> diff --git a/interface-definitions/include/listen-address-single.xml.i b/interface-definitions/include/listen-address-single.xml.i index b5841cabb..30293b338 100644 --- a/interface-definitions/include/listen-address-single.xml.i +++ b/interface-definitions/include/listen-address-single.xml.i @@ -1,3 +1,4 @@ +<!-- include start from listen-address-single.xml.i -->  <leafNode name="listen-address">    <properties>      <help>Local IP addresses to listen on</help> diff --git a/interface-definitions/include/nat-rule.xml.i b/interface-definitions/include/nat-rule.xml.i index 84941aa6a..8f2029388 100644 --- a/interface-definitions/include/nat-rule.xml.i +++ b/interface-definitions/include/nat-rule.xml.i @@ -20,6 +20,7 @@        <children>          #include <include/nat-address.xml.i>          #include <include/nat-port.xml.i> +        #include <include/firewall/source-destination-group.xml.i>        </children>      </node>      #include <include/generic-disable-node.xml.i> @@ -285,6 +286,7 @@        <children>          #include <include/nat-address.xml.i>          #include <include/nat-port.xml.i> +        #include <include/firewall/source-destination-group.xml.i>        </children>      </node>    </children> diff --git a/interface-definitions/include/ospf/protocol-common-config.xml.i b/interface-definitions/include/ospf/protocol-common-config.xml.i index 0615063af..06609c10e 100644 --- a/interface-definitions/include/ospf/protocol-common-config.xml.i +++ b/interface-definitions/include/ospf/protocol-common-config.xml.i @@ -358,7 +358,7 @@        <description>Interface name</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>    <children> diff --git a/interface-definitions/include/ospfv3/protocol-common-config.xml.i b/interface-definitions/include/ospfv3/protocol-common-config.xml.i index 630534eea..c0aab912d 100644 --- a/interface-definitions/include/ospfv3/protocol-common-config.xml.i +++ b/interface-definitions/include/ospfv3/protocol-common-config.xml.i @@ -118,7 +118,7 @@        <description>Interface used for routing information exchange</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>    <children> diff --git a/interface-definitions/include/policy/route-common-rule-ipv6.xml.i b/interface-definitions/include/policy/route-common-rule-ipv6.xml.i deleted file mode 100644 index 662206336..000000000 --- a/interface-definitions/include/policy/route-common-rule-ipv6.xml.i +++ /dev/null @@ -1,557 +0,0 @@ -<!-- include start from policy/route-common-rule.xml.i --> -#include <include/policy/route-rule-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>Maximum number of packets to allow in excess of rate</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>Maximum average matching rate</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>!<protocol></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="set"> -  <properties> -    <help>Packet modifications</help> -  </properties> -  <children> -    <leafNode name="dscp"> -      <properties> -        <help>Packet Differentiated Services Codepoint (DSCP)</help> -        <valueHelp> -          <format>u32:0-63</format> -          <description>DSCP number</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 0-63"/> -        </constraint> -      </properties> -    </leafNode> -    <leafNode name="mark"> -      <properties> -        <help>Packet marking</help> -        <valueHelp> -          <format>u32:1-2147483647</format> -          <description>Packet marking</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 1-2147483647"/> -        </constraint> -      </properties> -    </leafNode> -    <leafNode name="table"> -      <properties> -        <help>Routing table to forward packet with</help> -        <valueHelp> -          <format>u32:1-200</format> -          <description>Table number</description> -        </valueHelp> -        <valueHelp> -          <format>main</format> -          <description>Main table</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 1-200"/> -          <regex>(main)</regex> -        </constraint> -        <completionHelp> -          <list>main</list> -          <path>protocols static table</path> -        </completionHelp> -      </properties> -    </leafNode> -    <leafNode name="tcp-mss"> -      <properties> -        <help>TCP Maximum Segment Size</help> -        <valueHelp> -          <format>u32:500-1460</format> -          <description>Explicitly set TCP MSS value</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 500-1460"/> -        </constraint> -      </properties> -    </leafNode> -  </children> -</node> -<node name="source"> -  <properties> -    <help>Source parameters</help> -  </properties> -  <children> -    #include <include/firewall/address-ipv6.xml.i> -    #include <include/firewall/source-destination-group.xml.i> -    <leafNode name="mac-address"> -      <properties> -        <help>Source MAC address</help> -        <valueHelp> -          <format><MAC address></format> -          <description>MAC address to match</description> -        </valueHelp> -        <valueHelp> -          <format>!<MAC address></format> -          <description>Match everything except the specified MAC address</description> -        </valueHelp> -        <constraint> -          <validator name="mac-address-firewall"/> -        </constraint> -      </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> -#include <include/firewall/tcp-flags.xml.i> -<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> -<node name="icmpv6"> -  <properties> -    <help>ICMPv6 type and code information</help> -  </properties> -  <children> -    <leafNode name="type"> -      <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 packet-too-big</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> -        <valueHelp> -          <format>packet-too-big</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|packet-too-big)</regex> -          <validator name="numeric" argument="--range 0-255"/> -        </constraint> -      </properties> -    </leafNode> -  </children> -</node> -<!-- include end --> diff --git a/interface-definitions/include/policy/route-common-rule.xml.i b/interface-definitions/include/policy/route-common.xml.i index 35fccca50..8b959c2a4 100644 --- a/interface-definitions/include/policy/route-common-rule.xml.i +++ b/interface-definitions/include/policy/route-common.xml.i @@ -1,406 +1,348 @@ -<!-- include start from policy/route-common-rule.xml.i --> -#include <include/policy/route-rule-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>Maximum number of packets to allow in excess of rate</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>Maximum average matching rate</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>!<protocol></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="set"> -  <properties> -    <help>Packet modifications</help> -  </properties> -  <children> -    <leafNode name="dscp"> -      <properties> -        <help>Packet Differentiated Services Codepoint (DSCP)</help> -        <valueHelp> -          <format>u32:0-63</format> -          <description>DSCP number</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 0-63"/> -        </constraint> -      </properties> -    </leafNode> -    <leafNode name="mark"> -      <properties> -        <help>Packet marking</help> -        <valueHelp> -          <format>u32:1-2147483647</format> -          <description>Packet marking</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 1-2147483647"/> -        </constraint> -      </properties> -    </leafNode> -    <leafNode name="table"> -      <properties> -        <help>Routing table to forward packet with</help> -        <valueHelp> -          <format>u32:1-200</format> -          <description>Table number</description> -        </valueHelp> -        <valueHelp> -          <format>main</format> -          <description>Main table</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 1-200"/> -          <regex>(main)</regex> -        </constraint> -        <completionHelp> -          <list>main</list> -          <path>protocols static table</path> -        </completionHelp> -      </properties> -    </leafNode> -    <leafNode name="tcp-mss"> -      <properties> -        <help>TCP Maximum Segment Size</help> -        <valueHelp> -          <format>u32:500-1460</format> -          <description>Explicitly set TCP MSS value</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 500-1460"/> -        </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><MAC address></format> -          <description>MAC address to match</description> -        </valueHelp> -        <valueHelp> -          <format>!<MAC address></format> -          <description>Match everything except the specified MAC address</description> -        </valueHelp> -        <constraint> -          <validator name="mac-address-firewall"/> -        </constraint> -      </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> -#include <include/firewall/tcp-flags.xml.i> -<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> -<node name="icmp"> -  <properties> -    <help>ICMP type and code information</help> -  </properties> -  <children> -    <leafNode name="code"> -      <properties> -        <help>ICMP code (0-255)</help> -        <valueHelp> -          <format>u32:0-255</format> -          <description>ICMP code (0-255)</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 0-255"/> -        </constraint> -      </properties> -    </leafNode> -    <leafNode name="type"> -      <properties> -        <help>ICMP type (0-255)</help> -        <valueHelp> -          <format>u32:0-255</format> -          <description>ICMP type (0-255)</description> -        </valueHelp> -        <constraint> -          <validator name="numeric" argument="--range 0-255"/> -        </constraint> -      </properties> -    </leafNode> -    #include <include/firewall/icmp-type-name.xml.i> -  </children> -</node> -<!-- include end --> +<!-- include start from policy/route-common.xml.i -->
 +#include <include/policy/route-rule-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>Maximum number of packets to allow in excess of rate</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>Maximum average matching rate</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>!<protocol></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="set">
 +  <properties>
 +    <help>Packet modifications</help>
 +  </properties>
 +  <children>
 +    <leafNode name="dscp">
 +      <properties>
 +        <help>Packet Differentiated Services Codepoint (DSCP)</help>
 +        <valueHelp>
 +          <format>u32:0-63</format>
 +          <description>DSCP number</description>
 +        </valueHelp>
 +        <constraint>
 +          <validator name="numeric" argument="--range 0-63"/>
 +        </constraint>
 +      </properties>
 +    </leafNode>
 +    <leafNode name="mark">
 +      <properties>
 +        <help>Packet marking</help>
 +        <valueHelp>
 +          <format>u32:1-2147483647</format>
 +          <description>Packet marking</description>
 +        </valueHelp>
 +        <constraint>
 +          <validator name="numeric" argument="--range 1-2147483647"/>
 +        </constraint>
 +      </properties>
 +    </leafNode>
 +    <leafNode name="table">
 +      <properties>
 +        <help>Routing table to forward packet with</help>
 +        <valueHelp>
 +          <format>u32:1-200</format>
 +          <description>Table number</description>
 +        </valueHelp>
 +        <valueHelp>
 +          <format>main</format>
 +          <description>Main table</description>
 +        </valueHelp>
 +        <constraint>
 +          <validator name="numeric" argument="--range 1-200"/>
 +          <regex>(main)</regex>
 +        </constraint>
 +        <completionHelp>
 +          <list>main</list>
 +          <path>protocols static table</path>
 +        </completionHelp>
 +      </properties>
 +    </leafNode>
 +    <leafNode name="tcp-mss">
 +      <properties>
 +        <help>TCP Maximum Segment Size</help>
 +        <valueHelp>
 +          <format>u32:500-1460</format>
 +          <description>Explicitly set TCP MSS value</description>
 +        </valueHelp>
 +        <constraint>
 +          <validator name="numeric" argument="--range 500-1460"/>
 +        </constraint>
 +      </properties>
 +    </leafNode>
 +  </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>
 +#include <include/firewall/tcp-flags.xml.i>
 +<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/policy/route-ipv4.xml.i b/interface-definitions/include/policy/route-ipv4.xml.i new file mode 100644 index 000000000..1f717a1a4 --- /dev/null +++ b/interface-definitions/include/policy/route-ipv4.xml.i @@ -0,0 +1,45 @@ +<!-- include start from policy/route-ipv4.xml.i --> +<node name="source"> +  <properties> +    <help>Source parameters</help> +  </properties> +  <children> +    #include <include/firewall/address.xml.i> +    #include <include/firewall/source-destination-group.xml.i> +    #include <include/firewall/mac-address.xml.i> +    #include <include/firewall/port.xml.i> +  </children> +</node> +<node name="icmp"> +  <properties> +    <help>ICMP type and code information</help> +  </properties> +  <children> +    <leafNode name="code"> +      <properties> +        <help>ICMP code (0-255)</help> +        <valueHelp> +          <format>u32:0-255</format> +          <description>ICMP code (0-255)</description> +        </valueHelp> +        <constraint> +          <validator name="numeric" argument="--range 0-255"/> +        </constraint> +      </properties> +    </leafNode> +    <leafNode name="type"> +      <properties> +        <help>ICMP type (0-255)</help> +        <valueHelp> +          <format>u32:0-255</format> +          <description>ICMP type (0-255)</description> +        </valueHelp> +        <constraint> +          <validator name="numeric" argument="--range 0-255"/> +        </constraint> +      </properties> +    </leafNode> +    #include <include/firewall/icmp-type-name.xml.i> +  </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/policy/route-ipv6.xml.i b/interface-definitions/include/policy/route-ipv6.xml.i new file mode 100644 index 000000000..d636a654b --- /dev/null +++ b/interface-definitions/include/policy/route-ipv6.xml.i @@ -0,0 +1,196 @@ +<!-- include start from policy/route-ipv6.xml.i --> +<node name="source"> +  <properties> +    <help>Source parameters</help> +  </properties> +  <children> +    #include <include/firewall/address-ipv6.xml.i> +    #include <include/firewall/source-destination-group.xml.i> +    #include <include/firewall/mac-address.xml.i> +    #include <include/firewall/port.xml.i> +  </children> +</node> +<node name="icmpv6"> +  <properties> +    <help>ICMPv6 type and code information</help> +  </properties> +  <children> +    <leafNode name="type"> +      <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 packet-too-big</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> +        <valueHelp> +          <format>packet-too-big</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|packet-too-big)</regex> +          <validator name="numeric" argument="--range 0-255"/> +        </constraint> +      </properties> +    </leafNode> +  </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/radius-timeout.xml.i b/interface-definitions/include/radius-timeout.xml.i new file mode 100644 index 000000000..22bb6d312 --- /dev/null +++ b/interface-definitions/include/radius-timeout.xml.i @@ -0,0 +1,16 @@ +<!-- include start from radius-timeout.xml.i --> +<leafNode name="timeout"> +  <properties> +    <help>Session timeout</help> +    <valueHelp> +      <format>u32:1-240</format> +      <description>Session timeout in seconds (default: 2)</description> +    </valueHelp> +    <constraint> +      <validator name="numeric" argument="--range 1-240"/> +    </constraint> +    <constraintErrorMessage>Timeout must be between 1 and 240 seconds</constraintErrorMessage> +  </properties> +  <defaultValue>2</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/rip/interface.xml.i b/interface-definitions/include/rip/interface.xml.i index baeceac1c..e0792cdc1 100644 --- a/interface-definitions/include/rip/interface.xml.i +++ b/interface-definitions/include/rip/interface.xml.i @@ -10,7 +10,7 @@        <description>Interface name</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>    <children> diff --git a/interface-definitions/include/routing-passive-interface.xml.i b/interface-definitions/include/routing-passive-interface.xml.i index 095b683de..fe229aebe 100644 --- a/interface-definitions/include/routing-passive-interface.xml.i +++ b/interface-definitions/include/routing-passive-interface.xml.i @@ -16,7 +16,7 @@      </valueHelp>      <constraint>        <regex>(default)</regex> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>      <multi/>    </properties> diff --git a/interface-definitions/include/server-ipv4-fqdn.xml.i b/interface-definitions/include/server-ipv4-fqdn.xml.i new file mode 100644 index 000000000..7bab9812c --- /dev/null +++ b/interface-definitions/include/server-ipv4-fqdn.xml.i @@ -0,0 +1,15 @@ +<!-- include start from server-ipv4-fqdn.xml.i --> +<leafNode name="server"> +  <properties> +    <help>Remote server to connect to</help> +    <valueHelp> +      <format>ipv4</format> +      <description>Server IPv4 address</description> +    </valueHelp> +    <valueHelp> +      <format>hostname</format> +      <description>Server hostname/FQDN</description> +    </valueHelp> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/source-interface.xml.i b/interface-definitions/include/source-interface.xml.i index a9c2a0f9d..4c1fddb57 100644 --- a/interface-definitions/include/source-interface.xml.i +++ b/interface-definitions/include/source-interface.xml.i @@ -10,7 +10,7 @@        <script>${vyos_completion_dir}/list_interfaces.py</script>      </completionHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/static/static-route-interface.xml.i b/interface-definitions/include/static/static-route-interface.xml.i index ed4f455e5..cc7a92612 100644 --- a/interface-definitions/include/static/static-route-interface.xml.i +++ b/interface-definitions/include/static/static-route-interface.xml.i @@ -10,7 +10,7 @@        <description>Gateway interface name</description>      </valueHelp>      <constraint> -      <validator name="interface-name"/> +      #include <include/constraint/interface-name.xml.in>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/static/static-route.xml.i b/interface-definitions/include/static/static-route.xml.i index 2de5dc58f..aeb2044c9 100644 --- a/interface-definitions/include/static/static-route.xml.i +++ b/interface-definitions/include/static/static-route.xml.i @@ -14,6 +14,7 @@      #include <include/static/static-route-blackhole.xml.i>      #include <include/static/static-route-reject.xml.i>      #include <include/dhcp-interface.xml.i> +    #include <include/generic-description.xml.i>      <tagNode name="interface">        <properties>          <help>Next-hop IPv4 router interface</help> @@ -25,7 +26,7 @@            <description>Gateway interface name</description>          </valueHelp>          <constraint> -          <validator name="interface-name"/> +          #include <include/constraint/interface-name.xml.in>          </constraint>        </properties>        <children> diff --git a/interface-definitions/include/static/static-route6.xml.i b/interface-definitions/include/static/static-route6.xml.i index 35feef41c..d5e7a25bc 100644 --- a/interface-definitions/include/static/static-route6.xml.i +++ b/interface-definitions/include/static/static-route6.xml.i @@ -13,6 +13,7 @@    <children>      #include <include/static/static-route-blackhole.xml.i>      #include <include/static/static-route-reject.xml.i> +    #include <include/generic-description.xml.i>      <tagNode name="interface">        <properties>          <help>IPv6 gateway interface name</help> @@ -24,7 +25,7 @@            <description>Gateway interface name</description>          </valueHelp>          <constraint> -          <validator name="interface-name"/> +          #include <include/constraint/interface-name.xml.in>          </constraint>        </properties>        <children> diff --git a/interface-definitions/include/version/https-version.xml.i b/interface-definitions/include/version/https-version.xml.i index 586083649..111076974 100644 --- a/interface-definitions/include/version/https-version.xml.i +++ b/interface-definitions/include/version/https-version.xml.i @@ -1,3 +1,3 @@  <!-- include start from include/version/https-version.xml.i --> -<syntaxVersion component='https' version='3'></syntaxVersion> +<syntaxVersion component='https' version='4'></syntaxVersion>  <!-- include end --> diff --git a/interface-definitions/include/version/policy-version.xml.i b/interface-definitions/include/version/policy-version.xml.i index 89bde20c7..f1494eaa3 100644 --- a/interface-definitions/include/version/policy-version.xml.i +++ b/interface-definitions/include/version/policy-version.xml.i @@ -1,3 +1,3 @@  <!-- include start from include/version/policy-version.xml.i --> -<syntaxVersion component='policy' version='4'></syntaxVersion> +<syntaxVersion component='policy' version='5'></syntaxVersion>  <!-- include end --> | 
