summaryrefslogtreecommitdiff
path: root/interface-definitions/vrf.xml.in
blob: 028b31f7b5cdea471a9e8f53dadf95a58c6076c1 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?xml version="1.0"?>
<interfaceDefinition>
  <node name="vrf" owner="${vyos_conf_scripts_dir}/vrf.py">
    <properties>
      <help>Virtual Routing and Forwarding</help>
      <!-- must be before any interface, check /opt/vyatta/sbin/priority.pl -->
      <priority>299</priority>
    </properties>
    <children>
      <leafNode name="bind-to-all">
        <properties>
          <help>Enable binding services to all VRFs</help>
          <valueless/>
        </properties>
      </leafNode>
      <tagNode name="name">
        <properties>
          <help>Virtual Routing and Forwarding instance</help>
          <constraint>
            <validator name="vrf-name"/>
          </constraint>
          <constraintErrorMessage>VRF instance name must be 15 characters or less and can not\nbe named as regular network interfaces.\nA name must starts from a letter.\n</constraintErrorMessage>
          <valueHelp>
            <format>txt</format>
            <description>VRF instance name</description>
          </valueHelp>
        </properties>
        <children>
          #include <include/generic-description.xml.i>
          #include <include/interface/disable.xml.i>
          <node name="ip">
            <properties>
              <help>IPv4 routing parameters</help>
            </properties>
            <children>
              #include <include/interface/disable-forwarding.xml.i>
              #include <include/system-ip-protocol.xml.i>
            </children>
          </node>
          <node name="ipv6">
            <properties>
              <help>IPv6 routing parameters</help>
            </properties>
            <children>
              #include <include/interface/disable-forwarding.xml.i>
              #include <include/system-ipv6-protocol.xml.i>
            </children>
          </node>
          <node name="protocols">
            <properties>
              <help>Routing protocol parameters</help>
            </properties>
            <children>
              <node name="bgp" owner="${vyos_conf_scripts_dir}/protocols_bgp.py $VAR(../../@)">
                <properties>
                  <help>Border Gateway Protocol (BGP)</help>
                  <priority>821</priority>
                </properties>
                <children>
                  #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>
                  <priority>611</priority>
                </properties>
                <children>
                  #include <include/isis/protocol-common-config.xml.i>
                </children>
              </node>
              <node name="ospf" owner="${vyos_conf_scripts_dir}/protocols_ospf.py $VAR(../../@)">
                <properties>
                  <help>Open Shortest Path First (OSPF)</help>
                  <priority>621</priority>
                </properties>
                <children>
                  #include <include/ospf/protocol-common-config.xml.i>
                </children>
              </node>
              <node name="ospfv3" owner="${vyos_conf_scripts_dir}/protocols_ospfv3.py $VAR(../../@)">
                <properties>
                  <help>Open Shortest Path First (OSPF) for IPv6</help>
                  <priority>621</priority>
                </properties>
                <children>
                  #include <include/ospfv3/protocol-common-config.xml.i>
                </children>
              </node>
              <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py $VAR(../../@)">
                <properties>
                  <help>Static Routing</help>
                  <priority>481</priority>
                </properties>
                <children>
                  #include <include/static/static-route.xml.i>
                  #include <include/static/static-route6.xml.i>
                </children>
              </node>
            </children>
          </node>
          <leafNode name="table">
            <properties>
              <help>Routing table associated with this instance</help>
              <valueHelp>
                <format>u32:100-65535</format>
                <description>Routing table ID</description>
              </valueHelp>
              <constraint>
                <validator name="numeric" argument="--range 100-65535"/>
              </constraint>
              <constraintErrorMessage>VRF routing table must be in range from 100 to 65535</constraintErrorMessage>
            </properties>
          </leafNode>
          <leafNode name="vni" owner="${vyos_conf_scripts_dir}/vrf_vni.py">
            <properties>
              <help>Virtual Network Identifier</help>
              <!-- priority must be after BGP -->
              <priority>822</priority>
              <valueHelp>
                <format>u32:0-16777214</format>
                <description>VXLAN virtual network identifier</description>
              </valueHelp>
              <constraint>
                <validator name="numeric" argument="--range 0-16777214"/>
              </constraint>
            </properties>
          </leafNode>
        </children>
      </tagNode>
    </children>
  </node>
</interfaceDefinition>