After reading several forums with people arguing about what routers should be configured with the "ip pim autorp listener" command, I have decided to write this post explaining things in my own way (of course, with a lot of pictures, as usual).
Before starting, just a few words about Auto-RP: it's a legacy Cisco proprietary method for selecting the RP that uses two functional roles: the Candidate RPs (C-RP) and the Mapping Agent (MA).

Candidate RPs (C-RP):

  • routers willing to be RP
  • announce themselves to the MA via 224.0.1.39

Mapping Agent (MA):

  • decide who will be the RP from the Candidates RP
  • will inform the rest of the network about the elected RP via 224.0.1.40

Auto-RP uses, in fact, a DENSE mode fashion for distributing the announces and discoveries. For this:

  • MA must listen for 224.0.1.39
  • all multicast speaking routers must listen for 224.0.1.40

Let's see how all works. Consider a topology with 4 routers connected in a daisy-chain fashion: R1 <--> R2 <--> R3 <--> R4.

Step 1

Configuring "ip pim sparse-mode" on all 4 routers will automatically install a (*,224.0.1.40) on all of them ( at least in IOS 12.4 - not tested in other IOSes !!! )

ip pim sparse-mode

Step 2

Configure R1 to be a Candidate-RP: "ip pim send-rp-announce Lo 0"

=> R1 announce itself as candidate RP via 224.0.1.39 in a DENSE-mode fashion (to all its neighbors):

ip pim send-rp-announce

OBSERVATION

R2 will not forward these announcements !!

Step 3

Configure R2 to be a Mapping Agent: "ip pim send-rp-discovery Lo 0"

  • => R2 selects the RP from all the candidates (in our case only R1)
  • => R2 informs everybody about the selected RP via 224.0.1.40 in a DENSE-mode fashion
  • => R2 also forwards the announcements that it received from R1 (via 224.0.1.39) !! - this is because there may be redundant MAs in the network

ip pim send-rp-discovery

OBSERVATION

R3 will not forward these announcements !!

Step 4

Configure R3 to be a redundant Mapping Agent: "ip pim send-rp-discovery Lo 0"

  • => R3 receives the announcements sent by R1 (because it happens to be neighbor with the MA-1, R2, that forwards them)
  • => R3 selects R1 as RP
  • => R3 informs everybody about the selected RP via 224.0.1.40 in a DENSE-mode fashion
  • => same as R2, also R3 forwards the announcements that it received from R1 (via 224.0.1.39) !!

ip pim send-rp-discovery-ma

At this moment, all 4 routers know the RP via Auto-RP with the following observations:

  • R1 sees the source of info as being 2.2.2.2 (R2 = MA)
  • R2 sees the source of info as being 1.1.1.1 (R1 = C-RP)
  • R3 sees the source of info as being 1.1.1.1 (R1 = C-RP)
  • R4 sees the source of info as being 3.3.3.3 (R3 = redundant MA)
Important to remember
I did not use the "ip pim autorp listener" command on any of the 4 routers !!!
I only took advantage of the fact that the C-RPs and MAs are directly connected to all other routers and they forward the information for 224.0.1.39 & 224.0.1.40 in a DENSE fashion.

If a 5th router had been connected to R4, then in order for R5 to receive the Auto-RP messages we would have needed to configure "ip pim autorp listener" on R4 !

Conclusion: ip pim autorp listener" is not needed on routers that are adjacent to the MA !

Recommendation: against above conclusion, use this command on all PIM routers running Auto-RP to avoid any headackes, especially during CCIE lab exam!