diff options
Diffstat (limited to 'interface-definitions')
13 files changed, 299 insertions, 5 deletions
diff --git a/interface-definitions/dns-dynamic.xml.in b/interface-definitions/dns-dynamic.xml.in index f089f0e52..388e7c5d2 100644 --- a/interface-definitions/dns-dynamic.xml.in +++ b/interface-definitions/dns-dynamic.xml.in @@ -19,6 +19,10 @@                      <format>txt</format>                      <description>Dynamic DNS service name</description>                    </valueHelp> +                  <constraint> +                    #include <include/constraint/alpha-numeric-hyphen-underscore.xml.i> +                  </constraint> +                  <constraintErrorMessage>Dynamic DNS service name must be alphanumeric and can contain hyphens and underscores</constraintErrorMessage>                  </properties>                  <children>                    #include <include/generic-description.xml.i> diff --git a/interface-definitions/include/bgp/bmp-monitor-afi-policy.xml.i b/interface-definitions/include/bgp/bmp-monitor-afi-policy.xml.i new file mode 100644 index 000000000..261d60232 --- /dev/null +++ b/interface-definitions/include/bgp/bmp-monitor-afi-policy.xml.i @@ -0,0 +1,14 @@ +<!-- include start from bgp/bmp-monitor-afi-policy.xml.i --> +<leafNode name="pre-policy"> +  <properties> +    <help>Send state before policy and filter processing</help> +    <valueless/> +  </properties> +</leafNode> +<leafNode name="post-policy"> +  <properties> +    <help>Send state with policy and filters applied</help> +    <valueless/> +  </properties> +</leafNode> +<!-- 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 4e43298bc..dce61ee77 100644 --- a/interface-definitions/include/bgp/protocol-common-config.xml.i +++ b/interface-definitions/include/bgp/protocol-common-config.xml.i @@ -909,6 +909,92 @@      </node>    </children>  </node> +<node name="bmp"> +  <properties> +    <help>BGP Monitoring Protocol (BMP)</help> +  </properties> +  <children> +    <leafNode name="mirror-buffer-limit"> +      <properties> +        <help>Maximum memory used for buffered mirroring messages (in bytes)</help> +        <valueHelp> +          <format>u32:0-4294967294</format> +          <description>Limit in bytes</description> +        </valueHelp> +        <constraint> +          <validator name="numeric" argument="--range 0-4294967294"/> +        </constraint> +      </properties> +    </leafNode> +    <tagNode name="target"> +      <properties> +        <help>BMP target</help> +      </properties> +      <children> +        #include <include/address-ipv4-ipv6-single.xml.i> +        #include <include/port-number.xml.i> +        <leafNode name="port"> +          <defaultValue>5000</defaultValue> +        </leafNode> +        <leafNode name="min-retry"> +          <properties> +            <help>Minimum connection retry interval (in milliseconds)</help> +            <valueHelp> +              <format>u32:100-86400000</format> +              <description>Minimum connection retry interval</description> +            </valueHelp> +            <constraint> +              <validator name="numeric" argument="--range 100-86400000"/> +            </constraint> +          </properties> +          <defaultValue>1000</defaultValue> +        </leafNode> +        <leafNode name="max-retry"> +          <properties> +            <help>Maximum connection retry interval</help> +            <valueHelp> +              <format>u32:100-4294967295</format> +              <description>Maximum connection retry interval</description> +            </valueHelp> +            <constraint> +              <validator name="numeric" argument="--range 100-86400000"/> +            </constraint> +          </properties> +          <defaultValue>2000</defaultValue> +        </leafNode> +        <leafNode name="mirror"> +          <properties> +            <help>Send BMP route mirroring messages</help> +            <valueless/> +          </properties> +        </leafNode> +        <node name="monitor"> +          <properties> +            <help>Send BMP route monitoring messages</help> +          </properties> +          <children> +            <node name="ipv4-unicast"> +              <properties> +                <help>Address family IPv4 unicast</help> +              </properties> +              <children> +                #include <include/bgp/bmp-monitor-afi-policy.xml.i> +              </children> +            </node> +            <node name="ipv6-unicast"> +              <properties> +                <help>Address family IPv6 unicast</help> +              </properties> +              <children> +                #include <include/bgp/bmp-monitor-afi-policy.xml.i> +              </children> +            </node> +          </children> +        </node> +      </children> +    </tagNode> +  </children> +</node>  <tagNode name="interface">    <properties>      <help>Configure interface related parameters, e.g. MPLS</help> @@ -1639,6 +1725,66 @@      #include <include/port-number.xml.i>    </children>  </tagNode> +<node name="srv6"> +  <properties> +    <help>Segment-Routing SRv6 configuration</help> +  </properties> +  <children> +    <leafNode name="locator"> +      <properties> +        <help>Specify SRv6 locator</help> +        <valueHelp> +          <format>txt</format> +          <description>SRv6 locator name</description> +        </valueHelp> +        <constraint> +          #include <include/constraint/alpha-numeric-hyphen-underscore.xml.i> +        </constraint> +      </properties> +    </leafNode> +  </children> +</node> +<node name="sid"> +  <properties> +    <help>SID value for VRF</help> +  </properties> +  <children> +    <node name="vpn"> +      <properties> +        <help>Between current VRF and VPN</help> +      </properties> +      <children> +        <node name="per-vrf"> +          <properties> +            <help>SID per-VRF (both IPv4 and IPv6 address families)</help> +          </properties> +          <children> +            <leafNode name="export"> +              <properties> +                <help>For routes leaked from current VRF to VPN</help> +                <completionHelp> +                  <list>auto</list> +                </completionHelp> +                <valueHelp> +                  <format>u32:1-1048575</format> +                  <description>SID allocation index</description> +                </valueHelp> +                <valueHelp> +                  <format>auto</format> +                  <description>Automatically assign a label</description> +                </valueHelp> +                <constraint> +                  <regex>auto</regex> +                  <validator name="numeric" argument="--range 1-1048575"/> +                </constraint> +              </properties> +            </leafNode> +          </children> +        </node> +      </children> +    </node> +  </children> +</node>  <node name="timers">    <properties>      <help>BGP protocol timers</help> diff --git a/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i b/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i index ba097c6b5..399f2e1da 100644 --- a/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i +++ b/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore.xml.i @@ -1,3 +1,3 @@ -<!-- include start from include/constraint/alpha-numeric-hyphen-underscore.xml.i --> +<!-- include start from constraint/alpha-numeric-hyphen-underscore.xml.i -->  <regex>[-_a-zA-Z0-9]+</regex>  <!-- include end --> diff --git a/interface-definitions/include/constraint/dhcp-client-string-option.xml.i b/interface-definitions/include/constraint/dhcp-client-string-option.xml.i index 76e0e5466..88257a9bb 100644 --- a/interface-definitions/include/constraint/dhcp-client-string-option.xml.i +++ b/interface-definitions/include/constraint/dhcp-client-string-option.xml.i @@ -1,4 +1,4 @@ -<!-- include start from include/constraint/dhcp-client-string-option.xml.i --> +<!-- include start from constraint/dhcp-client-string-option.xml.i -->  <regex>[-_a-zA-Z0-9\s]+</regex>  <regex>([a-fA-F0-9][a-fA-F0-9]:){2,}[a-fA-F0-9][a-fA-F0-9]</regex>  <!-- include end --> diff --git a/interface-definitions/include/firewall/action.xml.i b/interface-definitions/include/firewall/action.xml.i index 954e4f23e..e1f0c6cb6 100644 --- a/interface-definitions/include/firewall/action.xml.i +++ b/interface-definitions/include/firewall/action.xml.i @@ -3,7 +3,7 @@    <properties>      <help>Rule action</help>      <completionHelp> -      <list>accept continue jump reject return drop queue synproxy</list> +      <list>accept continue jump reject return drop queue offload synproxy</list>      </completionHelp>      <valueHelp>        <format>accept</format> @@ -34,11 +34,15 @@        <description>Enqueue packet to userspace</description>      </valueHelp>      <valueHelp> +      <format>offload</format> +      <description>Offload packet via flowtable</description> +    </valueHelp> +    <valueHelp>        <format>synproxy</format>        <description>Synproxy connections</description>      </valueHelp>      <constraint> -      <regex>(accept|continue|jump|reject|return|drop|queue|synproxy)</regex> +      <regex>(accept|continue|jump|reject|return|drop|queue|offload|synproxy)</regex>      </constraint>    </properties>  </leafNode> diff --git a/interface-definitions/include/firewall/ipv4-custom-name.xml.i b/interface-definitions/include/firewall/ipv4-custom-name.xml.i index 9d6ecfaf2..c6420fe1f 100644 --- a/interface-definitions/include/firewall/ipv4-custom-name.xml.i +++ b/interface-definitions/include/firewall/ipv4-custom-name.xml.i @@ -33,6 +33,7 @@        <children>          #include <include/firewall/common-rule-ipv4.xml.i>          #include <include/firewall/inbound-interface.xml.i> +        #include <include/firewall/offload-target.xml.i>          #include <include/firewall/outbound-interface.xml.i>        </children>      </tagNode> diff --git a/interface-definitions/include/firewall/ipv6-custom-name.xml.i b/interface-definitions/include/firewall/ipv6-custom-name.xml.i index 81610babf..2cc45a60c 100644 --- a/interface-definitions/include/firewall/ipv6-custom-name.xml.i +++ b/interface-definitions/include/firewall/ipv6-custom-name.xml.i @@ -33,6 +33,7 @@        <children>          #include <include/firewall/common-rule-ipv6.xml.i>          #include <include/firewall/inbound-interface.xml.i> +        #include <include/firewall/offload-target.xml.i>          #include <include/firewall/outbound-interface.xml.i>        </children>      </tagNode> diff --git a/interface-definitions/include/pki/certificate-multi.xml.i b/interface-definitions/include/pki/certificate-multi.xml.i new file mode 100644 index 000000000..c49c5d9b2 --- /dev/null +++ b/interface-definitions/include/pki/certificate-multi.xml.i @@ -0,0 +1,15 @@ +<!-- include start from pki/certificate-multi.xml.i --> +<leafNode name="certificate"> +  <properties> +    <help>Certificate in PKI configuration</help> +    <completionHelp> +      <path>pki certificate</path> +    </completionHelp> +    <valueHelp> +      <format>txt</format> +      <description>Name of certificate in PKI configuration</description> +    </valueHelp> +    <multi/> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/load-balancing-haproxy.xml.in b/interface-definitions/load-balancing-haproxy.xml.in index 564c335ec..8f6bd3a99 100644 --- a/interface-definitions/load-balancing-haproxy.xml.in +++ b/interface-definitions/load-balancing-haproxy.xml.in @@ -49,7 +49,7 @@                    <help>SSL Certificate, SSL Key and CA</help>                  </properties>                  <children> -                  #include <include/pki/certificate.xml.i> +                  #include <include/pki/certificate-multi.xml.i>                  </children>                </node>              </children> diff --git a/interface-definitions/protocols-segment-routing.xml.in b/interface-definitions/protocols-segment-routing.xml.in new file mode 100644 index 000000000..d461e9c5d --- /dev/null +++ b/interface-definitions/protocols-segment-routing.xml.in @@ -0,0 +1,89 @@ +<?xml version="1.0"?> +<interfaceDefinition> +  <node name="protocols"> +    <children> +       <node name="segment-routing" owner="${vyos_conf_scripts_dir}/protocols_segment_routing.py"> +        <properties> +          <help>Segment Routing</help> +          <priority>900</priority> +        </properties> +        <children> +          <node name="srv6"> +            <properties> +              <help>Segment-Routing SRv6 configuration</help> +            </properties> +            <children> +              <tagNode name="locator"> +                <properties> +                  <help>Segment Routing SRv6 locator</help> +                  <constraint> +                    #include <include/constraint/alpha-numeric-hyphen-underscore.xml.i> +                  </constraint> +                </properties> +                <children> +                  <leafNode name="behavior-usid"> +                    <properties> +                      <help>Set SRv6 behavior uSID</help> +                      <valueless/> +                    </properties> +                  </leafNode> +                  <leafNode name="prefix"> +                    <properties> +                      <help>SRv6 locator prefix</help> +                      <valueHelp> +                        <format>ipv6net</format> +                        <description>SRv6 locator prefix</description> +                      </valueHelp> +                      <constraint> +                        <validator name="ipv6-prefix"/> +                      </constraint> +                    </properties> +                  </leafNode> +                  <leafNode name="block-len"> +                    <properties> +                      <help>Configure SRv6 locator block length in bits</help> +                      <valueHelp> +                        <format>u32:16-64</format> +                        <description>Specify SRv6 locator block length in bits</description> +                      </valueHelp> +                      <constraint> +                        <validator name="numeric" argument="--range 16-64"/> +                      </constraint> +                    </properties> +                    <defaultValue>40</defaultValue> +                  </leafNode> +                  <leafNode name="func-bits"> +                    <properties> +                      <help>Configure SRv6 locator function length in bits</help> +                      <valueHelp> +                        <format>u32:0-64</format> +                        <description>Specify SRv6 locator function length in bits</description> +                      </valueHelp> +                      <constraint> +                        <validator name="numeric" argument="--range 0-64"/> +                      </constraint> +                    </properties> +                    <defaultValue>16</defaultValue> +                  </leafNode> +                  <leafNode name="node-len"> +                    <properties> +                      <help>Configure SRv6 locator node length in bits</help> +                      <valueHelp> +                        <format>u32:16-64</format> +                        <description>Configure SRv6 locator node length in bits</description> +                      </valueHelp> +                      <constraint> +                        <validator name="numeric" argument="--range 16-64"/> +                      </constraint> +                    </properties> +                    <defaultValue>24</defaultValue> +                  </leafNode> +                </children> +              </tagNode> +            </children> +          </node> +        </children> +      </node> +    </children> +  </node> +</interfaceDefinition> diff --git a/interface-definitions/system-frr.xml.in b/interface-definitions/system-frr.xml.in index 9fe23ed75..76001b392 100644 --- a/interface-definitions/system-frr.xml.in +++ b/interface-definitions/system-frr.xml.in @@ -15,6 +15,20 @@                <valueless/>              </properties>            </leafNode> +          <leafNode name="descriptors"> +            <properties> +              <help>Number of open file descriptors a process is allowed to use</help> +              <valueHelp> +                <format>u32:1024-8192</format> +                <description>Number of file descriptors</description> +              </valueHelp> +              <constraint> +                <validator name="numeric" argument="--range 1024-8192"/> +              </constraint> +              <constraintErrorMessage>Port number must be in range 1024 to 8192</constraintErrorMessage> +            </properties> +            <defaultValue>1024</defaultValue> +          </leafNode>            <leafNode name="irdp">              <properties>                <help>Enable ICMP Router Discovery Protocol support</help> diff --git a/interface-definitions/vpn-openconnect.xml.in b/interface-definitions/vpn-openconnect.xml.in index 75c64a99a..736084f8b 100644 --- a/interface-definitions/vpn-openconnect.xml.in +++ b/interface-definitions/vpn-openconnect.xml.in @@ -260,6 +260,12 @@                </leafNode>              </children>            </node> +          <leafNode name="http-security-headers"> +            <properties> +              <help>Enable HTTP security headers</help> +              <valueless/> +            </properties> +          </leafNode>            <node name="ssl">              <properties>                <help>SSL Certificate, SSL Key and CA</help>  | 
