]> git.proxmox.com Git - mirror_frr.git/blame - doc/user/pim.rst
Merge pull request #13649 from donaldsharp/unlock_the_node_or_else
[mirror_frr.git] / doc / user / pim.rst
CommitLineData
0efdf0fe 1.. _pim:
e3c1296c
QY
2
3***
4PIM
5***
6
7PIM -- Protocol Independent Multicast
8
9*pimd* supports pim-sm as well as igmp v2 and v3. pim is
10vrf aware and can work within the context of vrf's in order to
745fc7a5
AK
11do S,G mrouting. Additionally PIM can be used in the EVPN underlay
12network for optimizing forwarding of overlay BUM traffic.
e3c1296c 13
5ee5afc9
DS
14.. note::
15
0abc8254 16 On Linux for PIM-SM operation you *must* have kernel version 4.19 or greater.
5ee5afc9 17 To use PIM for EVPN BUM forwarding, kernels 5.0 or greater are required.
32d9e333 18 OpenBSD has no multicast support and FreeBSD, and NetBSD only
5ee5afc9
DS
19 have support for SSM.
20
0efdf0fe 21.. _starting-and-stopping-pimd:
e3c1296c
QY
22
23Starting and Stopping pimd
24==========================
25
26The default configuration file name of *pimd*'s is :file:`pimd.conf`. When
27invoked *pimd* searches directory |INSTALL_PREFIX_ETC|. If
28:file:`pimd.conf` is not there then next search current directory.
29
30*pimd* requires zebra for proper operation. Additionally *pimd* depends on
31routing properly setup and working in the network that it is working on.
32
33::
34
35 # zebra -d
36 # pimd -d
37
38
39Please note that *zebra* must be invoked before *pimd*.
40
41To stop *pimd* please use::
42
0416ce1c 43 kill `cat /var/run/frr/pimd.pid`
e3c1296c
QY
44
45Certain signals have special meanings to *pimd*.
46
47+---------+---------------------------------------------------------------------+
48| Signal | Meaning |
49+=========+=====================================================================+
50| SIGUSR1 | Rotate the *pimd* logfile |
51+---------+---------------------------------------------------------------------+
52| SIGINT | *pimd* sweeps all installed PIM mroutes then terminates gracefully. |
53| SIGTERM | |
54+---------+---------------------------------------------------------------------+
55
56*pimd* invocation options. Common options that can be specified
0efdf0fe 57(:ref:`common-invocation-options`).
e3c1296c 58
e3c1296c
QY
59.. clicmd:: ip pim rp A.B.C.D A.B.C.D/M
60
61 In order to use pim, it is necessary to configure a RP for join messages to
62 be sent to. Currently the only methodology to do this is via static rp
63 commands. All routers in the pim network must agree on these values. The
64 first ip address is the RP's address and the second value is the matching
65 prefix of group ranges covered. This command is vrf aware, to configure for
66 a vrf, enter the vrf submode.
67
4d0ead82
MR
68.. clicmd:: ip pim rp keep-alive-timer (1-65535)
69
70 Modify the time out value for a S,G flow from 1-65535 seconds at RP.
71 The normal keepalive period for the KAT(S,G) defaults to 210 seconds.
72 However, at the RP, the keepalive period must be at least the
73 Register_Suppression_Time, or the RP may time out the (S,G) state
74 before the next Null-Register arrives. Thus, the KAT(S,G) is set to
75 max(Keepalive_Period, RP_Keepalive_Period) when a Register-Stop is sent.
76 If choosing a value below 31 seconds be aware that some hardware platforms
77 cannot see data flowing in better than 30 second chunks. This command is
78 vrf aware, to configure for a vrf, enter the vrf submode.
79
f4e74bd0
DS
80.. clicmd:: ip pim register-accept-list PLIST
81
82 When pim receives a register packet the source of the packet will be compared
83 to the prefix-list specified, PLIST, and if a permit is received normal
84 processing continues. If a deny is returned for the source address of the
85 register packet a register stop message is sent to the source.
86
4d0ead82 87.. clicmd:: ip pim spt-switchover infinity-and-beyond [prefix-list PLIST]
e3c1296c 88
4d0ead82
MR
89 On the last hop router if it is desired to not switch over to the SPT tree
90 configure this command. Optional parameter prefix-list can be use to control
91 which groups to switch or not switch. If a group is PERMIT as per the
92 PLIST, then the SPT switchover does not happen for it and if it is DENY,
93 then the SPT switchover happens.
94 This command is vrf aware, to configure for a vrf,
e3c1296c
QY
95 enter the vrf submode.
96
e3c1296c
QY
97.. clicmd:: ip pim ecmp
98
99 If pim has the a choice of ECMP nexthops for a particular RPF, pim will
100 cause S,G flows to be spread out amongst the nexthops. If this command is
101 not specified then the first nexthop found will be used. This command is vrf
102 aware, to configure for a vrf, enter the vrf submode.
103
e3c1296c
QY
104.. clicmd:: ip pim ecmp rebalance
105
106 If pim is using ECMP and an interface goes down, cause pim to rebalance all
d1e7591e 107 S,G flows across the remaining nexthops. If this command is not configured
e3c1296c
QY
108 pim only modifies those S,G flows that were using the interface that went
109 down. This command is vrf aware, to configure for a vrf, enter the vrf
110 submode.
111
11ca3587 112.. clicmd:: ip pim join-prune-interval (1-65535)
e3c1296c
QY
113
114 Modify the join/prune interval that pim uses to the new value. Time is
115 specified in seconds. This command is vrf aware, to configure for a vrf,
1b6b0026
DS
116 enter the vrf submode. The default time is 60 seconds. If you enter
117 a value smaller than 60 seconds be aware that this can and will affect
118 convergence at scale.
e3c1296c 119
11ca3587 120.. clicmd:: ip pim keep-alive-timer (1-65535)
e3c1296c 121
4d0ead82 122 Modify the time out value for a S,G flow from 1-65535 seconds. If choosing
11ca3587 123 a value below 31 seconds be aware that some hardware platforms cannot see data
d1e7591e 124 flowing in better than 30 second chunks. This command is vrf aware, to
e3c1296c
QY
125 configure for a vrf, enter the vrf submode.
126
11ca3587 127.. clicmd:: ip pim packets (1-255)
e3c1296c
QY
128
129 When processing packets from a neighbor process the number of packets
130 incoming at one time before moving on to the next task. The default value is
131 3 packets. This command is only useful at scale when you can possibly have
132 a large number of pim control packets flowing. This command is vrf aware, to
133 configure for a vrf, enter the vrf submode.
134
11ca3587 135.. clicmd:: ip pim register-suppress-time (1-65535)
e3c1296c
QY
136
137 Modify the time that pim will register suppress a FHR will send register
138 notifications to the kernel. This command is vrf aware, to configure for a
139 vrf, enter the vrf submode.
140
e3c1296c
QY
141.. clicmd:: ip pim send-v6-secondary
142
143 When sending pim hello packets tell pim to send any v6 secondary addresses
144 on the interface. This information is used to allow pim to use v6 nexthops
145 in it's decision for RPF lookup. This command is vrf aware, to configure for
146 a vrf, enter the vrf submode.
147
e3c1296c
QY
148.. clicmd:: ip pim ssm prefix-list WORD
149
150 Specify a range of group addresses via a prefix-list that forces pim to
151 never do SM over. This command is vrf aware, to configure for a vrf, enter
152 the vrf submode.
153
e3c1296c
QY
154.. clicmd:: ip multicast rpf-lookup-mode WORD
155
156 Modify how PIM does RPF lookups in the zebra routing table. You can use
157 these choices:
158
159 longer-prefix
160 Lookup the RPF in both tables using the longer prefix as a match
161
162 lower-distance
163 Lookup the RPF in both tables using the lower distance as a match
164
165 mrib-only
166 Lookup in the Multicast RIB only
167
168 mrib-then-urib
169 Lookup in the Multicast RIB then the Unicast Rib, returning first found.
170 This is the default value for lookup if this command is not entered
171
172 urib-only
173 Lookup in the Unicast Rib only.
174
6741a5bb 175.. clicmd:: ip igmp generate-query-once [version (2-3)]
176
177 Generate IGMP query (v2/v3) on user requirement. This will not depend on
178 the existing IGMP general query timer.If no version is provided in the cli,
761e4fba 179 the default will be the igmp version enabled on that interface.
e3c1296c 180
11ca3587 181.. clicmd:: ip igmp watermark-warn (1-65535)
daeda8dd 182
183 Configure watermark warning generation for an igmp group limit. Generates
184 warning once the configured group limit is reached while adding new groups.
185 'no' form of the command disables the warning generation. This command is
186 vrf aware. To configure per vrf, enter vrf submode.
431dd37e 187
0efdf0fe 188.. _pim-interface-configuration:
e3c1296c
QY
189
190PIM Interface Configuration
191===========================
192
193PIM interface commands allow you to configure an interface as either a Receiver
194or a interface that you would like to form pim neighbors on. If the interface
195is in a vrf, enter the interface command with the vrf keyword at the end.
196
d7a5bc62
DS
197.. clicmd:: ip pim active-active
198
199 Turn on pim active-active configuration for a Vxlan interface. This
200 command will not do anything if you do not have the underlying ability
201 of a mlag implementation.
202
6b5062cd 203.. clicmd:: ip pim bsm
204
205 Tell pim that we would like to use this interface to process bootstrap
206 messages. This is enabled by default. 'no' form of this command is used to
207 restrict bsm messages on this interface.
208
6b5062cd 209.. clicmd:: ip pim unicast-bsm
210
211 Tell pim that we would like to allow interface to process unicast bootstrap
212 messages. This is enabled by default. 'no' form of this command is used to
213 restrict processing of unicast bsm messages on this interface.
214
e3c1296c
QY
215.. clicmd:: ip pim drpriority (1-4294967295)
216
217 Set the DR Priority for the interface. This command is useful to allow the
218 user to influence what node becomes the DR for a lan segment.
219
11ca3587 220.. clicmd:: ip pim hello (1-65535) (1-65535)
e3c1296c
QY
221
222 Set the pim hello and hold interval for a interface.
223
6a40ad3e 224.. clicmd:: ip pim
e3c1296c
QY
225
226 Tell pim that we would like to use this interface to form pim neighbors
a94dd7dd
AR
227 over. Please note that this command does not enable the reception of IGMP
228 reports on the interface. Refer to the next `ip igmp` command for IGMP
229 management.
e3c1296c 230
03750f1e 231.. clicmd:: ip pim use-source A.B.C.D
2d9f0ea7
DS
232
233 If you have multiple addresses configured on a particular interface
234 and would like pim to use a specific source address associated with
235 that interface.
236
650d9013 237.. clicmd:: ip pim passive
238
239 Disable sending and receiving pim control packets on the interface.
240
e3c1296c
QY
241.. clicmd:: ip igmp
242
243 Tell pim to receive IGMP reports and Query on this interface. The default
a94dd7dd 244 version is v3. This command is useful on a LHR.
e3c1296c 245
771ce8ad 246.. clicmd:: ip igmp join A.B.C.D [A.B.C.D]
14916095 247
771ce8ad 248 Join multicast group or source-group on an interface.
14916095 249
11ca3587 250.. clicmd:: ip igmp query-interval (1-65535)
e3c1296c
QY
251
252 Set the IGMP query interval that PIM will use.
253
11ca3587 254.. clicmd:: ip igmp query-max-response-time (1-65535)
e3c1296c
QY
255
256 Set the IGMP query response timeout value. If an report is not returned in
257 the specified time we will assume the S,G or \*,G has timed out.
258
e3c1296c
QY
259.. clicmd:: ip igmp version (2-3)
260
261 Set the IGMP version used on this interface. The default value is 3.
262
56f0bea7 263.. clicmd:: ip multicast boundary oil WORD
e3c1296c
QY
264
265 Set a pim multicast boundary, based upon the WORD prefix-list. If a pim join
d1e7591e 266 or IGMP report is received on this interface and the Group is denied by the
e3c1296c
QY
267 prefix-list, PIM will ignore the join or report.
268
11ca3587 269.. clicmd:: ip igmp last-member-query-count (1-255)
59115451
SP
270
271 Set the IGMP last member query count. The default value is 2. 'no' form of
272 this command is used to to configure back to the default value.
273
11ca3587 274.. clicmd:: ip igmp last-member-query-interval (1-65535)
59115451
SP
275
276 Set the IGMP last member query interval in deciseconds. The default value is
277 10 deciseconds. 'no' form of this command is used to to configure back to the
278 default value.
279
6a40ad3e
JAG
280.. clicmd:: ip mroute INTERFACE A.B.C.D [A.B.C.D]
281
282 Set a static multicast route for a traffic coming on the current interface to
283 be forwarded on the given interface if the traffic matches the group address
284 and optionally the source address.
285
1e31580f
QY
286
287.. seealso::
288
289 :ref:`bfd-pim-peer-config`
290
291
6f015b21 292.. _pim-multicast-rib:
e3c1296c 293
6f015b21
RZ
294PIM Multicast RIB
295=================
e3c1296c
QY
296
297In order to influence Multicast RPF lookup, it is possible to insert
298into zebra routes for the Multicast RIB. These routes are only
299used for RPF lookup and will not be used by zebra for insertion
300into the kernel *or* for normal rib processing. As such it is
301possible to create weird states with these commands. Use with
302caution. Most of the time this will not be necessary.
303
e3c1296c
QY
304.. clicmd:: ip mroute A.B.C.D/M A.B.C.D (1-255)
305
306 Insert into the Multicast Rib Route A.B.C.D/M with specified nexthop. The
307 distance can be specified as well if desired.
308
e3c1296c
QY
309.. clicmd:: ip mroute A.B.C.D/M INTERFACE (1-255)
310
311 Insert into the Multicast Rib Route A.B.C.D/M using the specified INTERFACE.
312 The distance can be specified as well if desired.
313
cba271c7 314.. _msdp-configuration:
1ee47ee7
AMR
315
316Multicast Source Discovery Protocol (MSDP) Configuration
cba271c7 317========================================================
1ee47ee7 318
ccfd681d 319MSDP can be setup in different ways:
1ee47ee7 320
ccfd681d
RZ
321* MSDP meshed-group: where all peers are connected with each other creating
322 a fully meshed network. SAs (source active) messages are not forwarded in
323 this mode because the origin is able to send SAs to all members.
1ee47ee7 324
ccfd681d 325 This setup is commonly used with anycast.
1ee47ee7 326
ccfd681d
RZ
327* MSDP peering: when there is one or more peers that are not fully meshed. SAs
328 may be forwarded depending on the result of filtering and RPF checks.
1ee47ee7 329
ccfd681d 330 This setup is commonly consistent with BGP peerings (for RPF checks).
1ee47ee7 331
ccfd681d
RZ
332* MSDP default peer: there is only one peer and all SAs will be forwarded
333 there.
1ee47ee7 334
ccfd681d 335.. note::
1ee47ee7 336
ccfd681d 337 MSDP default peer and SA filtering is not implemented.
1ee47ee7 338
1ee47ee7 339
ccfd681d
RZ
340Commands available for MSDP:
341
11ca3587 342.. clicmd:: ip msdp timers (1-65535) (1-65535) [(1-65535)]
1f3ae3a6
RZ
343
344 Configure global MSDP timers.
345
11ca3587
CH
346 First value is the keep-alive interval. This configures the interval in
347 seconds between keep-alive messages. The default value is 60 seconds. It
348 should be less than the remote hold time.
1f3ae3a6 349
11ca3587
CH
350 Second value is the hold-time. This configures the interval in seconds before
351 closing a non responding connection. The default value is 75. This value
352 should be greater than the remote keep alive time.
1f3ae3a6
RZ
353
354 Third value is the connection retry interval and it is optional. This
355 configures the interval between connection attempts. The default value
356 is 30 seconds.
ccfd681d
RZ
357
358.. clicmd:: ip msdp mesh-group WORD member A.B.C.D
359
360 Create or update a mesh group to include the specified MSDP peer.
361
362.. clicmd:: ip msdp mesh-group WORD source A.B.C.D
363
364 Create or update a mesh group to set the source address used to connect to
365 peers.
366
367.. clicmd:: ip msdp peer A.B.C.D source A.B.C.D
1ee47ee7 368
ccfd681d 369 Create a regular MSDP session with peer using the specified source address.
1ee47ee7 370
1ee47ee7 371
0efdf0fe 372.. _show-pim-information:
e3c1296c
QY
373
374Show PIM Information
375====================
376
377All PIM show commands are vrf aware and typically allow you to insert a
378specified vrf command if information is desired about a specific vrf. If no
379vrf is specified then the default vrf is assumed. Finally the special keyword
380'all' allows you to look at all vrfs for the command. Naming a vrf 'all' will
381cause great confusion.
382
14916095
MS
383.. clicmd:: show ip igmp interface
384
385 Display IGMP interface information.
386
85c82866 387.. clicmd:: show ip igmp [vrf NAME] join [json]
14916095 388
85c82866 389 Display IGMP static join information for a specific vrf.
5519cabe
PJD
390
391.. index:: show ip igmp [vrf NAME$vrf_name] groups [INTERFACE$ifname [GROUP$grp_str]] [detail] [json$json]
392.. clicmd:: show ip igmp [vrf NAME$vrf_name] groups [INTERFACE$ifname [GROUP$grp_str]] [detail] [json$json]
14916095 393
5519cabe
PJD
394 Display IGMP static join information for all the vrfs present.
395
396.. index:: show ip igmp vrf all groups [GROUP$grp_str] [detail$detail] [json$json]
397.. clicmd:: show ip igmp vrf all groups [GROUP$grp_str] [detail$detail] [json$json]
14916095
MS
398
399 Display IGMP groups information.
400
14916095
MS
401.. clicmd:: show ip igmp groups retransmissions
402
403 Display IGMP group retransmission information.
404
4527b70a 405.. clicmd:: show ip igmp [vrf NAME] sources [json]
14916095
MS
406
407 Display IGMP sources information.
408
14916095
MS
409.. clicmd:: show ip igmp sources retransmissions
410
411 Display IGMP source retransmission information.
412
14916095
MS
413.. clicmd:: show ip igmp statistics
414
415 Display IGMP statistics information.
416
e3c1296c
QY
417.. clicmd:: show ip multicast
418
419 Display various information about the interfaces used in this pim instance.
420
79b50aa5
DS
421.. clicmd:: show ip mroute [vrf NAME] [A.B.C.D [A.B.C.D]] [fill] [json]
422
423 Display information about installed into the kernel S,G mroutes. If
424 one address is specified we assume it is the Group we are interested
425 in displaying data on. If the second address is specified then it is
426 Source Group. The keyword `fill` says to fill in all assumed data
427 for test/data gathering purposes.
e3c1296c 428
922e7544 429.. clicmd:: show ip mroute [vrf NAME] count [json]
e3c1296c
QY
430
431 Display information about installed into the kernel S,G mroutes and in
922e7544 432 addition display data about packet flow for the mroutes for a specific
433 vrf.
e3c1296c 434
922e7544 435.. clicmd:: show ip mroute vrf all count [json]
436
437 Display information about installed into the kernel S,G mroutes and in
438 addition display data about packet flow for the mroutes for all vrfs.
439
922e7544 440.. clicmd:: show ip mroute [vrf NAME] summary [json]
468b6f44
SP
441
442 Display total number of S,G mroutes and number of S,G mroutes installed
922e7544 443 into the kernel for a specific vrf.
444
922e7544 445.. clicmd:: show ip mroute vrf all summary [json]
446
447 Display total number of S,G mroutes and number of S,G mroutes
448 installed into the kernel for all vrfs.
468b6f44 449
1ee47ee7
AMR
450.. clicmd:: show ip msdp mesh-group
451
452 Display the configured mesh-groups, the local address associated with each
453 mesh-group, the peer members included in each mesh-group, and their status.
454
1ee47ee7
AMR
455.. clicmd:: show ip msdp peer
456
457 Display information about the MSDP peers. That includes the peer address,
458 the local address used to establish the connection to the peer, the
459 connection status, and the number of active sources.
460
e3c1296c
QY
461.. clicmd:: show ip pim assert
462
463 Display information about asserts in the PIM system for S,G mroutes.
35e5ef55 464 This command does not show S,G Channel states that in a NOINFO state.
e3c1296c 465
e3c1296c
QY
466.. clicmd:: show ip pim assert-internal
467
468 Display internal assert state for S,G mroutes
469
e3c1296c
QY
470.. clicmd:: show ip pim assert-metric
471
472 Display metric information about assert state for S,G mroutes
473
e3c1296c
QY
474.. clicmd:: show ip pim assert-winner-metric
475
476 Display winner metric for assert state for S,G mroutes
477
e3c1296c
QY
478.. clicmd:: show ip pim group-type
479
480 Display SSM group ranges.
481
e3c1296c
QY
482.. clicmd:: show ip pim interface
483
484 Display information about interfaces PIM is using.
485
d7a5bc62
DS
486.. clicmd:: show ip pim mlag [vrf NAME|all] interface [detail|WORD] [json]
487
488 Display mlag interface information.
489
e3c1296c
QY
490.. clicmd:: show ip pim join
491
ca02cf8d
DS
492 Display information about PIM joins received. If one address is specified
493 then we assume it is the Group we are interested in displaying data on.
494 If the second address is specified then it is Source Group.
e3c1296c 495
e3c1296c
QY
496.. clicmd:: show ip pim local-membership
497
498 Display information about PIM interface local-membership.
499
d7a5bc62
DS
500.. clicmd:: show ip pim mlag summary [json]
501
502 Display mlag information state that PIM is keeping track of.
503
e3c1296c
QY
504.. clicmd:: show ip pim neighbor
505
506 Display information about PIM neighbors.
507
e3c1296c
QY
508.. clicmd:: show ip pim nexthop
509
510 Display information about pim nexthops that are being used.
511
e3c1296c
QY
512.. clicmd:: show ip pim nexthop-lookup
513
d1e7591e 514 Display information about a S,G pair and how the RPF would be chosen. This
e3c1296c
QY
515 is especially useful if there are ECMP's available from the RPF lookup.
516
8c0a7680 517.. clicmd:: show ip pim [vrf NAME] rp-info [A.B.C.D/M] [json]
e3c1296c
QY
518
519 Display information about RP's that are configured on this router.
520
c07ddc36
DA
521 You can filter the output by specifying an arbitrary group range.
522
523 .. code-block:: frr
524
525 # show ip pim rp-info
526 RP address group/prefix-list OIF I am RP Source Group-Type
527 192.168.10.123 225.0.0.0/24 eth2 yes Static ASM
528 192.168.10.123 239.0.0.0/8 eth2 yes Static ASM
529 192.168.10.123 239.4.0.0/24 eth2 yes Static SSM
530
531 # show ip pim rp-info 239.4.0.0/25
532 RP address group/prefix-list OIF I am RP Source Group-Type
533 192.168.10.123 239.0.0.0/8 eth2 yes Static ASM
534 192.168.10.123 239.4.0.0/24 eth2 yes Static SSM
8c0a7680 535
e3c1296c
QY
536.. clicmd:: show ip pim rpf
537
538 Display information about currently being used S,G's and their RPF lookup
539 information. Additionally display some statistics about what has been
540 happening on the router.
541
e3c1296c
QY
542.. clicmd:: show ip pim secondary
543
544 Display information about an interface and all the secondary addresses
545 associated with it.
546
e3c1296c
QY
547.. clicmd:: show ip pim state
548
549 Display information about known S,G's and incoming interface as well as the
d1e7591e 550 OIL and how they were chosen.
e3c1296c 551
a874b986 552.. clicmd:: show ip pim [vrf NAME] upstream [A.B.C.D [A.B.C.D]] [json]
e3c1296c 553
ca02cf8d
DS
554 Display upstream information about a S,G mroute. Allow the user to
555 specify sub Source and Groups that we are only interested in.
e3c1296c 556
e3c1296c
QY
557.. clicmd:: show ip pim upstream-join-desired
558
d1e7591e
QY
559 Display upstream information for S,G's and if we desire to
560 join the multicast tree
e3c1296c 561
e3c1296c
QY
562.. clicmd:: show ip pim upstream-rpf
563
564 Display upstream information for S,G's and the RPF data associated with them.
565
a874b986 566.. clicmd:: show ip pim [vrf NAME] mlag upstream [A.B.C.D [A.B.C.D]] [json]
f80427e9
AK
567
568 Display upstream entries that are synced across MLAG switches.
569 Allow the user to specify sub Source and Groups address filters.
570
f80427e9
AK
571.. clicmd:: show ip pim mlag summary
572
573 Display PIM MLAG (multi-chassis link aggregation) session status and
574 control message statistics.
575
6b5062cd 576.. clicmd:: show ip pim bsr
577
578 Display current bsr, its uptime and last received bsm age.
579
6b5062cd 580.. clicmd:: show ip pim bsrp-info
581
582 Display group-to-rp mappings received from E-BSR.
583
6b5062cd 584.. clicmd:: show ip pim bsm-database
585
44374226 586 Display all fragments of stored bootstrap message in user readable format.
6b5062cd 587
f93128c1 588.. clicmd:: mtrace A.B.C.D [A.B.C.D]
14916095 589
f93128c1 590 Display multicast traceroute towards source, optionally for particular group.
14916095 591
8c8d7031
SP
592.. clicmd:: show ip multicast count [vrf NAME] [json]
593
594 Display multicast data packets count per interface for a vrf.
595
8c8d7031
SP
596.. clicmd:: show ip multicast count vrf all [json]
597
598 Display multicast data packets count per interface for all vrf.
599
1e31580f
QY
600
601.. seealso::
602
603 :ref:`multicast-rib-commands`
604
605
e3c1296c
QY
606PIM Debug Commands
607==================
608
609The debugging subsystem for PIM behaves in accordance with how FRR handles
d1e7591e
QY
610debugging. You can specify debugging at the enable CLI mode as well as the
611configure CLI mode. If you specify debug commands in the configuration cli
e3c1296c
QY
612mode, the debug commands can be persistent across restarts of the FRR pimd if
613the config was written out.
614
14916095
MS
615.. clicmd:: debug igmp
616
617 This turns on debugging for IGMP protocol activity.
618
14916095
MS
619.. clicmd:: debug mtrace
620
621 This turns on debugging for mtrace protocol activity.
622
14916095
MS
623.. clicmd:: debug mroute
624
625 This turns on debugging for PIM interaction with kernel MFC cache.
626
e3c1296c
QY
627.. clicmd:: debug pim events
628
629 This turns on debugging for PIM system events. Especially timers.
630
e3c1296c
QY
631.. clicmd:: debug pim nht
632
633 This turns on debugging for PIM nexthop tracking. It will display
634 information about RPF lookups and information about when a nexthop changes.
635
6d733f0d
SG
636.. clicmd:: debug pim nht detail
637
638 This turns on debugging for PIM nexthop in detail. This is not enabled
639 by default.
640
e3c1296c
QY
641.. clicmd:: debug pim packet-dump
642
643 This turns on an extraordinary amount of data. Each pim packet sent and
644 received is dumped for debugging purposes. This should be considered a
645 developer only command.
646
e3c1296c
QY
647.. clicmd:: debug pim packets
648
649 This turns on information about packet generation for sending and about
650 packet handling from a received packet.
651
e3c1296c
QY
652.. clicmd:: debug pim trace
653
654 This traces pim code and how it is running.
655
6b5062cd 656.. clicmd:: debug pim bsm
657
658 This turns on debugging for BSR message processing.
659
e3c1296c
QY
660.. clicmd:: debug pim zebra
661
d1e7591e 662 This gathers data about events from zebra that come up through the ZAPI.
14916095
MS
663
664PIM Clear Commands
665==================
666Clear commands reset various variables.
667
14916095
MS
668.. clicmd:: clear ip interfaces
669
670 Reset interfaces.
671
14916095
MS
672.. clicmd:: clear ip igmp interfaces
673
674 Reset IGMP interfaces.
675
14916095
MS
676.. clicmd:: clear ip mroute
677
678 Reset multicast routes.
679
92e4285c
DS
680.. clicmd:: clear ip mroute [vrf NAME] count
681
682 When this command is issued, reset the counts of data shown for
683 packet count, byte count and wrong interface to 0 and start count
684 up from this spot.
685
14916095
MS
686.. clicmd:: clear ip pim interfaces
687
688 Reset PIM interfaces.
689
14916095
MS
690.. clicmd:: clear ip pim oil
691
692 Rescan PIM OIL (output interface list).
745fc7a5 693
e7016ceb 694.. clicmd:: clear ip pim [vrf NAME] bsr-data
695
696 This command will clear the BSM scope data struct. This command also
697 removes the next hop tracking for the bsr and resets the upstreams
698 for the dynamically learnt RPs.
699
745fc7a5
AK
700PIM EVPN configuration
701======================
e7a664c1
QY
702To use PIM in the underlay for overlay BUM forwarding associate a multicast
703group with the L2 VNI. The actual configuration is based on your distribution.
704Here is an ifupdown2 example::
e2b5880e
DS
705
706 auto vx-10100
707 iface vx-10100
e7a664c1
QY
708 vxlan-id 10100
709 bridge-access 100
710 vxlan-local-tunnelip 27.0.0.11
711 vxlan-mcastgrp 239.1.1.100
e2b5880e
DS
712
713.. note::
714
e7a664c1
QY
715 PIM will see the ``vxlan-mcastgrp`` configuration and auto configure state
716 to properly forward BUM traffic.
e2b5880e 717
e7a664c1
QY
718PIM also needs to be configured in the underlay to allow the BUM MDT to be
719setup. This is existing PIM configuration:
745fc7a5 720
745fc7a5
AK
721- Enable pim on the underlay L3 interface via the "ip pim" command.
722- Configure RPs for the BUM multicast group range.
723- Ensure the PIM is enabled on the lo of the VTEPs and the RP.
b832909b
QY
724
725
726Sample configuration
727====================
728
729.. code-block:: frr
730
731 debug igmp
732 debug pim
733 debug pim zebra
734
735 ! You may want to enable ssmpingd for troubleshooting
736 ! See http://www.venaas.no/multicast/ssmping/
737 !
738 ip ssmpingd 1.1.1.1
739 ip ssmpingd 2.2.2.2
740
741 ! HINTS:
742 ! - Enable "ip pim ssm" on the interface directly attached to the
743 ! multicast source host (if this is the first-hop router)
744 ! - Enable "ip pim ssm" on pim-routers-facing interfaces
745 ! - Enable "ip igmp" on IGMPv3-hosts-facing interfaces
746 ! - In order to inject IGMPv3 local membership information in the
747 ! PIM protocol state, enable both "ip pim ssm" and "ip igmp" on
748 ! the same interface; otherwise PIM won't advertise
749 ! IGMPv3-learned membership to other PIM routers
750
751 interface eth0
752 ip pim ssm
753 ip igmp
754