Multicast Auto-RP Mapping Agent behind Spoke

Multicast itself can be tricky enough, but the real fun starts when you try to run it over a network like frame-relay. One of the scenarios you can encounter is having a mapping agent behind one of the spokes. You will discover that only the hub router will receive the auto-rp information from the mapping agent, not the other spokes. Let me show you an example of what will go wrong and how to fix it. This is the topology we’ll be using:

Multicast Hub and Spoke

Above, you see a frame-relay network with a hub (R1) and two spokes (R2 and R3). This network has been configured as frame-relay point-to-multipoint. Our routers will believe that we have full reachability, but in reality, there are only two PVCs, this is a classical hub and spoke topology. Each router has a loopback0 interface which is advertised in OSPF for reachability.

R1 will be configured as our RP (Rendezvous Point), and R2 will be our mapping agent. In this scenario, you will see that R3 will never receive the information from the mapping agent and won’t learn that R1 is the RP. Here is our configuration:

R1(config)#ip multicast-routing 
R2(config)#ip multicast-routing 
R3(config)#ip multicast-routing 

First of all, we will enable multicast routing on all routers, if you forget, this multicast won’t work at all…

Since I am using some loopback interfaces, we’ll need some routing. I will use EIGRP to advertise all interfaces:

R1(config)#router eigrp 1
R1(config-router)#no auto-summary 
R1(config-router)#network 192.168.123.0
R1(config-router)#network 1.0.0.0
R2(config)#router eigrp 1
R2(config-router)#no auto-summary
R2(config-router)#network 2.0.0.0
R2(config-router)#network 192.168.123.0
R3(config)#router eigrp 1
R3(config-router)#no auto-summary 
R3(config-router)#network 192.168.123.0
R3(config-router)#network 3.0.0.0
R1(config)#interface serial 0/0
R1(config-if)#ip pim sparse-dense-mode 
R2(config)#interface serial 0/0
R2(config-if)#ip pim sparse-dense-mode 
R3(config)#interface serial 0/0
R3(config-if)#ip pim sparse-dense-mode 

On all routers, we will enable sparse-dense mode. This means that we will use sparse mode if possible, if there is no RP, we will use dense mode. This means multicast groups 224.1.0.39 and 224.1.0.40 will be forwarded with dense mode. Remember that mapping agents use 224.1.0.40 to forward the RP-to-group information to other routers.

R1#show ip pim neighbor 
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      S - State Refresh Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
192.168.123.3     Serial0/0                00:02:10/00:01:32 v2    1 / DR S
192.168.123.2     Serial0/0                00:02:16/00:01:28 v2    1 / S

A quick check doesn’t hurt…on R1, we can see that R2 and R3 are PIM neighbors. Let’s configure R1 as a rendezvous point:

R1(config)#interface loopback 0
R1(config-if)#ip pim sparse-dense-mode 
R1(config)#ip pim send-rp-announce loopback 0 scope 10

I will use the loopback0 interface as the source IP address for the RP. Here you can see that R1 is a working RP:

R1#show ip pim rp mapping 
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)

Now let’s configure that mapping agent on R2:

R2(config)#interface loopback 0
R2(config-if)#ip pim sparse-dense-mode
R2(config)#ip pim send-rp-discovery loopback 0 scope 10

I will configure the loopback0 interface to use for the mapping agent. Let’s verify our work:

R2#show ip pim rp mapping 
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/4
  RP 1.1.1.1 (?), v2v1
    Info source: 1.1.1.1 (?), elected via Auto-RP
         Uptime: 00:00:17, expires: 00:02:41

This is looking good. R2 is the mapping agent, and it has discovered R1 as a rendezvous point. Let’s take a look at the multicast routing table:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You’ve Ever Spent on Your Cisco Career!
  • Full Access to our 799 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

578 Sign Ups in the last 30 days

satisfaction-guaranteed
100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!

Forum Replies

  1. Thanks for that interesting lesson.

    I have some simple questions :

    **-1-**

    For fixing the issue by the “sub-interfaces” solution ; I guess, there will create 2 sub-interfaces (one for each PVC) ? I guess also that the 2 sub-interfaces will be configured with 2 different subnets ? According to my understanding of split-horizon ; 1 (only 1) sub-interface on R1 will have the same point-to-multipoint issue as the physical interface ?

    **-2-**

    I do not understand how the tunnel between R2 and R3 could work, if there’s no PVC between the two routers and there is nothi

    ... Continue reading in our forum

  2. We have a split horizon issue here since with the physical point-to-multipoint interface, there is only one interface. With sub-interfaces, you would have two logical interfaces on the hub router. This does mean that you have a different subnet for each PVC yes. You won’t have any split horizon issues anymore since the hub uses a different logical interface for each spoke router.

    I see I didn’t include the unicast routing configuration in this lesson, that’s something I will fix. The tunnel uses the 2.2.2.2 and 3.3.3.3 addresses but those have to be known on bo

    ... Continue reading in our forum

  3. could disabling spit horizon on the tunnel be a solution as well?

  4. I configured this up and I never could get auto-rp information to go to the 2nd spoke even when split horizon was disabled on the hub router. Therefore, it seems the only way that multicast will forward multicast traffic is if the OIL is different than the ingress interface

    test topology
    spoke #1>hub>spoke #2

    Note: I configured spoke #1 as both the RP and MA as an experiment and I configured an igmp-join on spoke #2 to see what would happen if I disabled split-horizon on the hub. when sourcing from spoke #1 going to the mcast address traffic never made it.

  5. Hi Roland,

    The split-horizon command only applies to distance vector routing protocols (RIP and EIGRP), not to multicast. You can configure the interface to forward multicast traffic that you received on that interface with the NBMA mode:

    https://networklessons.com/multicast/multicast-pim-nbma-mode/

    However, I don’t think that works for AutoRP traffic. If you have the RP and MA on one spoke, then probably the only way to make it work is either by tunneling or using sub-interfaces.

    Rene

5 more replies! Ask a question or join the discussion by visiting our Community Forum