Yes, I read Petrs post on multicast troubleshooting and tried some stuff. Here is mtrac from SW2.
Rack1SW2#mtrace 150.1.4.4
Type escape sequence to abort.
Mtrace from 150.1.4.4 to 155.1.58.8 via RPF
From source (?) to destination (?)
Querying full reverse path...
0 155.1.58.8
-1 155.1.58.8 PIM [150.1.4.4/32]
-2 155.1.58.5 PIM [150.1.4.4/32]
-3 155.1.0.4 PIM [150.1.4.0/24]
-4 150.1.4.4
150.1.4.4 is RP.
Mtrace to sender.
Rack1SW2#mtrace 155.1.146.1
Type escape sequence to abort.
Mtrace from 155.1.146.1 to 155.1.58.8 via RPF
From source (?) to destination (?)
Querying full reverse path...
0 155.1.58.8
-1 155.1.58.8 PIM [155.1.146.0/24]
-2 155.1.58.5 PIM [155.1.146.0/24]
-3 155.1.45.4 PIM [155.1.146.0/24]
-4 155.1.146.1
Rack1SW2#mtrace 155.1.0.1
Type escape sequence to abort.
Mtrace from 155.1.0.1 to 155.1.58.8 via RPF
From source (?) to destination (?)
Querying full reverse path...
0 155.1.58.8
-1 155.1.58.8 PIM [155.1.0.0/24]
-2 155.1.58.5 PIM [155.1.0.0/24]
-3 155.1.0.1
Seems there are different paths depending on source IP. If I do a ip igmp join-group on R5 Fa0/0 which is connected to SW2 then traffic flows even down to SW2 since OIL is no longer null. What am I missing here? I'm expecting to see more IGMP and PIM packets here. This what I am expecting:
SW2 send IGMP join to R5 or PIM join depending on who is DR. SW2 gets rooted to RPT on R4. R1 registers with R4 as a source and then gets register stop. SW2 learns of source and prunes itself off the RPT and joins the SPT instead. I tried setting SPT threshold to infinity but it still switches over.
However, if I debug on R4 I don't see any PIM join messages.