summaryrefslogtreecommitdiff
path: root/interface-definitions/protocols_pim6.xml.in
blob: 8bd3f3fee47c5057e3203f437cf71e8336e00628 (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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<?xml version="1.0"?>
<!-- Protocol Independent Multicast for IPv6 (PIMv6) configuration -->
<interfaceDefinition>
  <node name="protocols">
    <children>
      <node name="pim6" owner="${vyos_conf_scripts_dir}/protocols_pim6.py">
        <properties>
          <help>Protocol Independent Multicast for IPv6 (PIMv6) and MLD</help>
          <priority>400</priority>
        </properties>
        <children>
          <tagNode name="interface">
            <properties>
              <help>PIMv6 interface</help>
              <completionHelp>
                <script>${vyos_completion_dir}/list_interfaces</script>
              </completionHelp>
              <constraint>
                #include <include/constraint/interface-name.xml.i>
              </constraint>
            </properties>
            <children>
              #include <include/pim/bsm.xml.i>
              #include <include/pim/dr-priority.xml.i>
              #include <include/pim/hello.xml.i>
              #include <include/pim/passive.xml.i>
              <node name="mld">
                <properties>
                  <help>Multicast Listener Discovery (MLD)</help>
                </properties>
                <children>
                  #include <include/generic-disable-node.xml.i>
                  <tagNode name="join">
                    <properties>
                      <help>MLD join multicast group</help>
                      <valueHelp>
                        <format>ipv6</format>
                        <description>Multicast group address</description>
                      </valueHelp>
                      <constraint>
                        <validator name="ipv6-address"/>
                      </constraint>
                    </properties>
                    <children>
                      <leafNode name="source">
                        <properties>
                          <help>Source address</help>
                          <valueHelp>
                            <format>ipv6</format>
                            <description>Source address</description>
                          </valueHelp>
                          <completionHelp>
                            <script>${vyos_completion_dir}/list_local_ips.sh --ipv6</script>
                          </completionHelp>
                          <constraint>
                            <validator name="ipv6-address"/>
                          </constraint>
                          <multi/>
                        </properties>
                      </leafNode>
                    </children>
                  </tagNode>
                  <leafNode name="last-member-query-count">
                    <properties>
                      <help>Last member query count</help>
                      <valueHelp>
                        <format>u32:1-255</format>
                        <description>Count</description>
                      </valueHelp>
                      <constraint>
                        <validator name="numeric" argument="--range 1-255"/>
                      </constraint>
                    </properties>
                  </leafNode>
                  <leafNode name="last-member-query-interval">
                    <properties>
                      <help>Last member query interval</help>
                      <valueHelp>
                        <format>u32:100-6553500</format>
                        <description>Last member query interval in milliseconds</description>
                      </valueHelp>
                      <constraint>
                        <validator name="numeric" argument="--range 100-6553500"/>
                      </constraint>
                    </properties>
                  </leafNode>
                  <leafNode name="interval">
                    <properties>
                      <help>Query interval</help>
                      <valueHelp>
                        <format>u32:1-65535</format>
                        <description>Query interval in seconds</description>
                      </valueHelp>
                      <constraint>
                        <validator name="numeric" argument="--range 1-65535"/>
                      </constraint>
                    </properties>
                  </leafNode>
                  <leafNode name="max-response-time">
                    <properties>
                      <help>Max query response time</help>
                      <valueHelp>
                        <format>u32:100-6553500</format>
                        <description>Query response value in milliseconds</description>
                      </valueHelp>
                      <constraint>
                        <validator name="numeric" argument="--range 100-6553500"/>
                      </constraint>
                    </properties>
                  </leafNode>
                  <leafNode name="version">
                    <properties>
                      <help>MLD version</help>
                      <completionHelp>
                        <list>1 2</list>
                      </completionHelp>
                      <valueHelp>
                        <format>1</format>
                        <description>MLD version 1</description>
                      </valueHelp>
                     <valueHelp>
                        <format>2</format>
                        <description>MLD version 2</description>
                      </valueHelp>
                      <constraint>
                        <validator name="numeric" argument="--range 1-2"/>
                      </constraint>
                    </properties>
                    <defaultValue>2</defaultValue>
                  </leafNode>
                </children>
              </node>
            </children>
          </tagNode>
          #include <include/pim/join-prune-interval.xml.i>
          #include <include/pim/keep-alive-timer.xml.i>
          #include <include/pim/packets.xml.i>
          #include <include/pim/register-suppress-time.xml.i>
          <node name="rp">
            <properties>
              <help>Rendezvous Point</help>
            </properties>
            <children>
              <tagNode name="address">
                <properties>
                  <help>Rendezvous Point address</help>
                  <valueHelp>
                    <format>ipv6</format>
                    <description>Rendezvous Point address</description>
                  </valueHelp>
                  <constraint>
                    <validator name="ipv6-address"/>
                  </constraint>
                </properties>
                <children>
                  <leafNode name="group">
                    <properties>
                      <help>Group Address range</help>
                      <valueHelp>
                        <format>ipv6net</format>
                        <description>Group Address range</description>
                      </valueHelp>
                      <constraint>
                        <validator name="ipv6-prefix"/>
                      </constraint>
                      <multi/>
                    </properties>
                  </leafNode>
                  #include <include/policy/prefix-list6.xml.i>
                </children>
              </tagNode>
              #include <include/pim/keep-alive-timer.xml.i>
            </children>
          </node>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>