Multicast PIM Dense Mode

This topic is to discuss the following lesson:

Hello Rene,

The explanation under the r1#show ip mroute
“R1 has been receiving this traffic for one minute and 16 seconds.” I think R1 has been sending the information out gi0/1

"R1 is forwarding traffic on its Gi0/1 interface that is connected to R1. " I think there is a typo, R1 is connected on its gi0/1 to R2

Hi Jose,

That’s correct, I just fixed this. Thanks for letting me know!


What ios you are using for H1 ,H2 and routers ?

Hi Sims,

I believe I used Cisco VIRL for this with the latest IOSv image:

R1#show version 
Cisco IOS Software, IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.6(2)T, RELEASE SOFTWARE (fc2)


Just to let you know, if your image is a layer 3 device, then for the config to work as Rene has put it, with default-gateway, you need to “no ip routing”.
Otherwise, just do a default route.

Usually the method used in the lab is for Layer 2 devices.

That’s right, it’s either this:

R1(config)#ip route

Or this:

R1(config)#no ip routing
R1(config)#ip default-gateway

The ip default-gateway command doesn’t do anything until routing is disabled.

“We’ll discuss sparse-dense mode in another lesson”

Did you create a lesson yet for this?

Hi Chris,

I see I never added it, will try to do so soon.

Hi Rene, Thanks for briefing us on dense mode, graft message, etc.

I dont see graft v2 msg while doing the same lab while connect H3 to igmp group

Is it because any specific reason?

PIM debugging is on
*Jul 28 05:39:47.672: PIM(0): Building Graft message for, Eth                                                               ernet0/0: no entries
*Jul 28 05:39:47.672: PIM(0): Building Graft message for, Eth                                                               ernet0/3: no entries
*Jul 28 05:39:47.672: PIM(0): Building Graft message for, Eth                                                               ernet0/2: no entries
*Jul 28 05:40:41.660: PIM(0): Received v2 Assert on Ethernet0/2 from 19                                                     
*Jul 28 05:40:41.660: PIM(0): Assert metric to source is [1                                                               10/20]
*Jul 28 05:40:41.660: PIM(0): We win, our metric [110/20]
*Jul 28 05:40:41.660: PIM(0): Schedule to prune Ethernet0/2
*Jul 28 05:40:41.660: PIM(0): (, oif Ethernet0                                                               /2 in Forward state
*Jul 28 05:40:41.660: PIM(0): Send v2 Assert on Ethernet0/2 for 239.1.1                                                               .1, source, metric [110/20]
*Jul 28 05:40:41.661: PIM(0): Assert metric to source is [1                                                               10/20]
*Jul 28 05:40:41.661: PIM(0): We win, our metric [110/20]
*Jul 28 05:40:41.661: PIM(0): (, oif Ethernet0                                                               /2 in Forward state
*Jul 28 05:40:41.661: PIM(0): Received v2 Join/Prune on Ethernet0/2 fro                                                               m, to us
*Jul 28 05:40:41.661: PIM(0): Prune-list: (,
*Jul 28 05:40:41.661: PIM(0): Prune Ethernet0/2/ from (192.168                                                               .1.1/32,

Hi Vinod,

In your output I see it is building the graft message but it doesn’t show anything about sending/receiving it.

Couple of things to check:

  • R1 and R3 are PIM neighbors?
  • Is the interface between R1-R3 currently pruned?
  • Does R1 show anything in its debugs?
  • Try a packet capture between R1-R3 to check if you see any graft messages.


Hi Rane,
I could see PIM neibhorship is up but not showing port in Outgoing interface list. What could be reason and how to troubleshoot it.

R1#sh ip pim interface

Address          Interface                Ver/   Nbr    Query  DR     DR
                                          Mode   Count  Intvl  Prior    Ethernet0/0              v2/S   0      30     1     Ethernet0/1              v2/S   1      30     1     Ethernet0/3              v2/S   1      30     1
R1#sh ip mro
R1#sh ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group,
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*,, 00:40:15/00:02:53, RP, flags: DCL
  Incoming interface: Null, RPF nbr
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:40:13/00:02:53



I would like to clear my doubt .

When multicast traffic hits on R1 and R2 these routers create (,g) entry in their multicast routing table along with s,g entry .Could you tell me why (,g) is required for this communication ?

I am not able to understand why these routers created this entry .

Hello Ratheesh

In the lesson shown, there is a (*, entry that appears in the multicast routing table. This appears only after H2 has had the ip igmp join-group command applied. This means that an entry has been created in the multicast routing table because of the join request coming from H2. No traffic has yet been sent for this group, so there is no information about the source, and this is why we have a (*,g) entry.

Once traffic begins to traverse the network, we have information about the source which in the case of the lesson is S1. This is why we have a second entry of (, which is an (S,G) entry which routes the actual traffic from specific source to specific destination.

I hope this has been helpful!