summaryrefslogtreecommitdiff
path: root/interface-definitions/protocols_static.xml.in
blob: d8e0ee56b464fb58705c8ed0fcf303a449d65044 (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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?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>
          <tagNode name="mroute">
            <properties>
              <help>Static IPv4 route for Multicast RIB</help>
              <valueHelp>
                <format>ipv4net</format>
                <description>Network</description>
              </valueHelp>
              <constraint>
                <validator name="ipv4-prefix"/>
              </constraint>
            </properties>
            <children>
              <tagNode name="next-hop">
                <properties>
                  <help>Next-hop IPv4 router address</help>
                  <valueHelp>
                    <format>ipv4</format>
                    <description>Next-hop router address</description>
                  </valueHelp>
                  <constraint>
                    <validator name="ipv4-address"/>
                  </constraint>
                </properties>
                <children>
                  #include <include/generic-disable-node.xml.i>
                  #include <include/static/static-route-distance.xml.i>
                </children>
              </tagNode>
              <tagNode name="interface">
                <properties>
                  <help>Next-hop IPv4 router interface</help>
                  <completionHelp>
                    <script>${vyos_completion_dir}/list_interfaces</script>
                  </completionHelp>
                  <valueHelp>
                    <format>txt</format>
                    <description>Gateway interface name</description>
                  </valueHelp>
                  <constraint>
                    #include <include/constraint/interface-name.xml.i>
                  </constraint>
                </properties>
                <children>
                  #include <include/generic-disable-node.xml.i>
                  #include <include/static/static-route-distance.xml.i>
                </children>
              </tagNode>
            </children>
          </tagNode>
          #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>
              <!--
                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.
              -->
              #include <include/generic-description.xml.i>
              #include <include/static/static-route.xml.i>
              #include <include/static/static-route6.xml.i>
            </children>
          </tagNode>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>