summaryrefslogtreecommitdiff
path: root/interface-definitions/protocols-static.xml.in
blob: 033c7759edc52e05e1ef50877f8b2f39de027a6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0"?>
<interfaceDefinition>
  <node name="protocols">
    <properties>
      <help>Routing protocols</help>
    </properties>
    <children>
       <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py">
        <properties>
          <help>Static Routing</help>
          <priority>480</priority>
        </properties>
        <children>
          #include <include/route-map.xml.i>
          #include <include/static/static-route.xml.i>
          #include <include/static/static-route6.xml.i>
          <tagNode name="table">
            <properties>
              <help>Policy route table number</help>
              <valueHelp>
                <format>u32:1-200</format>
                <description>Policy route table number</description>
              </valueHelp>
              <constraint>
                <validator name="numeric" argument="--range 1-200"/>
              </constraint>
            </properties>
            <children>
              <leafNode name="description">
                <properties>
                  <help>Table description</help>
                  <constraint>
                    <!--
                      iproute2 only considers the first "word" until whitespace in the name field
                      but does not complain about special characters.
                      We put an artificial limit here to make table descriptions potentially valid node names
                      to avoid quoting and simplify future syntax changes if we decide to make any.
                    -->
                    <regex>[a-zA-Z0-9_\-]+</regex>
                  </constraint>
                </properties>
              </leafNode>
              #include <include/static/static-route.xml.i>
              #include <include/static/static-route6.xml.i>
            </children>
          </tagNode>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>