diff options
Diffstat (limited to 'interface-definitions')
52 files changed, 785 insertions, 122 deletions
| diff --git a/interface-definitions/dhcp-server.xml.in b/interface-definitions/dhcp-server.xml.in index 60e738e01..6dabc5e1c 100644 --- a/interface-definitions/dhcp-server.xml.in +++ b/interface-definitions/dhcp-server.xml.in @@ -338,7 +338,7 @@                    </tagNode>                    <tagNode name="static-route">                      <properties> -                      <help>Classless static route destination subnet [REQUIRED]</help> +                      <help>Classless static route destination subnet</help>                        <valueHelp>                          <format>ipv4net</format>                          <description>IPv4 address and prefix length</description> diff --git a/interface-definitions/dhcpv6-server.xml.in b/interface-definitions/dhcpv6-server.xml.in index 10335b07e..9dff68a24 100644 --- a/interface-definitions/dhcpv6-server.xml.in +++ b/interface-definitions/dhcpv6-server.xml.in @@ -32,7 +32,7 @@            </leafNode>            <tagNode name="shared-network-name">              <properties> -              <help>DHCPv6 shared network name [REQUIRED]</help> +              <help>DHCPv6 shared network name</help>                <constraint>                  <regex>[-_a-zA-Z0-9.]+</regex>                </constraint> @@ -64,7 +64,7 @@                </node>                <tagNode name="subnet">                  <properties> -                  <help>IPv6 DHCP subnet for this shared network [REQUIRED]</help> +                  <help>IPv6 DHCP subnet for this shared network</help>                    <valueHelp>                      <format>ipv6net</format>                      <description>IPv6 address and prefix length</description> diff --git a/interface-definitions/dns-domain-name.xml.in b/interface-definitions/dns-domain-name.xml.in index 0d6418272..70b2fb271 100644 --- a/interface-definitions/dns-domain-name.xml.in +++ b/interface-definitions/dns-domain-name.xml.in @@ -91,7 +91,7 @@                </leafNode>                <leafNode name="inet">                  <properties> -                  <help>IP Address [REQUIRED]</help> +                  <help>IP Address</help>                    <valueHelp>                      <format>ipv4</format>                      <description>IPv4 address</description> diff --git a/interface-definitions/dns-dynamic.xml.in b/interface-definitions/dns-dynamic.xml.in index 6bc467b76..e41ba7f60 100644 --- a/interface-definitions/dns-dynamic.xml.in +++ b/interface-definitions/dns-dynamic.xml.in @@ -14,7 +14,7 @@              <children>                <tagNode name="interface">                  <properties> -                  <help>Interface to send DDNS updates for [REQUIRED]</help> +                  <help>Interface to send DDNS updates for</help>                    <completionHelp>                      <script>${vyos_completion_dir}/list_interfaces.py</script>                    </completionHelp> @@ -27,7 +27,7 @@                      <children>                        <leafNode name="key">                          <properties> -                          <help>File containing the secret key shared with remote DNS server [REQUIRED]</help> +                          <help>File containing the secret key shared with remote DNS server</help>                            <valueHelp>                              <format>filename</format>                              <description>File in /config/auth directory</description> @@ -36,13 +36,13 @@                        </leafNode>                        <leafNode name="record">                          <properties> -                          <help>Record to be updated [REQUIRED]</help> +                          <help>Record to be updated</help>                            <multi/>                          </properties>                        </leafNode>                        <leafNode name="server">                          <properties> -                          <help>Server to be updated [REQUIRED]</help> +                          <help>Server to be updated</help>                          </properties>                        </leafNode>                        <leafNode name="ttl"> @@ -60,14 +60,14 @@                        </leafNode>                        <leafNode name="zone">                          <properties> -                          <help>Zone to be updated [REQUIRED]</help> +                          <help>Zone to be updated</help>                          </properties>                        </leafNode>                      </children>                    </tagNode>                    <tagNode name="service">                      <properties> -                      <help>Service being used for Dynamic DNS [REQUIRED]</help> +                      <help>Service being used for Dynamic DNS</help>                        <completionHelp>                          <list>afraid changeip cloudflare dnspark dslreports dyndns easydns namecheap noip sitelutions zoneedit</list>                        </completionHelp> @@ -127,23 +127,23 @@                      <children>                        <leafNode name="host-name">                          <properties> -                          <help>Hostname registered with DDNS service [REQUIRED]</help> +                          <help>Hostname registered with DDNS service</help>                            <multi/>                          </properties>                        </leafNode>                        <leafNode name="login">                          <properties> -                          <help>Login for DDNS service [REQUIRED]</help> +                          <help>Login for DDNS service</help>                          </properties>                        </leafNode>                        <leafNode name="password">                          <properties> -                          <help>Password for DDNS service [REQUIRED]</help> +                          <help>Password for DDNS service</help>                          </properties>                        </leafNode>                        <leafNode name="protocol">                          <properties> -                          <help>ddclient protocol used for DDNS service [REQUIRED FOR CUSTOM]</help> +                          <help>ddclient protocol used for DDNS service</help>                            <completionHelp>                              <list>changeip cloudflare dnsmadeeasy dnspark dondominio dslreports1 dtdns duckdns dyndns2 easydns freedns freemyip googledomains hammernode1 namecheap nfsn noip sitelutions woima yandex zoneedit1</list>                            </completionHelp> @@ -239,7 +239,7 @@                        </leafNode>                        <leafNode name="server">                          <properties> -                          <help>Server to send DDNS update to [REQUIRED FOR CUSTOM]</help> +                          <help>Server to send DDNS update to</help>                            <valueHelp>                              <format>IPv4</format>                              <description>IP address of DDNS server</description> diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in index 6ead3e199..12dc11de5 100644 --- a/interface-definitions/dns-forwarding.xml.in +++ b/interface-definitions/dns-forwarding.xml.in @@ -140,7 +140,7 @@                          <children>                            <leafNode name="address">                              <properties> -                              <help>IPv4 address [REQUIRED]</help> +                              <help>IPv4 address</help>                                <valueHelp>                                  <format>ipv4</format>                                  <description>IPv4 address</description> @@ -173,7 +173,7 @@                          <children>                            <leafNode name="address">                              <properties> -                              <help>IPv6 address [REQUIRED]</help> +                              <help>IPv6 address</help>                                <valueHelp>                                  <format>ipv6</format>                                  <description>IPv6 address</description> @@ -206,7 +206,7 @@                          <children>                            <leafNode name="target">                              <properties> -                              <help>Target DNS name [REQUIRED]</help> +                              <help>Target DNS name</help>                                <valueHelp>                                  <format>name.example.com</format>                                  <description>An absolute DNS name</description> @@ -238,7 +238,7 @@                          <children>                            <tagNode name="server">                              <properties> -                              <help>Mail server [REQUIRED]</help> +                              <help>Mail server</help>                                <valueHelp>                                  <format>name.example.com</format>                                  <description>An absolute DNS name</description> @@ -285,7 +285,7 @@                          <children>                            <leafNode name="target">                              <properties> -                              <help>Target DNS name [REQUIRED]</help> +                              <help>Target DNS name</help>                                <valueHelp>                                  <format>name.example.com</format>                                  <description>An absolute DNS name</description> @@ -317,7 +317,7 @@                          <children>                            <leafNode name="value">                              <properties> -                              <help>Record contents [REQUIRED]</help> +                              <help>Record contents</help>                                <valueHelp>                                  <format>text</format>                                  <description>Record contents</description> @@ -347,7 +347,7 @@                          <children>                            <leafNode name="value">                              <properties> -                              <help>Record contents [REQUIRED]</help> +                              <help>Record contents</help>                                <valueHelp>                                  <format>text</format>                                  <description>Record contents</description> @@ -376,7 +376,7 @@                          <children>                            <tagNode name="entry">                              <properties> -                              <help>Service entry [REQUIRED]</help> +                              <help>Service entry</help>                                <valueHelp>                                  <format>u32:0-65535</format>                                  <description>Entry number</description> @@ -388,7 +388,7 @@                              <children>                                <leafNode name="hostname">                                  <properties> -                                  <help>Server hostname [REQUIRED]</help> +                                  <help>Server hostname</help>                                    <valueHelp>                                      <format>name.example.com</format>                                      <description>An absolute DNS name</description> @@ -400,7 +400,7 @@                                </leafNode>                                <leafNode name="port">                                  <properties> -                                  <help>Port number [REQUIRED]</help> +                                  <help>Port number</help>                                    <valueHelp>                                      <format>u32:0-65535</format>                                      <description>TCP/UDP port number</description> @@ -460,7 +460,7 @@                          <children>                            <tagNode name="rule">                              <properties> -                              <help>NAPTR rule [REQUIRED]</help> +                              <help>NAPTR rule</help>                                <valueHelp>                                  <format>u32:0-65535</format>                                  <description>Rule number</description> diff --git a/interface-definitions/firewall.xml.in b/interface-definitions/firewall.xml.in index ff8d92a24..3250794d3 100644 --- a/interface-definitions/firewall.xml.in +++ b/interface-definitions/firewall.xml.in @@ -100,6 +100,31 @@                #include <include/generic-description.xml.i>              </children>            </tagNode> +          <tagNode name="domain-group"> +            <properties> +              <help>Firewall domain-group</help> +              <constraint> +                <regex>[a-zA-Z_][a-zA-Z0-9][\w\-\.]*</regex> +              </constraint> +              <constraintErrorMessage>Name of domain-group can only contain alpha-numeric letters, hyphen, underscores and not start with numeric</constraintErrorMessage> +            </properties> +            <children> +              <leafNode name="address"> +                <properties> +                  <help>Domain-group member</help> +                  <valueHelp> +                    <format>txt</format> +                    <description>Domain address to match</description> +                  </valueHelp> +                  <constraint> +                    <regex>[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,99}?(\/.*)?</regex> +                  </constraint> +                  <multi/> +                </properties> +              </leafNode> +              #include <include/generic-description.xml.i> +            </children> +          </tagNode>            <tagNode name="ipv6-address-group">              <properties>                <help>Firewall ipv6-address-group</help> @@ -599,7 +624,7 @@              </properties>              <children>                #include <include/firewall/action-accept-drop-reject.xml.i> -              #include <include/firewall/log.xml.i> +              #include <include/firewall/rule-log-level.xml.i>              </children>            </node>            <node name="invalid"> @@ -608,7 +633,7 @@              </properties>              <children>                #include <include/firewall/action-accept-drop-reject.xml.i> -              #include <include/firewall/log.xml.i> +              #include <include/firewall/rule-log-level.xml.i>              </children>            </node>            <node name="related"> @@ -617,7 +642,7 @@              </properties>              <children>                #include <include/firewall/action-accept-drop-reject.xml.i> -              #include <include/firewall/log.xml.i> +              #include <include/firewall/rule-log-level.xml.i>              </children>            </node>          </children> diff --git a/interface-definitions/flow-accounting-conf.xml.in b/interface-definitions/flow-accounting-conf.xml.in index fc59f8ab3..878566b3f 100644 --- a/interface-definitions/flow-accounting-conf.xml.in +++ b/interface-definitions/flow-accounting-conf.xml.in @@ -220,7 +220,7 @@                </leafNode>                <tagNode name="server">                  <properties> -                  <help>Server to export NetFlow [REQUIRED]</help> +                  <help>NetFlow destination server</help>                    <valueHelp>                      <format>ipv4</format>                      <description>IPv4 server to export NetFlow</description> @@ -398,7 +398,7 @@                </leafNode>                <tagNode name="server">                  <properties> -                  <help>Server to export sFlow [REQUIRED]</help> +                  <help>sFlow destination server</help>                    <valueHelp>                      <format>ipv4</format>                      <description>IPv4 server to export sFlow</description> diff --git a/interface-definitions/igmp-proxy.xml.in b/interface-definitions/igmp-proxy.xml.in index 8e738fa7f..50cb33a93 100644 --- a/interface-definitions/igmp-proxy.xml.in +++ b/interface-definitions/igmp-proxy.xml.in @@ -18,7 +18,7 @@            </leafNode>            <tagNode name="interface">              <properties> -              <help>Interface for IGMP proxy [REQUIRED]</help> +              <help>Interface for IGMP proxy</help>                <completionHelp>                  <script>${vyos_completion_dir}/list_interfaces.py</script>                </completionHelp> diff --git a/interface-definitions/include/bgp/protocol-common-config.xml.i b/interface-definitions/include/bgp/protocol-common-config.xml.i index abaff5232..c1b465e43 100644 --- a/interface-definitions/include/bgp/protocol-common-config.xml.i +++ b/interface-definitions/include/bgp/protocol-common-config.xml.i @@ -1156,7 +1156,7 @@        <children>          <leafNode name="identifier">            <properties> -            <help>Confederation AS identifier [REQUIRED]</help> +            <help>Confederation AS identifier</help>              <valueHelp>                <format>u32:1-4294967294</format>                <description>Confederation AS id</description> @@ -1208,7 +1208,7 @@        <children>          <leafNode name="half-life">            <properties> -            <help>Half-life time for dampening [REQUIRED]</help> +            <help>Half-life time for dampening</help>              <valueHelp>                <format>u32:1-45</format>                <description>Half-life penalty in minutes</description> @@ -1220,7 +1220,7 @@          </leafNode>          <leafNode name="max-suppress-time">            <properties> -            <help>Maximum duration to suppress a stable route [REQUIRED]</help> +            <help>Maximum duration to suppress a stable route</help>              <valueHelp>                <format>u32:1-255</format>                <description>Maximum suppress duration in minutes</description> @@ -1232,7 +1232,7 @@          </leafNode>          <leafNode name="re-use">            <properties> -            <help>Threshold to start reusing a route [REQUIRED]</help> +            <help>Threshold to start reusing a route</help>              <valueHelp>                <format>u32:1-20000</format>                <description>Re-use penalty points</description> @@ -1244,7 +1244,7 @@          </leafNode>          <leafNode name="start-suppress-time">            <properties> -            <help>When to start suppressing a route [REQUIRED]</help> +            <help>When to start suppressing a route</help>              <valueHelp>                <format>u32:1-20000</format>                <description>Start-suppress penalty points</description> diff --git a/interface-definitions/include/bgp/remote-as.xml.i b/interface-definitions/include/bgp/remote-as.xml.i index 58595b3b9..79d3b95a9 100644 --- a/interface-definitions/include/bgp/remote-as.xml.i +++ b/interface-definitions/include/bgp/remote-as.xml.i @@ -1,7 +1,7 @@  <!-- include start from bgp/remote-as.xml.i -->  <leafNode name="remote-as">    <properties> -    <help>Neighbor BGP AS number [REQUIRED]</help> +    <help>Neighbor BGP AS number</help>      <completionHelp>        <list>external internal</list>      </completionHelp> diff --git a/interface-definitions/include/eigrp/protocol-common-config.xml.i b/interface-definitions/include/eigrp/protocol-common-config.xml.i new file mode 100644 index 000000000..147277102 --- /dev/null +++ b/interface-definitions/include/eigrp/protocol-common-config.xml.i @@ -0,0 +1,121 @@ +<!-- include start from eigrp/protocol-common-config.xml.i --> +<leafNode name="local-as"> +  <properties> +    <help>Autonomous System Number (ASN)</help> +    <valueHelp> +      <format>u32:1-65535</format> +      <description>Autonomous System Number</description> +    </valueHelp> +    <constraint> +      <validator name="numeric" argument="--range 1-65535"/> +    </constraint> +  </properties> +</leafNode> +<leafNode name="maximum-paths"> +  <properties> +    <help>Forward packets over multiple paths</help> +    <valueHelp> +      <format>u32:1-32</format> +      <description>Number of paths</description> +    </valueHelp> +    <constraint> +      <validator name="numeric" argument="--range 1-32"/> +    </constraint> +  </properties> +</leafNode> +<node name="metric"> +  <properties> +    <help>Modify metrics and parameters for advertisement</help> +  </properties> +  <children> +    <leafNode name="weights"> +      <properties> +        <help>Modify metric coefficients</help> +        <valueHelp> +          <format>u32:0-255</format> +          <description>K1</description> +        </valueHelp> +        <constraint> +          <validator name="numeric" argument="--range 0-255"/> +        </constraint> +      </properties> +    </leafNode> +  </children> +</node> +<leafNode name="network"> +  <properties> +    <help>Enable routing on an IP network</help> +    <valueHelp> +      <format>ipv4net</format> +      <description>EIGRP network prefix</description> +    </valueHelp> +    <constraint> +      <validator name="ip-prefix"/> +    </constraint> +    <multi/> +  </properties> +</leafNode> +<leafNode name="passive-interface"> +  <properties> +    <help>Suppress routing updates on an interface</help> +    <completionHelp> +      <script>${vyos_completion_dir}/list_interfaces.py</script> +    </completionHelp> +  </properties> +</leafNode> +<leafNode name="redistribute"> +  <properties> +    <help>Redistribute information from another routing protocol</help> +    <valueHelp> +      <format>bgp</format> +      <description>Border Gateway Protocol (BGP)</description> +    </valueHelp> +    <valueHelp> +      <format>connected</format> +      <description>Connected routes</description> +    </valueHelp> +    <valueHelp> +      <format>nhrp</format> +      <description>Next Hop Resolution Protocol (NHRP)</description> +    </valueHelp> +    <valueHelp> +      <format>ospf</format> +      <description>Open Shortest Path First (OSPFv2)</description> +    </valueHelp> +    <valueHelp> +      <format>rip</format> +      <description>Routing Information Protocol (RIP)</description> +    </valueHelp> +    <valueHelp> +      <format>static</format> +      <description>Statically configured routes</description> +    </valueHelp> +    <valueHelp> +      <format>vnc</format> +      <description>Virtual Network Control (VNC)</description> +    </valueHelp> +    <completionHelp> +      <list>bgp connected nhrp ospf rip static vnc</list> +    </completionHelp> +    <constraint> +      <regex>(bgp|connected|nhrp|ospf|rip|static|vnc)</regex> +    </constraint> +    <multi/> +  </properties> +</leafNode> +#include <include/route-map.xml.i> +#include <include/router-id.xml.i> +<!-- FRR timers not implemented yet --> +<leafNode name="variance"> +  <properties> +    <help>Control load balancing variance</help> +    <valueHelp> +      <format>u32:1-128</format> +      <description>Metric variance multiplier</description> +    </valueHelp> +    <constraint> +      <validator name="numeric" argument="--range 1-128"/> +    </constraint> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/firewall/action.xml.i b/interface-definitions/include/firewall/action.xml.i index 0f60e3c38..512cc23bd 100644 --- a/interface-definitions/include/firewall/action.xml.i +++ b/interface-definitions/include/firewall/action.xml.i @@ -1,7 +1,7 @@  <!-- include start from firewall/action.xml.i -->  <leafNode name="action">    <properties> -    <help>Rule action [REQUIRED]</help> +    <help>Rule action</help>      <completionHelp>        <list>accept reject drop</list>      </completionHelp> diff --git a/interface-definitions/include/firewall/common-rule.xml.i b/interface-definitions/include/firewall/common-rule.xml.i index 2a5137dbf..079864122 100644 --- a/interface-definitions/include/firewall/common-rule.xml.i +++ b/interface-definitions/include/firewall/common-rule.xml.i @@ -95,6 +95,7 @@      </constraint>    </properties>  </leafNode> +#include <include/firewall/rule-log-level.xml.i>  <node name="connection-status">    <properties>      <help>Connection status</help> diff --git a/interface-definitions/include/firewall/name-default-log.xml.i b/interface-definitions/include/firewall/name-default-log.xml.i index 979395146..1d0ff9497 100644 --- a/interface-definitions/include/firewall/name-default-log.xml.i +++ b/interface-definitions/include/firewall/name-default-log.xml.i @@ -5,4 +5,4 @@      <valueless/>    </properties>  </leafNode> -<!-- include end --> +<!-- include end -->
\ No newline at end of file diff --git a/interface-definitions/include/firewall/rule-log-level.xml.i b/interface-definitions/include/firewall/rule-log-level.xml.i new file mode 100644 index 000000000..10c8de5e3 --- /dev/null +++ b/interface-definitions/include/firewall/rule-log-level.xml.i @@ -0,0 +1,45 @@ +<!-- include start from firewall/common-rule.xml.i --> +<leafNode name="log-level"> +  <properties> +    <help>Set log-level. Log must be enable.</help> +    <completionHelp> +      <list>emerg alert crit err warn notice info debug</list> +    </completionHelp> +    <valueHelp> +      <format>emerg</format> +      <description>Emerg log level</description> +    </valueHelp> +    <valueHelp> +      <format>alert</format> +      <description>Alert log level</description> +    </valueHelp> +    <valueHelp> +      <format>crit</format> +      <description>Critical log level</description> +    </valueHelp> +    <valueHelp> +      <format>err</format> +      <description>Error log level</description> +    </valueHelp> +    <valueHelp> +      <format>warn</format> +      <description>Warning log level</description> +    </valueHelp> +    <valueHelp> +      <format>notice</format> +      <description>Notice log level</description> +    </valueHelp> +    <valueHelp> +      <format>info</format> +      <description>Info log level</description> +    </valueHelp> +    <valueHelp> +      <format>debug</format> +      <description>Debug log level</description> +    </valueHelp> +    <constraint> +      <regex>(emerg|alert|crit|err|warn|notice|info|debug)</regex> +    </constraint> +  </properties> +</leafNode> +<!-- include end -->
\ No newline at end of file diff --git a/interface-definitions/include/firewall/source-destination-group.xml.i b/interface-definitions/include/firewall/source-destination-group.xml.i index ab11e89e9..6ebee356c 100644 --- a/interface-definitions/include/firewall/source-destination-group.xml.i +++ b/interface-definitions/include/firewall/source-destination-group.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/interface/dhcpv6-options.xml.i b/interface-definitions/include/interface/dhcpv6-options.xml.i index 08e4f5e0a..c705af7c2 100644 --- a/interface-definitions/include/interface/dhcpv6-options.xml.i +++ b/interface-definitions/include/interface/dhcpv6-options.xml.i @@ -71,11 +71,11 @@                <properties>                  <help>Interface site-Level aggregator (SLA)</help>                  <valueHelp> -                  <format>u32:0-128</format> +                  <format>u32:0-65535</format>                    <description>Decimal integer which fits in the length of SLA IDs</description>                  </valueHelp>                  <constraint> -                  <validator name="numeric" argument="--range 0-128"/> +                  <validator name="numeric" argument="--range 0-65535"/>                  </constraint>                </properties>              </leafNode> diff --git a/interface-definitions/include/ipsec/local-address.xml.i b/interface-definitions/include/ipsec/local-address.xml.i index dc5653ce7..9d267f3f7 100644 --- a/interface-definitions/include/ipsec/local-address.xml.i +++ b/interface-definitions/include/ipsec/local-address.xml.i @@ -4,6 +4,7 @@      <help>IPv4 or IPv6 address of a local interface to use for VPN</help>      <completionHelp>        <list>any</list> +      <script>${vyos_completion_dir}/list_local_ips.sh --both</script>      </completionHelp>      <valueHelp>        <format>ipv4</format> diff --git a/interface-definitions/include/monitoring/url.xml.i b/interface-definitions/include/monitoring/url.xml.i new file mode 100644 index 000000000..fd61c38ea --- /dev/null +++ b/interface-definitions/include/monitoring/url.xml.i @@ -0,0 +1,15 @@ +<!-- include start from monitoring/url.xml.i --> +<leafNode name="url"> +  <properties> +    <help>Remote URL</help> +    <valueHelp> +      <format>url</format> +      <description>Remote URL</description> +    </valueHelp> +    <constraint> +      <regex>(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}?(\/.*)?</regex> +    </constraint> +    <constraintErrorMessage>Incorrect URL format</constraintErrorMessage> +  </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/ospf/protocol-common-config.xml.i b/interface-definitions/include/ospf/protocol-common-config.xml.i index c156d5b1c..791bbc0f8 100644 --- a/interface-definitions/include/ospf/protocol-common-config.xml.i +++ b/interface-definitions/include/ospf/protocol-common-config.xml.i @@ -16,7 +16,7 @@    <children>      <leafNode name="export">        <properties> -        <help>Filter for outgoing routing update [REQUIRED]</help> +        <help>Filter for outgoing routing update</help>          <completionHelp>            <list>bgp connected kernel rip static</list>          </completionHelp> @@ -178,10 +178,10 @@      </leafNode>      <leafNode name="network">        <properties> -        <help>OSPF network [REQUIRED]</help> +        <help>OSPF network</help>          <valueHelp>            <format>ipv4net</format> -          <description>OSPF network [REQUIRED]</description> +          <description>OSPF network</description>          </valueHelp>          <constraint>            <validator name="ipv4-prefix"/> diff --git a/interface-definitions/include/policy/action.xml.i b/interface-definitions/include/policy/action.xml.i index 0a3dc158a..5aa865523 100644 --- a/interface-definitions/include/policy/action.xml.i +++ b/interface-definitions/include/policy/action.xml.i @@ -1,7 +1,7 @@  <!-- include start from policy/action.xml.i -->  <leafNode name="action">    <properties> -    <help>Action to take on entries matching this rule [REQUIRED]</help> +    <help>Action to take on entries matching this rule</help>      <completionHelp>        <list>permit deny</list>      </completionHelp> diff --git a/interface-definitions/include/policy/route-rule-action.xml.i b/interface-definitions/include/policy/route-rule-action.xml.i index 1217055f2..456a21400 100644 --- a/interface-definitions/include/policy/route-rule-action.xml.i +++ b/interface-definitions/include/policy/route-rule-action.xml.i @@ -1,7 +1,7 @@  <!-- include start from policy/route-rule-action.xml.i -->  <leafNode name="action">    <properties> -    <help>Rule action [REQUIRED]</help> +    <help>Rule action</help>      <completionHelp>        <list>drop</list>      </completionHelp> diff --git a/interface-definitions/include/rip/rip-access-list.xml.i b/interface-definitions/include/rip/access-list.xml.i index 00ee9b736..8799aa9c3 100644 --- a/interface-definitions/include/rip/rip-access-list.xml.i +++ b/interface-definitions/include/rip/access-list.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-access-list.xml.i --> +<!-- include start from rip/access-list.xml.i -->  <node name="access-list">    <properties>      <help>Access-list</help> diff --git a/interface-definitions/include/rip/rip-access-list6.xml.i b/interface-definitions/include/rip/access-list6.xml.i index 9e4298bc0..732135253 100644 --- a/interface-definitions/include/rip/rip-access-list6.xml.i +++ b/interface-definitions/include/rip/access-list6.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-access-list.xml.i --> +<!-- include start from rip/access-list.xml.i -->  <node name="access-list">    <properties>      <help>Access-list</help> diff --git a/interface-definitions/include/rip/rip-default-information.xml.i b/interface-definitions/include/rip/default-information.xml.i index 28c540c26..957fb3a8d 100644 --- a/interface-definitions/include/rip/rip-default-information.xml.i +++ b/interface-definitions/include/rip/default-information.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-default-information.xml.i --> +<!-- include start from rip/default-information.xml.i -->  <node name="default-information">    <properties>      <help>Control distribution of default route</help> diff --git a/interface-definitions/include/rip/rip-default-metric.xml.i b/interface-definitions/include/rip/default-metric.xml.i index 297af5af8..c0f1f9b61 100644 --- a/interface-definitions/include/rip/rip-default-metric.xml.i +++ b/interface-definitions/include/rip/default-metric.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-default-metric.xml.i --> +<!-- include start from rip/default-metric.xml.i -->  <leafNode name="default-metric">    <properties>      <help>Metric of redistributed routes</help> diff --git a/interface-definitions/include/rip/rip-interface.xml.i b/interface-definitions/include/rip/interface.xml.i index dd3bddd4f..baeceac1c 100644 --- a/interface-definitions/include/rip/rip-interface.xml.i +++ b/interface-definitions/include/rip/interface.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-interface.xml.i --> +<!-- include start from rip/interface.xml.i -->  <tagNode name="interface">    <properties>      <help>Interface name</help> diff --git a/interface-definitions/include/rip/rip-prefix-list.xml.i b/interface-definitions/include/rip/prefix-list.xml.i index 2569a2a09..8e806aa35 100644 --- a/interface-definitions/include/rip/rip-prefix-list.xml.i +++ b/interface-definitions/include/rip/prefix-list.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-prefix-list.xml.i --> +<!-- include start from rip/prefix-list.xml.i -->  <node name="prefix-list">    <properties>      <help>Prefix-list</help> diff --git a/interface-definitions/include/rip/rip-prefix-list6.xml.i b/interface-definitions/include/rip/prefix-list6.xml.i index fcf1499e0..84b6846fe 100644 --- a/interface-definitions/include/rip/rip-prefix-list6.xml.i +++ b/interface-definitions/include/rip/prefix-list6.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-prefix-list.xml.i --> +<!-- include start from rip/prefix-list.xml.i -->  <node name="prefix-list">    <properties>      <help>Prefix-list</help> diff --git a/interface-definitions/include/rip/rip-redistribute.xml.i b/interface-definitions/include/rip/redistribute.xml.i index d7a79b007..34154a526 100644 --- a/interface-definitions/include/rip/rip-redistribute.xml.i +++ b/interface-definitions/include/rip/redistribute.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-redistribute.xml.i --> +<!-- include start from rip/redistribute.xml.i -->  <leafNode name="metric">    <properties>      <help>Metric for redistributed routes</help> diff --git a/interface-definitions/include/rip/rip-timers.xml.i b/interface-definitions/include/rip/timers.xml.i index 129d9ed23..771a6700e 100644 --- a/interface-definitions/include/rip/rip-timers.xml.i +++ b/interface-definitions/include/rip/timers.xml.i @@ -1,4 +1,4 @@ -<!-- include start from rip/rip-timers.xml.i --> +<!-- include start from rip/timers.xml.i -->  <node name="timers">    <properties>      <help>RIPng timer values</help> diff --git a/interface-definitions/include/rip/version.xml.i b/interface-definitions/include/rip/version.xml.i new file mode 100644 index 000000000..a35350aee --- /dev/null +++ b/interface-definitions/include/rip/version.xml.i @@ -0,0 +1,18 @@ +<!-- include start from rip/version.xml.i -->
 +<leafNode name="version">
 +  <properties>
 +    <help>Limit RIP protocol version</help>
 +    <valueHelp>
 +      <format>1</format>
 +      <description>Allow RIPv1 only</description>
 +    </valueHelp>
 +    <valueHelp>
 +      <format>2</format>
 +      <description>Allow RIPv2 only</description>
 +    </valueHelp>
 +    <constraint>
 +      <validator name="numeric" argument="--range 1-2"/>
 +    </constraint>
 +  </properties>
 +</leafNode>
 +<!-- include end -->
 diff --git a/interface-definitions/include/version/policy-version.xml.i b/interface-definitions/include/version/policy-version.xml.i index 6d0c80518..426173a19 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='2'></syntaxVersion> +<syntaxVersion component='policy' version='3'></syntaxVersion>  <!-- include end --> diff --git a/interface-definitions/interfaces-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in index edcf7b37f..bfad6d70f 100644 --- a/interface-definitions/interfaces-openvpn.xml.in +++ b/interface-definitions/interfaces-openvpn.xml.in @@ -167,6 +167,7 @@                </leafNode>              </children>            </node> +          #include <include/interface/ipv4-options.xml.i>            #include <include/interface/ipv6-options.xml.i>            #include <include/interface/mirror.xml.i>            <leafNode name="hash"> diff --git a/interface-definitions/pki.xml.in b/interface-definitions/pki.xml.in index 6d137c2ce..c4fde2c78 100644 --- a/interface-definitions/pki.xml.in +++ b/interface-definitions/pki.xml.in @@ -3,6 +3,7 @@    <node name="pki" owner="${vyos_conf_scripts_dir}/pki.py">      <properties>        <help>VyOS PKI configuration</help> +      <priority>300</priority>      </properties>      <children>        <tagNode name="ca"> diff --git a/interface-definitions/policy.xml.in b/interface-definitions/policy.xml.in index 50b7cbc84..83ae714b4 100644 --- a/interface-definitions/policy.xml.in +++ b/interface-definitions/policy.xml.in @@ -637,6 +637,18 @@                                </completionHelp>                              </properties>                            </leafNode> +                          <leafNode name="prefix-len"> +                            <properties> +                              <help>IP prefix-length to match</help> +                              <valueHelp> +                                <format>u32:0-32</format> +                                <description>Prefix length</description> +                              </valueHelp> +                              <constraint> +                                <validator name="numeric" argument="--range 0-32"/> +                              </constraint> +                            </properties> +                          </leafNode>                          </children>                        </node>                  <!--  T3304 but it overwrite node nexthop @@ -655,12 +667,20 @@                        <node name="nexthop">                          <properties>                            <help>IP next-hop of route to match</help> -                          <valueHelp> -                            <format>ipv4</format> -                            <description>Next-hop IPv4 router address</description> -                          </valueHelp>                          </properties>                          <children> +                          <leafNode name="address"> +                            <properties> +                              <help>IP address to match</help> +                              <valueHelp> +                                <format>ipv4</format> +                                <description>Nexthop IP address</description> +                              </valueHelp> +                              <constraint> +                                <validator name="ipv4-address"/> +                              </constraint> +                            </properties> +                          </leafNode>                            <leafNode name="access-list">                              <properties>                                <help>IP access-list to match</help> @@ -682,6 +702,18 @@                                </valueHelp>                              </properties>                            </leafNode> +                          <leafNode name="prefix-len"> +                            <properties> +                              <help>IP prefix-length to match</help> +                              <valueHelp> +                                <format>u32:0-32</format> +                                <description>Prefix length</description> +                              </valueHelp> +                              <constraint> +                                <validator name="numeric" argument="--range 0-32"/> +                              </constraint> +                            </properties> +                          </leafNode>                            <leafNode name="prefix-list">                              <properties>                                <help>IP prefix-list to match</help> @@ -690,11 +722,26 @@                                </completionHelp>                              </properties>                            </leafNode> +                          <leafNode name="type"> +                            <properties> +                              <help>Match type</help> +                              <completionHelp> +                                <list>blackhole</list> +                              </completionHelp> +                              <valueHelp> +                                <format>blackhole</format> +                                <description>Blackhole</description> +                              </valueHelp> +                              <constraint> +                                <regex>(blackhole)</regex> +                              </constraint> +                            </properties> +                          </leafNode>                          </children>                        </node>                        <node name="route-source">                          <properties> -                          <help>test</help> +                          <help>Match advertising source address of route</help>                          </properties>                          <children>                            <leafNode name="access-list"> @@ -760,8 +807,21 @@                                </completionHelp>                              </properties>                            </leafNode> +                          <leafNode name="prefix-len"> +                            <properties> +                              <help>IPv6 prefix-length to match</help> +                              <valueHelp> +                                <format>u32:0-128</format> +                                <description>Prefix length</description> +                              </valueHelp> +                              <constraint> +                                <validator name="numeric" argument="--range 0-128"/> +                              </constraint> +                            </properties> +                          </leafNode>                          </children>                        </node> +                <!--  T3976 but it overwrite node nexthop                        <leafNode name="nexthop">                          <properties>                            <help>IPv6 next-hop of route to match</help> @@ -775,6 +835,62 @@                          </properties>                        </leafNode>                      </children> +                  </node> --> +                      <node name="nexthop"> +                        <properties> +                          <help>IPv6 next-hop of route to match</help> +                        </properties> +                        <children> +                          <leafNode name="address"> +                            <properties> +                              <help>IPv6 address of next-hop</help> +                              <valueHelp> +                                <format>ipv6</format> +                                <description>Nexthop IPv6 address</description> +                              </valueHelp> +                              <constraint> +                                <validator name="ipv6-address"/> +                              </constraint> +                            </properties> +                          </leafNode>                            +                          <leafNode name="access-list"> +                            <properties> +                              <help>IPv6 access-list to match</help> +                              <valueHelp> +                                <format>txt</format> +                                <description>IPV6 access list name</description> +                              </valueHelp> +                              <completionHelp> +                                <path>policy access-list6</path> +                              </completionHelp> +                            </properties> +                          </leafNode> +                          <leafNode name="prefix-list"> +                            <properties> +                              <help>IPv6 prefix-list to match</help> +                              <completionHelp> +                                <path>policy prefix-list6</path> +                              </completionHelp> +                            </properties> +                          </leafNode> +                          <leafNode name="type"> +                            <properties> +                              <help>Match type</help> +                              <completionHelp> +                                <list>blackhole</list> +                              </completionHelp> +                              <valueHelp> +                                <format>blackhole</format> +                                <description>Blackhole</description> +                              </valueHelp> +                              <constraint> +                                <regex>(blackhole)</regex> +                              </constraint> +                            </properties> +                          </leafNode> +                        </children> +                      </node> +                    </children>                    </node>                    <node name="large-community">                      <properties> diff --git a/interface-definitions/protocols-eigrp.xml.in b/interface-definitions/protocols-eigrp.xml.in new file mode 100644 index 000000000..88a881a1e --- /dev/null +++ b/interface-definitions/protocols-eigrp.xml.in @@ -0,0 +1,17 @@ +<?xml version="1.0"?> +<!-- Enhanced Interior Gateway Routing Protocol (EIGRP) configuration --> +<interfaceDefinition> +  <node name="protocols"> +    <children> +      <node name="eigrp" owner="${vyos_conf_scripts_dir}/protocols_eigrp.py"> +        <properties> +          <help>Enhanced Interior Gateway Routing Protocol (EIGRP)</help> +          <priority>820</priority> +        </properties> +        <children> +          #include <include/eigrp/protocol-common-config.xml.i> +        </children> +      </node> +    </children> +  </node> +</interfaceDefinition> diff --git a/interface-definitions/protocols-nhrp.xml.in b/interface-definitions/protocols-nhrp.xml.in index 7de3704ce..d7663c095 100644 --- a/interface-definitions/protocols-nhrp.xml.in +++ b/interface-definitions/protocols-nhrp.xml.in @@ -4,13 +4,13 @@      <children>        <node name="nhrp" owner="${vyos_conf_scripts_dir}/protocols_nhrp.py">          <properties> -          <help>NHRP parameters</help> +          <help>Next Hop Resolution Protocol (NHRP) parameters</help>            <priority>680</priority>          </properties>          <children>            <tagNode name="tunnel">              <properties> -              <help>Tunnel for NHRP [REQUIRED]</help> +              <help>Tunnel for NHRP</help>                <constraint>                  <regex>tun[0-9]+</regex>                </constraint> @@ -27,6 +27,10 @@                      <format>txt</format>                      <description>Pass phrase for cisco authentication</description>                    </valueHelp> +                  <constraint> +                    <regex>[^[:space:]]{1,8}</regex> +                </constraint> +                <constraintErrorMessage>Password should contain up to eight non-whitespace characters</constraintErrorMessage>                  </properties>                </leafNode>                <tagNode name="dynamic-map"> @@ -40,7 +44,7 @@                  <children>                    <leafNode name="nbma-domain-name">                      <properties> -                      <help>Set HUB fqdn (nbma-address - fqdn) [REQUIRED]</help> +                      <help>Set HUB fqdn (nbma-address - fqdn)</help>                        <valueHelp>                          <format><fqdn></format>                          <description>Set the external HUB fqdn</description> @@ -67,7 +71,7 @@                    </leafNode>                    <leafNode name="nbma-address">                      <properties> -                      <help>Set HUB address (nbma-address - external hub address or fqdn) [REQUIRED]</help> +                      <help>Set HUB address (nbma-address - external hub address or fqdn)</help>                      </properties>                    </leafNode>                    <leafNode name="register"> diff --git a/interface-definitions/protocols-rip.xml.in b/interface-definitions/protocols-rip.xml.in index bbb88aef1..2195b0316 100644 --- a/interface-definitions/protocols-rip.xml.in +++ b/interface-definitions/protocols-rip.xml.in @@ -20,14 +20,14 @@                </constraint>              </properties>            </leafNode> -          #include <include/rip/rip-default-information.xml.i> -          #include <include/rip/rip-default-metric.xml.i> +          #include <include/rip/default-information.xml.i> +          #include <include/rip/default-metric.xml.i>            <node name="distribute-list">              <properties>                <help>Filter networks in routing updates</help>              </properties>              <children> -              #include <include/rip/rip-access-list.xml.i> +              #include <include/rip/access-list.xml.i>                <tagNode name="interface">                  <properties>                    <help>Apply filtering to an interface</help> @@ -43,14 +43,14 @@                    </constraint>                  </properties>                  <children> -                  #include <include/rip/rip-access-list.xml.i> -                  #include <include/rip/rip-prefix-list.xml.i> +                  #include <include/rip/access-list.xml.i> +                  #include <include/rip/prefix-list.xml.i>                  </children>                </tagNode> -              #include <include/rip/rip-prefix-list.xml.i> +              #include <include/rip/prefix-list.xml.i>              </children>            </node> -          #include <include/rip/rip-interface.xml.i> +          #include <include/rip/interface.xml.i>            <tagNode name="interface">              <children>                <node name="authentication"> @@ -98,6 +98,22 @@                        <constraintErrorMessage>Password must be 16 characters or less</constraintErrorMessage>                      </properties>                    </leafNode> +                  </children> +              </node> +              <node name="receive"> +                <properties> +                  <help>Advertisement reception</help> +                </properties> +                <children> +                  #include <include/rip/version.xml.i> +                </children> +              </node> +              <node name="send"> +                <properties> +                  <help>Advertisement transmission</help> +                </properties> +                <children> +                  #include <include/rip/version.xml.i>                  </children>                </node>              </children> @@ -166,7 +182,7 @@                    <help>Redistribute BGP routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="connected"> @@ -174,7 +190,7 @@                    <help>Redistribute connected routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="isis"> @@ -182,7 +198,7 @@                    <help>Redistribute IS-IS routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="kernel"> @@ -190,7 +206,7 @@                    <help>Redistribute kernel routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="ospf"> @@ -198,7 +214,7 @@                    <help>Redistribute OSPF routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="static"> @@ -206,7 +222,7 @@                    <help>Redistribute static routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>              </children> @@ -224,10 +240,12 @@                <multi/>              </properties>            </leafNode> -          #include <include/rip/rip-timers.xml.i> +          #include <include/rip/timers.xml.i>            #include <include/route-map.xml.i> +          #include <include/rip/version.xml.i>          </children>        </node>      </children>    </node>  </interfaceDefinition> + diff --git a/interface-definitions/protocols-ripng.xml.in b/interface-definitions/protocols-ripng.xml.in index fe7411e65..d7e4b2514 100644 --- a/interface-definitions/protocols-ripng.xml.in +++ b/interface-definitions/protocols-ripng.xml.in @@ -21,14 +21,14 @@                <multi/>              </properties>            </leafNode> -          #include <include/rip/rip-default-information.xml.i> -          #include <include/rip/rip-default-metric.xml.i> +          #include <include/rip/default-information.xml.i> +          #include <include/rip/default-metric.xml.i>            <node name="distribute-list">              <properties>                <help>Filter networks in routing updates</help>              </properties>              <children> -              #include <include/rip/rip-access-list6.xml.i> +              #include <include/rip/access-list6.xml.i>                <tagNode name="interface">                  <properties>                    <help>Apply filtering to an interface</help> @@ -44,14 +44,14 @@                    </constraint>                  </properties>                  <children> -                  #include <include/rip/rip-access-list6.xml.i> -                  #include <include/rip/rip-prefix-list6.xml.i> +                  #include <include/rip/access-list6.xml.i> +                  #include <include/rip/prefix-list6.xml.i>                  </children>                </tagNode> -              #include <include/rip/rip-prefix-list6.xml.i> +              #include <include/rip/prefix-list6.xml.i>              </children>            </node> -          #include <include/rip/rip-interface.xml.i> +          #include <include/rip/interface.xml.i>            <leafNode name="network">              <properties>                <help>RIPng network</help> @@ -88,7 +88,7 @@                    <help>Redistribute BGP routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="connected"> @@ -96,7 +96,7 @@                    <help>Redistribute connected routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="kernel"> @@ -104,7 +104,7 @@                    <help>Redistribute kernel routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="ospfv3"> @@ -112,7 +112,7 @@                    <help>Redistribute OSPFv3 routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>                <node name="static"> @@ -120,7 +120,7 @@                    <help>Redistribute static routes</help>                  </properties>                  <children> -                  #include <include/rip/rip-redistribute.xml.i> +                  #include <include/rip/redistribute.xml.i>                  </children>                </node>              </children> @@ -139,7 +139,7 @@              </properties>            </leafNode>            #include <include/route-map.xml.i> -          #include <include/rip/rip-timers.xml.i> +          #include <include/rip/timers.xml.i>          </children>        </node>      </children> diff --git a/interface-definitions/protocols-static.xml.in b/interface-definitions/protocols-static.xml.in index 3cc28e296..e89433022 100644 --- a/interface-definitions/protocols-static.xml.in +++ b/interface-definitions/protocols-static.xml.in @@ -7,7 +7,7 @@      <children>         <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py">          <properties> -          <help>Static route parameters</help> +          <help>Static Routing</help>            <priority>480</priority>          </properties>          <children> diff --git a/interface-definitions/service-event-handler.xml.in b/interface-definitions/service-event-handler.xml.in new file mode 100644 index 000000000..aef6bc1bc --- /dev/null +++ b/interface-definitions/service-event-handler.xml.in @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interfaceDefinition> +  <node name="service"> +    <children> +      <node name="event-handler" owner="${vyos_conf_scripts_dir}/service_event_handler.py"> +        <properties> +          <help>Service event handler</help> +        </properties> +        <children> +          <tagNode name="event"> +            <properties> +              <help>Event handler name</help> +            </properties> +            <children> +              <node name="filter"> +                <properties> +                  <help>Logs filter settings</help> +                </properties> +                <children> +                  <leafNode name="pattern"> +                    <properties> +                      <help>Match pattern (regex)</help> +                    </properties> +                  </leafNode> +                  <leafNode name="syslog-identifier"> +                    <properties> +                      <help>Identifier of a process in syslog (string)</help> +                    </properties> +                  </leafNode> +                </children> +              </node> +              <node name="script"> +                <properties> +                  <help>Event handler script file</help> +                </properties> +                <children> +                  <leafNode name="arguments"> +                    <properties> +                      <help>Script arguments</help> +                    </properties> +                  </leafNode> +                  <tagNode name="environment"> +                    <properties> +                      <help>Script environment arguments</help> +                    </properties> +                    <children> +                      <leafNode name="value"> +                        <properties> +                          <help>Environment value</help> +                        </properties> +                      </leafNode> +                    </children> +                  </tagNode> +                  <leafNode name="path"> +                    <properties> +                      <help>Path to the script</help> +                      <constraint> +                        <validator name="script"/> +                      </constraint> +                    </properties> +                  </leafNode> +                </children> +              </node> +            </children> +          </tagNode> +        </children> +      </node> +    </children> +  </node> +</interfaceDefinition> diff --git a/interface-definitions/service_monitoring_telegraf.xml.in b/interface-definitions/service_monitoring_telegraf.xml.in index ff4c8c55f..d0d9202c1 100644 --- a/interface-definitions/service_monitoring_telegraf.xml.in +++ b/interface-definitions/service_monitoring_telegraf.xml.in @@ -20,7 +20,7 @@                  <children>                    <leafNode name="organization">                      <properties> -                      <help>Authentication organization for InfluxDB v2 [REQUIRED]</help> +                      <help>Authentication organization for InfluxDB v2</help>                        <constraint>                          <regex>[a-zA-Z][1-9a-zA-Z@_\-.]{2,50}</regex>                        </constraint> @@ -29,7 +29,7 @@                    </leafNode>                    <leafNode name="token">                      <properties> -                      <help>Authentication token for InfluxDB v2 [REQUIRED]</help> +                      <help>Authentication token for InfluxDB v2</help>                        <valueHelp>                          <format>txt</format>                          <description>Authentication token</description> @@ -42,6 +42,94 @@                    </leafNode>                  </children>                </node> +              <node name="azure-data-explorer"> +                <properties> +                  <help>Output plugin Azure Data Explorer</help> +                </properties> +                <children> +                  <node name="authentication"> +                    <properties> +                      <help>Authentication parameters</help> +                    </properties> +                    <children> +                      <leafNode name="client-id"> +                        <properties> +                          <help>Application client id</help> +                          <constraint> +                            <regex>[-_a-zA-Z0-9]+</regex> +                          </constraint> +                          <constraintErrorMessage>Client-id is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> +                        </properties> +                      </leafNode> +                      <leafNode name="client-secret"> +                        <properties> +                          <help>Application client secret</help> +                          <constraint> +                            <regex>[-_a-zA-Z0-9]+</regex> +                          </constraint> +                          <constraintErrorMessage>Client-secret is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> +                        </properties> +                      </leafNode> +                      <leafNode name="tenant-id"> +                        <properties> +                          <help>Set tenant id</help> +                          <constraint> +                            <regex>[-_a-zA-Z0-9]+</regex> +                          </constraint> +                          <constraintErrorMessage>Tenant-id is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> +                        </properties> +                      </leafNode> +                    </children> +                  </node> +                  <leafNode name="database"> +                    <properties> +                      <help>Remote database name</help> +                      <valueHelp> +                        <format>txt</format> +                        <description>Remote database name</description> +                      </valueHelp> +                      <constraint> +                        <regex>[-_a-zA-Z0-9]+</regex> +                      </constraint> +                      <constraintErrorMessage>Database is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> +                    </properties> +                  </leafNode> +                  <leafNode name="group-metrics"> +                    <properties> +                      <help>Type of metrics grouping when push to Azure Data Explorer</help> +                      <completionHelp> +                        <list>single-table table-per-metric</list> +                      </completionHelp> +                      <valueHelp> +                        <format>single-table</format> +                        <description>Metrics stores in one table</description> +                      </valueHelp> +                      <valueHelp> +                        <format>table-per-metric</format> +                        <description>One table per gorups of metric by the metric name</description> +                      </valueHelp> +                      <constraint> +                        <regex>(single-table|table-per-metric)</regex> +                      </constraint> +                    </properties> +                    <defaultValue>table-per-metric</defaultValue> +                  </leafNode> +                  <leafNode name="table"> +                    <properties> +                      <help>Name of the single table [Only if set group-metrics single-table]</help> +                      <valueHelp> +                        <format>txt</format> +                        <description>Table name</description> +                      </valueHelp> +                      <constraint> +                        <regex>[-_a-zA-Z0-9]+</regex> +                      </constraint> +                      <constraintErrorMessage>Table is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> +                    </properties> +                  </leafNode> +                  #include <include/monitoring/url.xml.i> +                </children> +              </node>                <leafNode name="bucket">                  <properties>                    <help>Remote bucket</help> @@ -193,7 +281,7 @@                    </node>                    <leafNode name="url">                      <properties> -                      <help>Remote URL [REQUIRED]</help> +                      <help>Remote URL</help>                        <valueHelp>                          <format>url</format>                          <description>Remote URL to Splunk collector</description> @@ -206,19 +294,7 @@                    </leafNode>                  </children>                </node> -              <leafNode name="url"> -                <properties> -                  <help>Remote URL [REQUIRED]</help> -                  <valueHelp> -                    <format>url</format> -                    <description>Remote URL to InfluxDB v2</description> -                  </valueHelp> -                  <constraint> -                    <regex>(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}?(\/.*)?</regex> -                  </constraint> -                  <constraintErrorMessage>Incorrect URL format.</constraintErrorMessage> -                </properties> -              </leafNode> +              #include <include/monitoring/url.xml.i>                #include <include/port-number.xml.i>                <leafNode name="port">                  <defaultValue>8086</defaultValue> diff --git a/interface-definitions/service_router-advert.xml.in b/interface-definitions/service_router-advert.xml.in index bb11e9cd0..40dac23ca 100644 --- a/interface-definitions/service_router-advert.xml.in +++ b/interface-definitions/service_router-advert.xml.in @@ -10,7 +10,7 @@          <children>            <tagNode name="interface">              <properties> -              <help>Interface to send RA on [REQUIRED]</help> +              <help>Interface to send RA on</help>                <completionHelp>                  <script>${vyos_completion_dir}/list_interfaces.py</script>                </completionHelp> diff --git a/interface-definitions/service_sla.xml.in b/interface-definitions/service_sla.xml.in new file mode 100644 index 000000000..0c4f8a591 --- /dev/null +++ b/interface-definitions/service_sla.xml.in @@ -0,0 +1,36 @@ +<?xml version="1.0"?> +<interfaceDefinition> +  <node name="service"> +    <children> +      <node name="sla" owner="${vyos_conf_scripts_dir}/service_sla.py"> +        <properties> +          <help>Service level agreement (SLA)</help> +        </properties> +        <children> +          <node name="owamp-server"> +            <properties> +              <help>One-way active measurement protocol (OWAMP) server</help> +            </properties> +            <children> +              #include <include/port-number.xml.i> +              <leafNode name="port"> +                <defaultValue>861</defaultValue> +              </leafNode> +            </children> +          </node> +          <node name="twamp-server"> +            <properties> +              <help>Two-way active measurement protocol (TWAMP) server</help> +            </properties> +            <children> +              #include <include/port-number.xml.i> +              <leafNode name="port"> +                <defaultValue>862</defaultValue> +              </leafNode> +            </children> +          </node> +        </children> +      </node> +    </children> +  </node> +</interfaceDefinition> diff --git a/interface-definitions/service_webproxy.xml.in b/interface-definitions/service_webproxy.xml.in index 9a75bc27d..42f5bba9f 100644 --- a/interface-definitions/service_webproxy.xml.in +++ b/interface-definitions/service_webproxy.xml.in @@ -288,7 +288,7 @@            </leafNode>            <tagNode name="listen-address">              <properties> -              <help>IPv4 listen-address for WebProxy [REQUIRED]</help> +              <help>IPv4 listen-address for WebProxy</help>                <completionHelp>                  <script>${vyos_completion_dir}/list_local_ips.sh --ipv4</script>                </completionHelp> @@ -452,7 +452,7 @@                        </leafNode>                        <leafNode name="source-group">                          <properties> -                          <help>Source-group for this rule [REQUIRED]</help> +                          <help>Source-group for this rule</help>                            <valueHelp>                              <format>group</format>                              <description>Source group identifier for this rule</description> diff --git a/interface-definitions/system-frr.xml.in b/interface-definitions/system-frr.xml.in new file mode 100644 index 000000000..9fe23ed75 --- /dev/null +++ b/interface-definitions/system-frr.xml.in @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interfaceDefinition> +  <node name="system"> +    <children> +      <node name="frr" owner="${vyos_conf_scripts_dir}/system_frr.py"> +        <properties> +          <help>Configure FRR parameters</help> +          <!-- Before components that use FRR --> +          <priority>150</priority> +        </properties> +        <children> +          <leafNode name="bmp"> +            <properties> +              <help>Enable BGP Monitoring Protocol support</help> +              <valueless/> +            </properties> +          </leafNode> +          <leafNode name="irdp"> +            <properties> +              <help>Enable ICMP Router Discovery Protocol support</help> +              <valueless/> +            </properties> +          </leafNode> +          <node name="snmp"> +            <properties> +              <help>Enable SNMP integration for next daemons</help> +            </properties> +            <children> +              <leafNode name="bgpd"> +                <properties> +                  <help>BGP</help> +                  <valueless/> +                </properties> +              </leafNode> +              <leafNode name="isisd"> +                <properties> +                  <help>IS-IS</help> +                  <valueless/> +                </properties> +              </leafNode> +              <leafNode name="ldpd"> +                <properties> +                  <help>LDP</help> +                  <valueless/> +                </properties> +              </leafNode> +              <leafNode name="ospf6d"> +                <properties> +                  <help>OSPFv3</help> +                  <valueless/> +                </properties> +              </leafNode> +              <leafNode name="ospfd"> +                <properties> +                  <help>OSPFv2</help> +                  <valueless/> +                </properties> +              </leafNode> +              <leafNode name="ripd"> +                <properties> +                  <help>RIP</help> +                  <valueless/> +                </properties> +              </leafNode> +              <leafNode name="zebra"> +                <properties> +                  <help>Zebra (IP routing manager)</help> +                  <valueless/> +                </properties> +              </leafNode> +            </children> +          </node> +        </children> +      </node> +    </children> +  </node> +</interfaceDefinition> diff --git a/interface-definitions/system-lcd.xml.in b/interface-definitions/system-lcd.xml.in index 9b1a15317..0cf4de308 100644 --- a/interface-definitions/system-lcd.xml.in +++ b/interface-definitions/system-lcd.xml.in @@ -10,7 +10,7 @@          <children>            <leafNode name="model">              <properties> -              <help>Model of the display attached to this system [REQUIRED]</help> +              <help>Model of the display attached to this system</help>                <completionHelp>                  <list>cfa-533 cfa-631 cfa-633 cfa-635 hd44780 sdec</list>                </completionHelp> diff --git a/interface-definitions/tftp-server.xml.in b/interface-definitions/tftp-server.xml.in index 4963eab3c..8ca4da883 100644 --- a/interface-definitions/tftp-server.xml.in +++ b/interface-definitions/tftp-server.xml.in @@ -11,7 +11,7 @@          <children>            <leafNode name="directory">              <properties> -              <help>Folder containing files served by TFTP [REQUIRED]</help> +              <help>Folder containing files served by TFTP</help>              </properties>            </leafNode>            <leafNode name="allow-upload"> diff --git a/interface-definitions/vpn_ipsec.xml.in b/interface-definitions/vpn_ipsec.xml.in index 555ba689f..d884d6ce6 100644 --- a/interface-definitions/vpn_ipsec.xml.in +++ b/interface-definitions/vpn_ipsec.xml.in @@ -209,7 +209,7 @@                </leafNode>                <tagNode name="proposal">                  <properties> -                  <help>ESP group proposal [REQUIRED]</help> +                  <help>ESP group proposal</help>                    <valueHelp>                      <format>u32:1-65535</format>                      <description>ESP group proposal number</description> @@ -669,7 +669,7 @@                #include <include/generic-disable-node.xml.i>                <node name="authentication">                  <properties> -                  <help>Authentication [REQUIRED]</help> +                  <help>Authentication</help>                  </properties>                  <children>                    <leafNode name="mode"> @@ -951,7 +951,7 @@                    #include <include/generic-disable-node.xml.i>                    <node name="authentication">                      <properties> -                      <help>Peer authentication [REQUIRED]</help> +                      <help>Peer authentication</help>                      </properties>                      <children>                        #include <include/ipsec/authentication-id.xml.i> @@ -1077,10 +1077,10 @@                    #include <include/ipsec/local-address.xml.i>                    <tagNode name="tunnel">                      <properties> -                      <help>Peer tunnel [REQUIRED]</help> +                      <help>Peer tunnel</help>                        <valueHelp>                          <format>u32</format> -                        <description>Peer tunnel [REQUIRED]</description> +                        <description>Peer tunnel</description>                        </valueHelp>                      </properties>                      <children> @@ -1144,7 +1144,7 @@                    </leafNode>                    <node name="vti">                      <properties> -                      <help>Virtual tunnel interface [REQUIRED]</help> +                      <help>Virtual tunnel interface</help>                      </properties>                      <children>                        <leafNode name="bind"> diff --git a/interface-definitions/vpn_sstp.xml.in b/interface-definitions/vpn_sstp.xml.in index fe2fea9f8..195d581df 100644 --- a/interface-definitions/vpn_sstp.xml.in +++ b/interface-definitions/vpn_sstp.xml.in @@ -37,6 +37,10 @@              </children>            </node>            #include <include/accel-ppp/client-ipv6-pool.xml.i> +          #include <include/port-number.xml.i> +          <leafNode name="port"> +            <defaultValue>443</defaultValue> +          </leafNode>            <node name="ppp-options">              <properties>                <help>PPP (Point-to-Point Protocol) settings</help> diff --git a/interface-definitions/vrf.xml.in b/interface-definitions/vrf.xml.in index 25a573887..3604b41c8 100644 --- a/interface-definitions/vrf.xml.in +++ b/interface-definitions/vrf.xml.in @@ -58,6 +58,15 @@                    #include <include/bgp/protocol-common-config.xml.i>                  </children>                </node> +              <node name="eigrp" owner="${vyos_conf_scripts_dir}/protocols_eigrp.py $VAR(../../@)"> +                <properties> +                  <help>Enhanced Interior Gateway Routing Protocol (EIGRP)</help> +                  <priority>821</priority> +                </properties> +                <children> +                  #include <include/eigrp/protocol-common-config.xml.i> +                </children> +              </node>                <node name="isis" owner="${vyos_conf_scripts_dir}/protocols_isis.py $VAR(../../@)">                  <properties>                    <help>Intermediate System to Intermediate System (IS-IS)</help> @@ -87,7 +96,7 @@                </node>                <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py $VAR(../../@)">                  <properties> -                  <help>Static route parameters</help> +                  <help>Static Routing</help>                    <priority>481</priority>                  </properties>                  <children> | 
