09-13-2014 12:41 AM - edited 03-07-2019 08:45 PM
Hi guys,
Pls help me to explain a multicast problem:
I have a topology like this:
source(224.6.6.6)--R1---R2(RP)
I use GNS3 lab, PIM-SM, R2 is RP.
So I think between R2--R4--R5--R6 just see the shared tree, but when i show ip mroute on R4, i see (S,G) !!! pls tell me why ! why R5 and R4,6 have (S,G) on multicast routing table!
I have config ip pim spt-threshold infinity, but (S,G) is still here !!!!
R4#show 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,
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
(*, 224.6.6.6), 00:00:58/stopped, RP 2.2.2.2, flags: S
Incoming interface: GigabitEthernet2/0, RPF nbr 10.0.24.2
Outgoing interface list:
GigabitEthernet1/0, Forward/Sparse, 00:00:51/00:02:38
(10.0.12.1, 224.6.6.6), 00:00:09/00:03:29, flags: T
Incoming interface: GigabitEthernet2/0, RPF nbr 10.0.24.2
Outgoing interface list:
GigabitEthernet1/0, Forward/Sparse, 00:00:09/00:03:20
(*, 224.0.1.40), 00:01:00/00:02:59, RP 2.2.2.2, flags: SCL
Incoming interface: GigabitEthernet2/0, RPF nbr 10.0.24.2
Outgoing interface list:
GigabitEthernet1/0, Forward/Sparse, 00:00:46/00:02:43
Duong Vu
09-15-2014 11:29 AM
Hi,
could be a software defect as well, if configuration is correct. Can you please share more details of router R4,R5 and R6. Are all same platform and running same code? What happens if you move receiver to R5 or R4. Please share running config of R6.
Regards,
Akash
09-17-2014 09:42 AM
Hi Akash,
Thanks for your reply and sorry for my late reply. I have a very busy week..!
I used GNS3 to simulate, platform 7600 & IOS Version 12.4(22)T. Here is the config of R4, R5 and R6:
R4:
R4#show run
Building configuration...
Current configuration : 1517 bytes
!
upgrade fpd auto
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R4
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
no ip domain lookup
ip multicast-routing
no ipv6 cef
!
multilink bundle-name authenticated
!
!
voice dsp waitstate 0
!
!
!
!
!
!
!
!
!
!
!
!
!
memory-size iomem 0
archive
log config
hidekeys
!
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
ip ospf 1 area 0
!
interface Ethernet0/0
no ip address
shutdown
duplex auto
!
interface GigabitEthernet0/0
no ip address
shutdown
duplex full
speed 1000
media-type gbic
negotiation auto
!
interface GigabitEthernet1/0
ip address 10.0.45.4 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
negotiation auto
!
interface GigabitEthernet2/0
ip address 10.0.24.4 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
negotiation auto
!
router ospf 1
log-adjacency-changes
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
logging alarm informational
!
!
!
!
!
!
!
control-plane
!
!
!
mgcp fax t38 ecm
!
!
!
!
gatekeeper
shutdown
!
alias exec srs show run | sec
alias exec srin show run inter
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R5:
R5#show run
Building configuration...
Current configuration : 1709 bytes
!
upgrade fpd auto
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R5
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
no ip domain lookup
ip multicast-routing
no ipv6 cef
!
multilink bundle-name authenticated
!
!
voice dsp waitstate 0
!
!
!
!
!
!
!
!
!
!
!
!
!
memory-size iomem 0
archive
log config
hidekeys
!
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
interface Loopback0
ip address 5.5.5.5 255.255.255.255
ip ospf 1 area 0
!
interface Ethernet0/0
no ip address
shutdown
duplex auto
!
interface GigabitEthernet0/0
ip address 10.0.35.5 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
duplex full
speed 1000
media-type gbic
negotiation auto
!
interface GigabitEthernet1/0
ip address 10.0.45.5 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
negotiation auto
!
interface GigabitEthernet2/0
ip address 10.0.56.5 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
negotiation auto
!
interface GigabitEthernet3/0
no ip address
shutdown
--More--
*Sep 17 23:31:28.867: %SYS-5-CONFIG_I: Configured from console by console
negotiation auto
!
router ospf 1
log-adjacency-changes
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip pim autorp listener
!
logging alarm informational
access-list 10 permit 224.0.0.0 0.255.255.255
!
!
!
!
!
!
!
control-plane
!
!
!
mgcp fax t38 ecm
!
!
!
!
gatekeeper
shutdown
!
alias exec srs show run | sec
alias exec srin show run inter
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R6:
R6-Client#show run
Building configuration...
Current configuration : 1548 bytes
!
upgrade fpd auto
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R6-Client
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
no ip domain lookup
ip multicast-routing
no ipv6 cef
!
multilink bundle-name authenticated
!
!
voice dsp waitstate 0
!
!
!
!
!
!
!
!
!
!
!
!
!
memory-size iomem 0
archive
log config
hidekeys
!
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
interface Loopback0
ip address 6.6.6.6 255.255.255.255
ip pim sparse-mode
ip igmp join-group 224.6.6.6
ip ospf 1 area 0
!
interface Ethernet0/0
no ip address
shutdown
duplex auto
!
interface GigabitEthernet0/0
no ip address
shutdown
duplex full
speed 1000
media-type gbic
negotiation auto
!
interface GigabitEthernet1/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet2/0
ip address 10.0.56.6 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
negotiation auto
!
router ospf 1
log-adjacency-changes
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip pim autorp listener
!
logging alarm informational
!
!
!
!
!
!
!
control-plane
!
!
!
mgcp fax t38 ecm
!
!
!
!
gatekeeper
shutdown
!
alias exec srs show run | sec
alias exec srin show run inter
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
Here is the show ip mroute of R4 when I move receiver to R5:
R4#show 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,
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
(*, 224.6.6.6), 00:10:03/00:03:22, RP 2.2.2.2, flags: S
Incoming interface: GigabitEthernet2/0, RPF nbr 10.0.24.2
Outgoing interface list:
GigabitEthernet1/0, Forward/Sparse, 00:10:03/00:03:22
(1.1.1.1, 224.6.6.6), 00:03:33/00:03:23, flags: T
Incoming interface: GigabitEthernet2/0, RPF nbr 10.0.24.2
Outgoing interface list:
GigabitEthernet1/0, Forward/Sparse, 00:03:33/00:03:22
(*, 224.0.1.39), 00:10:27/stopped, RP 0.0.0.0, flags: DC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
GigabitEthernet2/0, Forward/Sparse, 00:10:27/00:02:38
(2.2.2.2, 224.0.1.39), 00:10:02/00:01:58, flags: PTX
Incoming interface: GigabitEthernet2/0, RPF nbr 10.0.24.2
Outgoing interface list: Null
(*, 224.0.1.40), 00:11:04/stopped, RP 0.0.0.0, flags: DPL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
(2.2.2.2, 224.0.1.40), 00:10:04/00:02:56, flags: LT
Incoming interface: GigabitEthernet2/0, RPF nbr 10.0.24.2
Outgoing interface list:
GigabitEthernet1/0, Forward/Sparse, 00:02:17/00:00:48
R4#
And you can see, the (S,G) still here.
The topology is attached.
Duong Vu
09-17-2014 09:44 AM
Hi Akash,
And when i use "debug ip pim", the output:
R4:
*Sep 13 16:28:54.587: PIM(0): Received v2 Join/Prune on GigabitEthernet1/0 from 10.0.45.5, to us
*Sep 13 16:28:54.591: PIM(0): Join-list: (1.1.1.1/32, 224.6.6.6), S-bit set
*Sep 13 16:28:54.595: PIM(0): Update GigabitEthernet1/0/10.0.45.5 to (1.1.1.1, 224.6.6.6), Forward state, by PIM SG Join
*Sep 13 16:28:55.515: PIM(0): Insert (1.1.1.1,224.6.6.6) join in nbr 10.0.24.2's queue
*Sep 13 16:28:55.519: PIM(0): Building Join/Prune packet for nbr 10.0.24.2
*Sep 13 16:28:55.523: PIM(0): Adding v2 (1.1.1.1/32, 224.6.6.6), S-bit Join
*Sep 13 16:28:55.527: PIM(0): Send v2 join/prune to 10.0.24.2 (GigabitEthernet2/0)
R5:
*Sep 13 16:28:53.699: PIM(0): Insert (1.1.1.1,224.6.6.6) join in nbr 10.0.45.4's queue
*Sep 13 16:28:53.703: PIM(0): Building Join/Prune packet for nbr 10.0.45.4
*Sep 13 16:28:53.707: PIM(0): Adding v2 (1.1.1.1/32, 224.6.6.6), S-bit Join
*Sep 13 16:28:53.711: PIM(0): Send v2 join/prune to 10.0.45.4 (GigabitEthernet1/0)
R5#
R6-connect to client-edge router:
*Sep 13 16:28:42.727: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 224.6.6.6
*Sep 13 16:28:42.731: PIM(0): Insert (*,224.6.6.6) join in nbr 10.0.56.5's queue
*Sep 13 16:28:42.739: PIM(0): Building Join/Prune packet for nbr 10.0.56.5
*Sep 13 16:28:42.739: PIM(0): Adding v2 (2.2.2.2/32, 224.6.6.6), WC-bit, RPT-bit, S-bit Join
*Sep 13 16:28:42.739: PIM(0): Send v2 join/prune to 10.0.56.5 (GigabitEthernet2/0)
You can see? the (S,G) is add from R5 !!!, R5 is not the edge router, it's just the normal transit router. Do u know why it do that? how it know about the source.
From my knowledge, R5 just know about RP.
Duong Vu
09-17-2014 11:15 AM
Hi,
In the provided config, i dont see "ip pim spt-threshold infinity" configured anywhere. Can you please confirm it once again.
Regards,
Akash
09-17-2014 11:25 PM
Hi Akash,
Thank for your query, I have disabled "ip pim spt-threshold infinity" for some test case.
I found that when i config "ip pim spt-threshold infinity" on R6-edge router, the (S,G) is disappear !!!
So if u know, pls tell me why R6 switchover to SPT? from R6 to R1-Source just have one path-and throught R2-RP !!! with my knowledge, edge router will not switchover to SPT if the path to source is through RP.
Thank you!
Duong Vu
09-18-2014 12:42 AM
Hi,
How R6 will come to know that source is reachable via RP only. May be outgoing interface for RP and source could be same on R6 but it may change later. So R6 will send (S,G).
Regards,
Akash
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide