summaryrefslogtreecommitdiff
path: root/interface-definitions/interfaces-erspan.xml.in
blob: 2394d3534bd69ddea84cf3ebbafa5bb46ab2d06e (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
<?xml version="1.0"?>
<interfaceDefinition>
  <node name="interfaces">
    <children>
      <tagNode name="erspan" owner="${vyos_conf_scripts_dir}/interfaces-erspan.py">
        <properties>
          <help>Encapsulated Remote SPAN over GRE and IPv4/IPv6 Tunnel Interface</help>
          <priority>310</priority>
          <constraint>
            <regex>^ersp[0-9]+$</regex>
          </constraint>
          <constraintErrorMessage>ERSPAN tunnel interface must be named erspN</constraintErrorMessage>
          <valueHelp>
            <format>erspN</format>
            <description>ERSPAN Tunnel interface name</description>
          </valueHelp>
        </properties>
        <children>
          #include <include/interface-description.xml.i>
          #include <include/interface-disable.xml.i>
          #include <include/interface-disable-link-detect.xml.i>
          #include <include/interface-mtu-64-8024.xml.i>
          #include <include/source-address-ipv4-ipv6.xml.i>
          #include <include/tunnel-remote.xml.i>
          <leafNode name="encapsulation">
            <properties>
              <help>Encapsulation of this tunnel interface</help>
              <completionHelp>
                <list>erspan ip6erspan</list>
              </completionHelp>
              <valueHelp>
                <format>erspan</format>
                <description>Generic Routing Encapsulation</description>
              </valueHelp>
              <valueHelp>
                <format>ip6erspan</format>
                <description>Generic Routing Encapsulation bridge interface</description>
              </valueHelp>
              <constraint>
                <regex>^(erspan|ip6erspan)$</regex>
              </constraint>
              <constraintErrorMessage>Invalid encapsulation, must be one of: erspan, ip6erspan</constraintErrorMessage>
            </properties>
          </leafNode>
          <node name="parameters">
            <properties>
              <help>ERSPAN Tunnel parameters</help>
            </properties>
            <children>
              <node name="ip">
                <properties>
                  <help>IPv4 specific tunnel parameters</help>
                </properties>
                <children>
                  #include <include/interface-parameters-key.xml.i>
                  #include <include/interface-parameters-tos.xml.i>
                  #include <include/interface-parameters-ttl.xml.i>
                </children>
              </node>
              <leafNode name="version">
                <properties>
                  <help>ERSPAN version number setting(default:1)</help>
                  <constraint>
                    <validator name="numeric" argument="--range 1-2"/>
                  </constraint>
                  <constraintErrorMessage>The version number of ERSPAN must be 1 or 2</constraintErrorMessage>
                </properties>
                <defaultValue>1</defaultValue>
              </leafNode>
              <leafNode name="direction">
                <properties>
                  <help>Specifies mirrored traffic direction</help>
                  <completionHelp>
                    <list>ingress egress</list>
                  </completionHelp>
                  <valueHelp>
                    <format>ingress</format>
                    <description>Mirror ingress direction</description>
                  </valueHelp>
                  <valueHelp>
                    <format>egress</format>
                    <description>Mirror egress direction</description>
                  </valueHelp>
                  <constraint>
                    <regex>^(ingress|egress)$</regex>
                  </constraint>
                  <constraintErrorMessage>The mirror direction of ERSPAN must be ingress or egress</constraintErrorMessage>
                </properties>
              </leafNode>
              <leafNode name="hwid">
                <properties>
                  <help>an unique identifier of an ERSPAN v2 engine within a system</help>
                  <constraint>
                    <validator name="numeric" argument="--range 1-1048575"/>
                  </constraint>
                  <constraintErrorMessage>ERSPAN hwid must be a number(range:0-1048575)</constraintErrorMessage>
                </properties>
              </leafNode>
              <leafNode name="idx">
                <properties>
                  <help>specifies the ERSPAN v1 index field</help>
                  <constraint>
                    <validator name="numeric" argument="--range 0-63"/>
                  </constraint>
                  <constraintErrorMessage>ERSPAN idx must be a number(range:0-63)</constraintErrorMessage>
                </properties>
              </leafNode>
            </children>
          </node>
        </children>
      </tagNode>
    </children>
  </node>
</interfaceDefinition>