Assumption :
- PIM open standard (rp-candidate + bsr-candidate), PIM SM
- RP is connected behind the HUB. (10.15.15.15)
- The source is connected to the Spoke 1.
- The receiver is connected to the spoke 2
HUB configuration :
ip multicast-routing
!
interface Tunnel0
bandwidth 1000
ip address 10.0.1.1 255.255.255.248
no ip redirects
ip mtu 1400
ip pim nbma-mode
ip pim sparse-mode
ip nhrp authentication key
ip nhrp map multicast dynamic
ip nhrp network-id 12345
ip nhrp holdtime 300
ip nhrp redirect
ip tcp adjust-mss 1360
delay 1000
tunnel source Ethernet0/0
tunnel mode gre multipoint
tunnel protection ipsec profile PROFILE
Spoke 1 configuration :
ip multicast-routing
!
ip pim spt-threshold infinity
!
interface Tunnel0
bandwidth 1000
ip address 10.0.1.2 255.255.255.248
no ip redirects
ip mtu 1400
ip pim sparse-mode
ip nhrp authentication key
ip nhrp map multicast 172.16.0.1
ip nhrp map 10.0.1.1 172.16.0.1
ip nhrp network-id 12345
ip nhrp holdtime 300
ip nhrp nhs 10.0.1.1
ip nhrp shortcut
ip tcp adjust-mss 1360
delay 1000
tunnel source Serial1/0
tunnel mode gre multipoint
tunnel protection ipsec profile PROFILE
Spoke 2 configuration :
ip multicast-routing
!
ip pim spt-threshold infinity
!
interface Tunnel0
bandwidth 1000
ip address 10.0.1.3 255.255.255.248
no ip redirects
ip mtu 1400
ip pim sparse-mode
ip nhrp authentication key
ip nhrp map multicast 172.16.0.1
ip nhrp map 10.0.1.1 172.16.0.1
ip nhrp network-id 12345
ip nhrp holdtime 300
ip nhrp nhs 10.0.1.1
ip nhrp shortcut
ip tcp adjust-mss 1380
delay 1000
tunnel source Serial1/0
tunnel mode gre multipoint
tunnel protection ipsec profile PROFILE
Tshoot
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,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
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
RP on HUB and Spokes routers
#sh ip pim rp
Group: 232.1.1.1, RP: 10.15.15.15, v2, uptime 00:13:52, expires 00:01:46
! Source multicast with real IP address 10.1.18.1
SPOKE1#sh ip mroute 232.1.1.1
(*, 232.1.1.1), 00:02:40/stopped, RP 10.15.15.15, flags: SPF
Incoming interface: Tunnel0, RPF nbr 10.0.1.1
Outgoing interface list: Null
(10.1.18.1, 232.1.1.1), 00:02:40/00:03:23, flags: FT
Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0, Registering
Outgoing interface list:
Tunnel0, Forward/Sparse, 00:02:40/00:02:47, A
! Receiver multicast for the group 232.1.1.1
interface Ethernet0/0
ip address 10.1.19.1 255.255.255.0
ip pim sparse-mode
ip igmp join-group 232.1.1.1
SPOKE2#sh ip mroute 232.1.1.1
(*, 232.1.1.1), 00:09:21/00:02:42, RP 10.15.15.15, flags: SCL
Incoming interface: Tunnel0, RPF nbr 10.0.1.1
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 00:09:19/00:02:42
HUB#sh ip mroute 232.1.1.1
(*, 232.1.1.1), 00:09:13/00:03:08, RP 10.15.15.15, flags: S
Incoming interface: Ethernet0/1, RPF nbr 10.20.1.17
Outgoing interface list:
Tunnel0, 10.0.1.3, Forward/Sparse, 00:09:13/00:03:08
(10.1.18.1, 232.1.1.1), 00:06:17/00:01:35, flags: T
Incoming interface: Tunnel0, RPF nbr 10.0.1.3
Outgoing interface list:
Tunnel0, 10.0.1.3, Forward/Sparse, 00:06:17/00:03:08
SPOKE2#mtrace 10.1.19.1 232.1.1.1
Type escape sequence to abort.
Mtrace from 10.1.19.1 to 10.1.19.1 via group 232.1.1.1
From source (?) to destination (?)
Querying full reverse path...
0 10.1.19.1
-1 10.1.19.1 ==> 10.0.1.3 PIM [using shared tree] << Interface Tu0
-2 10.0.1.1 ==> 10.20.1.18 PIM [using shared tree] << Interface Tu0 Hub to next router
-3 10.20.1.17 ==> 10.20.1.2 PIM [using shared tree] << Next router to RP router
-4 10.20.1.1 ==> 0.0.0.0 PIM_MT Reached RP/Core [using shared tree] << RP router