]> git.proxmox.com Git - mirror_frr.git/blame - doc/user/pim.rst
Merge pull request #12578 from Pdoijode/evpn-mac-vni-det
[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
43 kill `cat /var/run/pimd.pid`
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.
390 If "vrf all" is provided, it displays information for all the vrfs present.
14916095 391
14916095
MS
392.. clicmd:: show ip igmp groups
393
394 Display IGMP groups information.
395
14916095
MS
396.. clicmd:: show ip igmp groups retransmissions
397
398 Display IGMP group retransmission information.
399
4527b70a 400.. clicmd:: show ip igmp [vrf NAME] sources [json]
14916095
MS
401
402 Display IGMP sources information.
403
14916095
MS
404.. clicmd:: show ip igmp sources retransmissions
405
406 Display IGMP source retransmission information.
407
14916095
MS
408.. clicmd:: show ip igmp statistics
409
410 Display IGMP statistics information.
411
e3c1296c
QY
412.. clicmd:: show ip multicast
413
414 Display various information about the interfaces used in this pim instance.
415
79b50aa5
DS
416.. clicmd:: show ip mroute [vrf NAME] [A.B.C.D [A.B.C.D]] [fill] [json]
417
418 Display information about installed into the kernel S,G mroutes. If
419 one address is specified we assume it is the Group we are interested
420 in displaying data on. If the second address is specified then it is
421 Source Group. The keyword `fill` says to fill in all assumed data
422 for test/data gathering purposes.
e3c1296c 423
922e7544 424.. clicmd:: show ip mroute [vrf NAME] count [json]
e3c1296c
QY
425
426 Display information about installed into the kernel S,G mroutes and in
922e7544 427 addition display data about packet flow for the mroutes for a specific
428 vrf.
e3c1296c 429
922e7544 430.. clicmd:: show ip mroute vrf all count [json]
431
432 Display information about installed into the kernel S,G mroutes and in
433 addition display data about packet flow for the mroutes for all vrfs.
434
922e7544 435.. clicmd:: show ip mroute [vrf NAME] summary [json]
468b6f44
SP
436
437 Display total number of S,G mroutes and number of S,G mroutes installed
922e7544 438 into the kernel for a specific vrf.
439
922e7544 440.. clicmd:: show ip mroute vrf all summary [json]
441
442 Display total number of S,G mroutes and number of S,G mroutes
443 installed into the kernel for all vrfs.
468b6f44 444
1ee47ee7
AMR
445.. clicmd:: show ip msdp mesh-group
446
447 Display the configured mesh-groups, the local address associated with each
448 mesh-group, the peer members included in each mesh-group, and their status.
449
1ee47ee7
AMR
450.. clicmd:: show ip msdp peer
451
452 Display information about the MSDP peers. That includes the peer address,
453 the local address used to establish the connection to the peer, the
454 connection status, and the number of active sources.
455
e3c1296c
QY
456.. clicmd:: show ip pim assert
457
458 Display information about asserts in the PIM system for S,G mroutes.
35e5ef55 459 This command does not show S,G Channel states that in a NOINFO state.
e3c1296c 460
e3c1296c
QY
461.. clicmd:: show ip pim assert-internal
462
463 Display internal assert state for S,G mroutes
464
e3c1296c
QY
465.. clicmd:: show ip pim assert-metric
466
467 Display metric information about assert state for S,G mroutes
468
e3c1296c
QY
469.. clicmd:: show ip pim assert-winner-metric
470
471 Display winner metric for assert state for S,G mroutes
472
e3c1296c
QY
473.. clicmd:: show ip pim group-type
474
475 Display SSM group ranges.
476
e3c1296c
QY
477.. clicmd:: show ip pim interface
478
479 Display information about interfaces PIM is using.
480
d7a5bc62
DS
481.. clicmd:: show ip pim mlag [vrf NAME|all] interface [detail|WORD] [json]
482
483 Display mlag interface information.
484
e3c1296c
QY
485.. clicmd:: show ip pim join
486
ca02cf8d
DS
487 Display information about PIM joins received. If one address is specified
488 then we assume it is the Group we are interested in displaying data on.
489 If the second address is specified then it is Source Group.
e3c1296c 490
e3c1296c
QY
491.. clicmd:: show ip pim local-membership
492
493 Display information about PIM interface local-membership.
494
d7a5bc62
DS
495.. clicmd:: show ip pim mlag summary [json]
496
497 Display mlag information state that PIM is keeping track of.
498
e3c1296c
QY
499.. clicmd:: show ip pim neighbor
500
501 Display information about PIM neighbors.
502
e3c1296c
QY
503.. clicmd:: show ip pim nexthop
504
505 Display information about pim nexthops that are being used.
506
e3c1296c
QY
507.. clicmd:: show ip pim nexthop-lookup
508
d1e7591e 509 Display information about a S,G pair and how the RPF would be chosen. This
e3c1296c
QY
510 is especially useful if there are ECMP's available from the RPF lookup.
511
8c0a7680 512.. clicmd:: show ip pim [vrf NAME] rp-info [A.B.C.D/M] [json]
e3c1296c
QY
513
514 Display information about RP's that are configured on this router.
515
c07ddc36
DA
516 You can filter the output by specifying an arbitrary group range.
517
518 .. code-block:: frr
519
520 # show ip pim rp-info
521 RP address group/prefix-list OIF I am RP Source Group-Type
522 192.168.10.123 225.0.0.0/24 eth2 yes Static ASM
523 192.168.10.123 239.0.0.0/8 eth2 yes Static ASM
524 192.168.10.123 239.4.0.0/24 eth2 yes Static SSM
525
526 # show ip pim rp-info 239.4.0.0/25
527 RP address group/prefix-list OIF I am RP Source Group-Type
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
8c0a7680 530
e3c1296c
QY
531.. clicmd:: show ip pim rpf
532
533 Display information about currently being used S,G's and their RPF lookup
534 information. Additionally display some statistics about what has been
535 happening on the router.
536
e3c1296c
QY
537.. clicmd:: show ip pim secondary
538
539 Display information about an interface and all the secondary addresses
540 associated with it.
541
e3c1296c
QY
542.. clicmd:: show ip pim state
543
544 Display information about known S,G's and incoming interface as well as the
d1e7591e 545 OIL and how they were chosen.
e3c1296c 546
a874b986 547.. clicmd:: show ip pim [vrf NAME] upstream [A.B.C.D [A.B.C.D]] [json]
e3c1296c 548
ca02cf8d
DS
549 Display upstream information about a S,G mroute. Allow the user to
550 specify sub Source and Groups that we are only interested in.
e3c1296c 551
e3c1296c
QY
552.. clicmd:: show ip pim upstream-join-desired
553
d1e7591e
QY
554 Display upstream information for S,G's and if we desire to
555 join the multicast tree
e3c1296c 556
e3c1296c
QY
557.. clicmd:: show ip pim upstream-rpf
558
559 Display upstream information for S,G's and the RPF data associated with them.
560
a874b986 561.. clicmd:: show ip pim [vrf NAME] mlag upstream [A.B.C.D [A.B.C.D]] [json]
f80427e9
AK
562
563 Display upstream entries that are synced across MLAG switches.
564 Allow the user to specify sub Source and Groups address filters.
565
f80427e9
AK
566.. clicmd:: show ip pim mlag summary
567
568 Display PIM MLAG (multi-chassis link aggregation) session status and
569 control message statistics.
570
6b5062cd 571.. clicmd:: show ip pim bsr
572
573 Display current bsr, its uptime and last received bsm age.
574
6b5062cd 575.. clicmd:: show ip pim bsrp-info
576
577 Display group-to-rp mappings received from E-BSR.
578
6b5062cd 579.. clicmd:: show ip pim bsm-database
580
44374226 581 Display all fragments of stored bootstrap message in user readable format.
6b5062cd 582
f93128c1 583.. clicmd:: mtrace A.B.C.D [A.B.C.D]
14916095 584
f93128c1 585 Display multicast traceroute towards source, optionally for particular group.
14916095 586
8c8d7031
SP
587.. clicmd:: show ip multicast count [vrf NAME] [json]
588
589 Display multicast data packets count per interface for a vrf.
590
8c8d7031
SP
591.. clicmd:: show ip multicast count vrf all [json]
592
593 Display multicast data packets count per interface for all vrf.
594
1e31580f
QY
595
596.. seealso::
597
598 :ref:`multicast-rib-commands`
599
600
e3c1296c
QY
601PIM Debug Commands
602==================
603
604The debugging subsystem for PIM behaves in accordance with how FRR handles
d1e7591e
QY
605debugging. You can specify debugging at the enable CLI mode as well as the
606configure CLI mode. If you specify debug commands in the configuration cli
e3c1296c
QY
607mode, the debug commands can be persistent across restarts of the FRR pimd if
608the config was written out.
609
14916095
MS
610.. clicmd:: debug igmp
611
612 This turns on debugging for IGMP protocol activity.
613
14916095
MS
614.. clicmd:: debug mtrace
615
616 This turns on debugging for mtrace protocol activity.
617
14916095
MS
618.. clicmd:: debug mroute
619
620 This turns on debugging for PIM interaction with kernel MFC cache.
621
e3c1296c
QY
622.. clicmd:: debug pim events
623
624 This turns on debugging for PIM system events. Especially timers.
625
e3c1296c
QY
626.. clicmd:: debug pim nht
627
628 This turns on debugging for PIM nexthop tracking. It will display
629 information about RPF lookups and information about when a nexthop changes.
630
6d733f0d
SG
631.. clicmd:: debug pim nht detail
632
633 This turns on debugging for PIM nexthop in detail. This is not enabled
634 by default.
635
e3c1296c
QY
636.. clicmd:: debug pim packet-dump
637
638 This turns on an extraordinary amount of data. Each pim packet sent and
639 received is dumped for debugging purposes. This should be considered a
640 developer only command.
641
e3c1296c
QY
642.. clicmd:: debug pim packets
643
644 This turns on information about packet generation for sending and about
645 packet handling from a received packet.
646
e3c1296c
QY
647.. clicmd:: debug pim trace
648
649 This traces pim code and how it is running.
650
6b5062cd 651.. clicmd:: debug pim bsm
652
653 This turns on debugging for BSR message processing.
654
e3c1296c
QY
655.. clicmd:: debug pim zebra
656
d1e7591e 657 This gathers data about events from zebra that come up through the ZAPI.
14916095
MS
658
659PIM Clear Commands
660==================
661Clear commands reset various variables.
662
14916095
MS
663.. clicmd:: clear ip interfaces
664
665 Reset interfaces.
666
14916095
MS
667.. clicmd:: clear ip igmp interfaces
668
669 Reset IGMP interfaces.
670
14916095
MS
671.. clicmd:: clear ip mroute
672
673 Reset multicast routes.
674
92e4285c
DS
675.. clicmd:: clear ip mroute [vrf NAME] count
676
677 When this command is issued, reset the counts of data shown for
678 packet count, byte count and wrong interface to 0 and start count
679 up from this spot.
680
14916095
MS
681.. clicmd:: clear ip pim interfaces
682
683 Reset PIM interfaces.
684
14916095
MS
685.. clicmd:: clear ip pim oil
686
687 Rescan PIM OIL (output interface list).
745fc7a5 688
e7016ceb 689.. clicmd:: clear ip pim [vrf NAME] bsr-data
690
691 This command will clear the BSM scope data struct. This command also
692 removes the next hop tracking for the bsr and resets the upstreams
693 for the dynamically learnt RPs.
694
745fc7a5
AK
695PIM EVPN configuration
696======================
e7a664c1
QY
697To use PIM in the underlay for overlay BUM forwarding associate a multicast
698group with the L2 VNI. The actual configuration is based on your distribution.
699Here is an ifupdown2 example::
e2b5880e
DS
700
701 auto vx-10100
702 iface vx-10100
e7a664c1
QY
703 vxlan-id 10100
704 bridge-access 100
705 vxlan-local-tunnelip 27.0.0.11
706 vxlan-mcastgrp 239.1.1.100
e2b5880e
DS
707
708.. note::
709
e7a664c1
QY
710 PIM will see the ``vxlan-mcastgrp`` configuration and auto configure state
711 to properly forward BUM traffic.
e2b5880e 712
e7a664c1
QY
713PIM also needs to be configured in the underlay to allow the BUM MDT to be
714setup. This is existing PIM configuration:
745fc7a5 715
745fc7a5
AK
716- Enable pim on the underlay L3 interface via the "ip pim" command.
717- Configure RPs for the BUM multicast group range.
718- Ensure the PIM is enabled on the lo of the VTEPs and the RP.
b832909b
QY
719
720
721Sample configuration
722====================
723
724.. code-block:: frr
725
726 debug igmp
727 debug pim
728 debug pim zebra
729
730 ! You may want to enable ssmpingd for troubleshooting
731 ! See http://www.venaas.no/multicast/ssmping/
732 !
733 ip ssmpingd 1.1.1.1
734 ip ssmpingd 2.2.2.2
735
736 ! HINTS:
737 ! - Enable "ip pim ssm" on the interface directly attached to the
738 ! multicast source host (if this is the first-hop router)
739 ! - Enable "ip pim ssm" on pim-routers-facing interfaces
740 ! - Enable "ip igmp" on IGMPv3-hosts-facing interfaces
741 ! - In order to inject IGMPv3 local membership information in the
742 ! PIM protocol state, enable both "ip pim ssm" and "ip igmp" on
743 ! the same interface; otherwise PIM won't advertise
744 ! IGMPv3-learned membership to other PIM routers
745
746 interface eth0
747 ip pim ssm
748 ip igmp
749