]> git.proxmox.com Git - mirror_frr.git/blob - doc/user/pimv6.rst
Merge pull request #10447 from ton31337/fix/json_with_whitespaces
[mirror_frr.git] / doc / user / pimv6.rst
1 .. _pimv6:
2
3 *****
4 PIMv6
5 *****
6
7 PIMv6 -- Protocol Independent Multicast for IPv6
8
9 *pim6d* supports pim-sm as well as MLD v1 and v2. PIMv6 is
10 vrf aware and can work within the context of vrf's in order to
11 do S,G mrouting.
12
13 .. _starting-and-stopping-pim6d:
14
15 Starting and Stopping pim6d
16 ===========================
17
18 The default configuration file name of *pim6d*'s is :file:`pim6d.conf`. When
19 invoked *pim6d* searches directory |INSTALL_PREFIX_ETC|. If
20 :file:`pim6d.conf` is not there then next search current directory.
21
22 *pim6d* requires zebra for proper operation. Additionally *pim6d* depends on
23 routing properly setup and working in the network that it is working on.
24
25 ::
26
27 # zebra -d
28 # pim6d -d
29
30
31 Please note that *zebra* must be invoked before *pim6d*.
32
33 To stop *pim6d* please use::
34
35 kill `cat /var/run/pim6d.pid`
36
37 Certain signals have special meanings to *pim6d*.
38
39 +---------+---------------------------------------------------------------------+
40 | Signal | Meaning |
41 +=========+=====================================================================+
42 | SIGUSR1 | Rotate the *pim6d* logfile |
43 +---------+---------------------------------------------------------------------+
44 | SIGINT | *pim6d* sweeps all installed PIM mroutes then terminates gracefully.|
45 | SIGTERM | |
46 +---------+---------------------------------------------------------------------+
47
48 *pim6d* invocation options. Common options that can be specified
49 (:ref:`common-invocation-options`).
50
51 .. clicmd:: ipv6 pim rp X:X::X:X Y:Y::Y:Y/M
52
53 In order to use pimv6, it is necessary to configure a RP for join messages to
54 be sent to. Currently the only methodology to do this is via static rp
55 commands. All routers in the pimv6 network must agree on these values. The
56 first ipv6 address is the RP's address and the second value is the matching
57 prefix of group ranges covered. This command is vrf aware, to configure for
58 a vrf, enter the vrf submode.
59
60 .. clicmd:: ipv6 pim rp X:X::X:X prefix-list WORD
61
62 This CLI helps in configuring RP address for a range of groups specified
63 by the prefix-list.
64
65 .. clicmd:: ipv6 pim rp keep-alive-timer (1-65535)
66
67 Modify the time out value for a S,G flow from 1-65535 seconds at RP.
68 The normal keepalive period for the KAT(S,G) defaults to 210 seconds.
69 However, at the RP, the keepalive period must be at least the
70 Register_Suppression_Time, or the RP may time out the (S,G) state
71 before the next Null-Register arrives. Thus, the KAT(S,G) is set to
72 max(Keepalive_Period, RP_Keepalive_Period) when a Register-Stop is sent.
73 If choosing a value below 31 seconds be aware that some hardware platforms
74 cannot see data flowing in better than 30 second chunks. This command is
75 vrf aware, to configure for a vrf, enter the vrf submode.
76
77 .. clicmd:: ipv6 pim spt-switchover infinity-and-beyond [prefix-list PLIST]
78
79 On the last hop router if it is desired to not switch over to the SPT tree
80 configure this command. Optional parameter prefix-list can be use to control
81 which groups to switch or not switch. If a group is PERMIT as per the
82 PLIST, then the SPT switchover does not happen for it and if it is DENY,
83 then the SPT switchover happens.
84 This command is vrf aware, to configure for a vrf,
85 enter the vrf submode.
86
87 .. clicmd:: ipv6 pim join-prune-interval (1-65535)
88
89 Modify the join/prune interval that pim uses to the new value. Time is
90 specified in seconds. This command is vrf aware, to configure for a vrf,
91 enter the vrf submode. The default time is 60 seconds. If you enter
92 a value smaller than 60 seconds be aware that this can and will affect
93 convergence at scale.
94
95 .. clicmd:: ipv6 pim keep-alive-timer (1-65535)
96
97 Modify the time out value for a S,G flow from 1-65535 seconds. If choosing
98 a value below 31 seconds be aware that some hardware platforms cannot see data
99 flowing in better than 30 second chunks. This command is vrf aware, to
100 configure for a vrf, enter the vrf submode.
101
102 .. clicmd:: ipv6 pim packets (1-255)
103
104 When processing packets from a neighbor process the number of packets
105 incoming at one time before moving on to the next task. The default value is
106 3 packets. This command is only useful at scale when you can possibly have
107 a large number of pim control packets flowing. This command is vrf aware, to
108 configure for a vrf, enter the vrf submode.
109
110 .. clicmd:: ipv6 pim register-suppress-time (1-65535)
111
112 Modify the time that pim will register suppress a FHR will send register
113 notifications to the kernel. This command is vrf aware, to configure for a
114 vrf, enter the vrf submode.
115
116 .. _pimv6-interface-configuration:
117
118 PIMv6 Interface Configuration
119 =============================
120
121 PIMv6 interface commands allow you to configure an interface as either a Receiver
122 or a interface that you would like to form pimv6 neighbors on. If the interface
123 is in a vrf, enter the interface command with the vrf keyword at the end.
124
125 .. clicmd:: ipv6 pim active-active
126
127 Turn on pim active-active configuration for a Vxlan interface. This
128 command will not do anything if you do not have the underlying ability
129 of a mlag implementation.
130
131 .. clicmd:: ipv6 pim drpriority (1-4294967295)
132
133 Set the DR Priority for the interface. This command is useful to allow the
134 user to influence what node becomes the DR for a lan segment.
135
136 .. clicmd:: ipv6 pim hello (1-65535) (1-65535)
137
138 Set the pim hello and hold interval for a interface.
139
140 .. clicmd:: ipv6 pim
141
142 Tell pim that we would like to use this interface to form pim neighbors
143 over. Please note that this command does not enable the reception of MLD
144 reports on the interface. Refer to the next ``ipv6 mld`` command for MLD
145 management.
146
147 .. clicmd:: ipv6 pim use-source X:X::X:X
148
149 If you have multiple addresses configured on a particular interface
150 and would like pim to use a specific source address associated with
151 that interface.
152
153 .. clicmd:: ipv6 mld
154
155 Tell pim to receive MLD reports and Query on this interface. The default
156 version is v2. This command is useful on a LHR.
157
158 .. clicmd:: ipv6 mld join X:X::X:X [Y:Y::Y:Y]
159
160 Join multicast group or source-group on an interface.
161
162 .. clicmd:: ipv6 mld query-interval (1-65535)
163
164 Set the MLD query interval that PIM will use.
165
166 .. clicmd:: ipv6 mld query-max-response-time (1-65535)
167
168 Set the MLD query response timeout value. If an report is not returned in
169 the specified time we will assume the S,G or \*,G has timed out.
170
171 .. clicmd:: ipv6 mld version (1-2)
172
173 Set the MLD version used on this interface. The default value is 2.
174
175 .. clicmd:: ipv6 multicast boundary oil WORD
176
177 Set a PIMv6 multicast boundary, based upon the WORD prefix-list. If a PIMv6
178 join or MLD report is received on this interface and the Group is denied by
179 the prefix-list, PIMv6 will ignore the join or report.
180
181 .. clicmd:: ipv6 mld last-member-query-count (1-255)
182
183 Set the MLD last member query count. The default value is 2. 'no' form of
184 this command is used to configure back to the default value.
185
186 .. clicmd:: ipv6 MLD last-member-query-interval (1-65535)
187
188 Set the MLD last member query interval in deciseconds. The default value is
189 10 deciseconds. 'no' form of this command is used to to configure back to the
190 default value.
191
192 .. clicmd:: ipv6 mroute INTERFACE X:X::X:X [Y:Y::Y:Y]
193
194 Set a static multicast route for a traffic coming on the current interface to
195 be forwarded on the given interface if the traffic matches the group address
196 and optionally the source address.
197
198 .. _show-pimv6-information:
199
200 Show PIMv6 Information
201 ======================
202
203 All PIMv6 show commands are vrf aware and typically allow you to insert a
204 specified vrf command if information is desired about a specific vrf. If no
205 vrf is specified then the default vrf is assumed. Finally the special keyword
206 'all' allows you to look at all vrfs for the command. Naming a vrf 'all' will
207 cause great confusion.
208
209 .. clicmd:: show ipv6 pim [vrf NAME] group-type [json]
210
211 Display SSM group ranges.
212
213 .. clicmd:: show ipv6 pim interface
214
215 Display information about interfaces PIM is using.
216
217 .. clicmd:: show ipv6 pim [vrf NAME] join [X:X::X:X [X:X::X:X]] [json]
218 .. clicmd:: show ipv6 pim vrf all join [json]
219
220 Display information about PIM joins received. If one address is specified
221 then we assume it is the Group we are interested in displaying data on.
222 If the second address is specified then it is Source Group.
223
224 .. clicmd:: show ipv6 pim [vrf NAME] local-membership [json]
225
226 Display information about PIM interface local-membership.
227
228 .. clicmd:: show ipv6 pim [vrf NAME] neighbor [detail|WORD] [json]
229 .. clicmd:: show ipv6 pim vrf all neighbor [detail|WORD] [json]
230
231 Display information about PIM neighbors.
232
233 .. clicmd:: show ipv6 pim [vrf NAME] nexthop
234
235 Display information about pim nexthops that are being used.
236
237 .. clicmd:: show ipv6 pim [vrf NAME] nexthop-lookup X:X::X:X X:X::X:X
238
239 Display information about a S,G pair and how the RPF would be chosen. This
240 is especially useful if there are ECMP's available from the RPF lookup.
241
242 .. clicmd:: show ipv6 pim [vrf NAME] rp-info [json]
243 .. clicmd:: show ipv6 pim vrf all rp-info [json]
244
245 Display information about RP's that are configured on this router.
246
247 .. clicmd:: show ipv6 pim [vrf NAME] rpf [json]
248 .. clicmd:: show ipv6 pim vrf all rpf [json]
249
250 Display information about currently being used S,G's and their RPF lookup
251 information. Additionally display some statistics about what has been
252 happening on the router.
253
254 .. clicmd:: show ipv6 pim [vrf NAME] secondary
255
256 Display information about an interface and all the secondary addresses
257 associated with it.
258
259 .. clicmd:: show ipv6 pim [vrf NAME] state [X:X::X:X [X:X::X:X]] [json]
260 .. clicmd:: show ipv6 pim vrf all state [X:X::X:X [X:X::X:X]] [json]
261
262 Display information about known S,G's and incoming interface as well as the
263 OIL and how they were chosen.
264
265 .. clicmd:: show ipv6 pim [vrf NAME] upstream [X:X::X:X [Y:Y::Y:Y]] [json]
266 .. clicmd:: show ipv6 pim vrf all upstream [json]
267
268 Display upstream information about a S,G mroute. Allow the user to
269 specify sub Source and Groups that we are interested in.
270
271 .. clicmd:: show ipv6 pim [vrf NAME] upstream-join-desired [json]
272
273 Display upstream information for S,G's and if we desire to
274 join the multicast tree
275
276 .. clicmd:: show ipv6 pim [vrf NAME] upstream-rpf [json]
277
278 Display upstream information for S,G's and the RPF data associated with them.
279
280 PIMv6 Debug Commands
281 ====================
282
283 The debugging subsystem for PIMv6 behaves in accordance with how FRR handles
284 debugging. You can specify debugging at the enable CLI mode as well as the
285 configure CLI mode. If you specify debug commands in the configuration cli
286 mode, the debug commands can be persistent across restarts of the FRR pim6d if
287 the config was written out.
288