The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes the process to troubleshoot Multicast Service Reflection feature on Catalyst 8000.
Cisco recommends that you have knowledge of these topics:
The information in this document is based on these software and hardware versions:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
The purpose of this document is to demonstrate the basic configuration and troubleshooting of the Multicast Service Reflection feature to validate a Multicast-to-Multicast destination translation scenario with a Cisco Catalyst 8000.
Multicast Service Reflection is a versatile feature that can be deployed at various points within a network to meet specific multicast requirements. It helps enhance the efficiency and reliability of multicast services in complex network environments as it allows users to translate received multicast or unicast destination addresses to multicast or unicast addresses that conform to their internal addressing policy.
Multicast Service Reflection has the ability to translate both source and destination addresses in the IPv4 header. It identifies the multicast traffic streams (associated with specific multicast groups and sources) that need to be translated (based on the predefined configuration) and when the traffic reaches the reflection point, the router doing the translation selectively reflects these packets.
One of the core components of this feature is the Virtual Interface (Vif). This Vif interface is a logical interface that can statically join the group that needs to be reflected in order to build the multicast tree. In other words, this Vif interface acts as multicast receiver for the original stream and once the traffic is forwarded to the Vif interface, the packets are reflected and the source/destination addresses are translated to the new desired IPv4 addresses.
Note: To implement this feature your router must have at least a network-advantage license installed, otherwise an error can be seen when trying to configure the Vif interface.
To configure the feature in this setup multicast routing needs to be enabled across the path and basic IPv4 connectivity between the Multicast Source and the Receiver is required as well. In this scenario, there is a Catalyst 9K switch (C9000) acting as a First Hop Router (FHR), then the Catalyst 8K router (C8000) that is the Multicast Service Reflector and also the Rendezvous Point (RP) for the different multicast groups and an ASR1K router (ASR1000) is the Last Hop Router (LHR) where the receiver is connected. For this example, external Border Gateway Protocol (eBGP) is used to interconnect these devices, however there is no requirement to implement a particular routing protocol.
Note: This example makes use of only one RP for the various multicast streams, for more information on scenarios where different RPs are used for the multicast domains review the section Configuration Examples for Multicast Service Reflection from the IP Multicast Configuration Guide, Cisco IOS XE 17.x
FHR (C9000)
To start the configuration at the FHR, enable multicast routing, add the RP IPv4 address and configure Protocol Independent Multicast Sparse Mode (PIM-SM) on interfaces connected to the Multicast Source and to the Multicast Service Reflector router (C8000).
C9000#show run | i multicast|rp-address
ip multicast-routing
class-map match-any system-cpp-police-multicast-end-station
class-map match-any system-cpp-police-multicast
ip pim rp-address 10.100.100.1
C9000#show run interface Ten 1/0/6
Building configuration...
Current configuration : 116 bytes
!
interface TenGigabitEthernet1/0/6
no switchport
ip address 192.168.0.1 255.255.255.252
ip pim sparse-mode
end
C9000#show run interface Ten 1/0/3
Building configuration...
Current configuration : 116 bytes
!
interface TenGigabitEthernet1/0/3
no switchport
ip address 192.168.0.5 255.255.255.252
ip pim sparse-mode
end
The C9000 switch is doing an eBGP adjacency to the C8000 router to advertise the connected routes.
C9000#show run | section router bgp
router bgp 65003
bgp log-neighbor-changes
redistribute connected
neighbor 192.168.0.6 remote-as 65001
Multicast Service Reflector Router (C8000)
At the Catalyst 8K router, for the initial configuration enable multicast routing, add the appropriate RP IPv4 address and also configure PIM-SM on the interfaces connected to C9000 and ASR1000 devices as well as in the Loopback0 interface.
Mcast_SR#show run | i multicast|rp-address ip multicast-routing distributed ip pim rp-address 10.100.100.1
Mcast_SR#show run interface Ten 0/0/2 Building configuration... Current configuration : 156 bytes ! interface TenGigabitEthernet0/0/2 description to C9000 ip address 192.168.0.6 255.255.255.252 ip pim sparse-mode no negotiation auto cdp enable end Mcast_SR#show run interface Ten 0/0/5 Building configuration... Current configuration : 157 bytes ! interface TenGigabitEthernet0/0/5 description to ASR1000 ip address 172.16.0.1 255.255.255.252 ip pim sparse-mode no negotiation auto cdp enable endMcast_SR#show run interface loopback 0 Building configuration... Current configuration : 88 bytes ! interface Loopback0 ip address 10.100.100.1 255.255.255.255 ip pim sparse-mode end
This router has two eBGP neighbors, 192.168.0.5 neighbor is the C9000 switch sending the prefixes to reach the Multicast Source and the second neighbor is the ASR1000 router used to reach the Receiver. Notice that this router is advertising its local Loopback0 and also advertisies the Vif subnet.
Mcast_SR#show run | section router bgp router bgp 65001 bgp log-neighbor-changes network 10.100.100.1 mask 255.255.255.255 network 172.16.101.0 mask 255.255.255.252 neighbor 172.16.0.2 remote-as 65002 neighbor 192.168.0.5 remote-as 65003
Now, it is time to configure the Vif interface, which is the one that helps to translate the multicast group from 239.5.5.5 to 239.55.55.55. This logical interface needs to have an IP address and this subnet needs to be routable, additonally PIM-SM must be configured. To enable the Multicast Service Reflection feature, the command ip service reflect <interface_id> destination <destination_ip1> to <destination_ip2> mask-len <subnet_mask_length> source <source_ip> is used, where the interface_id is the interface receiving the original multicast traffic, the destination_ip1 is the original IPv4 address that needs to be translated (239.5.5.5), and destination_ip2 is the new IPv4 address that is expected after the translation (239.55.55.55). Last but not least, the command ip igmp static-group <group-address> is required in order to make this interface a statically connected member of the original multicast group.
Mcast_SR#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Mcast_SR(config)#interface Vif1
Mcast_SR(config-if)#ip address 172.16.101.1 255.255.255.252
Mcast_SR(config-if)#ip pim sparse-mode
Mcast_SR(config-if)#ip service reflect TenGigabitEthernet0/0/2 destination 239.5.5.5 to 239.55.55.55 mask-len 32 source 172.16.101.2
Mcast_SR(config-if)#ip igmp static-group 239.5.5.5
Mcast_SR(config-if)#end
Note: Interface "Vif1" is strictly associated with the default Virtual Route Forwarding (VRF) for the Multicast Service Reflection feature, if a different number for this interface is selected a message can be displayed into the console similar to "Only Vif1 can be used for Service Reflect in global table".
The next output shows the Vif interface after the configuration has been applied, notice that the interface operation becomes UP/UP and the output feature is SERVICE REFLECT with the help of the show ip interface <interface> command:
Mcast_SR#show run interface Vif1 Building configuration... Current configuration : 229 bytes ! interface Vif1 ip address 172.16.101.1 255.255.255.252 ip pim sparse-mode ip service reflect TenGigabitEthernet0/0/2 destination 239.5.5.5 to 239.55.55.55 mask-len 32 source 172.16.101.2 ip igmp static-group 239.5.5.5 end
Mcast_SR#show ip interface vif1 Vif1 is up, line protocol is up Internet address is 172.16.101.1/30 Broadcast address is 255.255.255.255 Address determined by non-volatile memory MTU is 1514 bytes Helper address is not set Directed broadcast forwarding is disabled Multicast reserved groups joined: 224.0.0.1 224.0.0.2 224.0.0.22 224.0.0.13 Outgoing Common access list is not set Outgoing access list is not set Inbound Common access list is not set Inbound access list is not set Proxy ARP is enabled Local Proxy ARP is disabled Security level is default Split horizon is enabled ICMP redirects are always sent ICMP unreachables are always sent ICMP mask replies are never sent IP fast switching is enabled IP Flow switching is disabled IP CEF switching is enabled IP CEF switching turbo vector IP Null turbo vector Associated unicast routing topologies: Topology "base", operation state is UP Associated multicast routing topologies: Topology "base", operation state is UP IP multicast fast switching is enabled IP multicast distributed fast switching is disabled IP route-cache flags are Fast, CEF Router Discovery is disabled IP output packet accounting is disabled IP access violation accounting is disabled TCP/IP header compression is disabled RTP/IP header compression is disabled Probe proxy name replies are disabled Policy routing is disabled Network address translation is disabled BGP Policy Mapping is disabled Input features: MCI Check Output features: SERVICE REFLECT IPv4 WCCP Redirect outbound is disabled IPv4 WCCP Redirect inbound is disabled IPv4 WCCP Redirect exclude is disabled IP Clear Dont Fragment is disabled
LHR (ASR1000)
For the configuration at the LHR, in the same way, enable multicast routing and PIM-SM on the interfaces connected to Multicast Service Reflector router and towards the Receiver and also make sure to configure the RP IPv4 address:
ASR1000#show run | i multicast|rp-address
ip multicast-routing distributed
ip pim rp-address 10.100.100.1
ASR1000#show run interface Ten 0/1/1
Building configuration...
Current configuration : 133 bytes
!
interface TenGigabitEthernet0/1/1
ip address 172.16.0.2 255.255.255.252
ip pim sparse-mode
no negotiation auto
cdp enable
end
ASR1000#show run interface GigabitEthernet0/0/0
Building configuration...
Current configuration : 127 bytes
!
interface GigabitEthernet0/0/0
ip address 172.16.0.5 255.255.255.252
ip pim sparse-mode
negotiation auto
cdp enable
end
For the IP connectivity, this router is also using BGP to exchange the connected prefixes:
ASR1000#show run | section router bgp
router bgp 65002
bgp log-neighbor-changes
redistribute connected
neighbor 172.16.0.1 remote-as 65001
As an initial verification, you can start checking the basic IP connectivity, route exchange between devices and PIM status. The next output was taken from the Catalyst 9K and shows the routes installed towards the Receiver (172.16.0.6), RP Loopback0 (10.100.100.1), and Vif (172.16.101.1). It can also be seen that there is a PIM adjacency with the C8000 router and that the RP mapping is also pointing to the 10.100.100.1 address.
C9000#show ip route 172.16.0.6 Routing entry for 172.16.0.4/30 Known via "bgp 65003", distance 20, metric 0 Tag 65001, type external Last update from 192.168.0.6 2d22h ago Routing Descriptor Blocks: * 192.168.0.6, from 192.168.0.6, 2d22h ago opaque_ptr 0x7FD797D4BA18 Route metric is 0, traffic share count is 1 AS Hops 2 Route tag 65001 MPLS label: none C9000#ping 172.16.0.6 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.0.6, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms C9000#show ip route 10.100.100.1 Routing entry for 10.100.100.1/32 Known via "bgp 65003", distance 20, metric 0 Tag 65001, type external Last update from 192.168.0.6 2d22h ago Routing Descriptor Blocks: * 192.168.0.6, from 192.168.0.6, 2d22h ago opaque_ptr 0x7FD797D4B8D8 Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 65001 MPLS label: none C9000#ping 10.100.100.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.100.100.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms C9000#show ip route 172.16.101.1 Routing entry for 172.16.101.0/30 Known via "bgp 65003", distance 20, metric 0 Tag 65001, type external Last update from 192.168.0.6 2d00h ago Routing Descriptor Blocks: * 192.168.0.6, from 192.168.0.6, 2d00h ago opaque_ptr 0x7FD797D4B8D8 Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 65001 MPLS label: none C9000#ping 172.16.101.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.101.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms C9000#show ip pim neighbor PIM Neighbor Table Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority, P - Proxy Capable, S - State Refresh Capable, G - GenID Capable, L - DR Load-balancing Capable Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 192.168.0.6 TenGigabitEthernet1/0/3 2d22h/00:01:29 v2 1 / DR S P G C9000#show ip pim interface Address Interface Ver/ Nbr Query DR DR Mode Count Intvl Prior 192.168.0.5 TenGigabitEthernet1/0/3 v2/S 1 30 1 192.168.0.6 192.168.0.1 TenGigabitEthernet1/0/6 v2/S 0 30 1 192.168.0.1
C9000#show ip pim rp mapping PIM Group-to-RP Mappings Group(s): 224.0.0.0/4, Static RP: 10.100.100.1 (?)
The Multicast Service Reflector shows both addresses 172.16.101.1 (Vif) and 10.100.100.1 (Loopback0) as directly connected, and routes to Source and Receiver being learned through BGP:
Mcast_SR#show ip route 10.100.100.1 Routing entry for 10.100.100.1/32 Known via "connected", distance 0, metric 0 (connected, via interface) Advertised by bgp 65001 Routing Descriptor Blocks: * directly connected, via Loopback0 Route metric is 0, traffic share count is 1
Mcast_SR#show ip route 172.16.101.1 Routing entry for 172.16.101.1/32 Known via "connected", distance 0, metric 0 (connected) Routing Descriptor Blocks: * directly connected, via Vif1 Route metric is 0, traffic share count is 1Mcast_SR#show ip route 172.16.0.6 Routing entry for 172.16.0.4/30 Known via "bgp 65001", distance 20, metric 0 Tag 65002, type external Last update from 172.16.0.2 5d20h ago Routing Descriptor Blocks: * 172.16.0.2, from 172.16.0.2, 5d20h ago opaque_ptr 0x7F841CBD53D0 Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 65002 MPLS label: none
Mcast_SR#show ip route 192.168.0.2 Routing entry for 192.168.0.0/30 Known via "bgp 65001", distance 20, metric 0 Tag 65003, type external Last update from 192.168.0.5 5d20h ago Routing Descriptor Blocks: * 192.168.0.5, from 192.168.0.5, 5d20h ago opaque_ptr 0x7F841CBD5290 Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 65003 MPLS label: none
Router C8000 is also showing two PIM neighbors with four interfaces enabled with PIM-SM (including Vif and Loopback0), the correct RP mapping is also displayed and with the use of command show ip multicast you can verify the Multicast Service Reflect capabilities of the device:
Mcast_SR#show ip pim neighbor PIM Neighbor Table Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority, P - Proxy Capable, S - State Refresh Capable, G - GenID Capable, L - DR Load-balancing Capable Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 192.168.0.5 TenGigabitEthernet0/0/2 5d20h/00:01:34 v2 1 / S P G 172.16.0.2 TenGigabitEthernet0/0/5 5d20h/00:01:15 v2 1 / DR S P G Mcast_SR#show ip pim interface Address Interface Ver/ Nbr Query DR DR Mode Count Intvl Prior 10.100.100.1 Loopback0 v2/S 0 30 1 10.100.100.1 192.168.0.6 TenGigabitEthernet0/0/2 v2/S 1 30 1 192.168.0.6 172.16.0.1 TenGigabitEthernet0/0/5 v2/S 1 30 1 172.16.0.2 172.16.101.1 Vif1 v2/S 0 30 1 0.0.0.0 Mcast_SR#show ip pim rp mapping PIM Group-to-RP Mappings Group(s): 224.0.0.0/4, Static RP: 10.100.100.1 (?)
Mcast_SR#show ip multicast Multicast Routing: enabled Multicast Multipath: disabled Multicast Route limit: No limit Multicast Fallback group mode: Sparse Number of multicast boundaries configured with filter-autorp option: 0 MoFRR: Disabled Multicast Service-Reflect Capabilities: Multicast to Multicast Unicast to Multicast Multicast to Unicast
At the LHR, similar verifications are completed. The next output taken from the ASR1000 router shows the routes installed for the translated Multicast Source 172.16.101.2 (this is important to note as at this point the multicast stream packet is received with a new source and destination IPv4 header) and for the RP IPv4 address 10.100.100.1. Notice that LHR also has reachability to the original Multicast Source 192.168.0.2, however at this point in the topology is more important to have reachability to the Vif subnet (172.16.101.0/30):
ASR1000#show ip route 10.100.100.1 Routing entry for 10.100.100.1/32 Known via "bgp 65002", distance 20, metric 0 Tag 65001, type external Last update from 172.16.0.1 2d22h ago Routing Descriptor Blocks: * 172.16.0.1, from 172.16.0.1, 2d22h ago opaque_ptr 0x7F2BFA855B80 Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 65001 MPLS label: none ASR1000#ping 10.100.100.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.100.100.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms ASR1000#show ip route 172.16.101.1 Routing entry for 172.16.101.0/30 Known via "bgp 65002", distance 20, metric 0 Tag 65001, type external Last update from 172.16.0.1 2d00h ago Routing Descriptor Blocks: * 172.16.0.1, from 172.16.0.1, 2d00h ago opaque_ptr 0x7F2BFA855B80 Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 65001 MPLS label: none ASR1000#ping 172.16.101.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.101.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms ASR1000#show ip pim neighbor PIM Neighbor Table Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority, P - Proxy Capable, S - State Refresh Capable, G - GenID Capable, L - DR Load-balancing Capable Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 172.16.0.1 TenGigabitEthernet0/1/1 2d22h/00:01:24 v2 1 / S P G ASR1000#show ip pim interface Address Interface Ver/ Nbr Query DR DR Mode Count Intvl Prior 172.16.0.5 GigabitEthernet0/0/0 v2/S 0 30 1 172.16.0.5 172.16.0.2 TenGigabitEthernet0/1/1 v2/S 1 30 1 172.16.0.2
ASR1000#show ip route 192.168.0.2 Routing entry for 192.168.0.0/30 Known via "bgp 65002", distance 20, metric 0 Tag 65001, type external Last update from 172.16.0.1 5d21h ago Routing Descriptor Blocks: * 172.16.0.1, from 172.16.0.1, 5d21h ago opaque_ptr 0x7F2BFA855E00 Route metric is 0, traffic share count is 1 AS Hops 2 Route tag 65001 MPLS label: none ASR1000#ping 192.168.0.2 source 172.16.0.5 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds: Packet sent with a source address of 172.16.0.5 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
After the Multicast Source start sending the stream for group 239.5.5.5, and while enabling debug ip pim on the different devices across the topology, it can be confirmed that the FHR registers the Multicast Source 192.168.0.2 to the RP and adds the interface TenGigabitEthernet1/0/3 into the Outgoing Interface List (OIL).
C9000#
*Oct 16 16:23:01.817: PIM(0)[default]: Re-check RP 10.100.100.1 into the (*, 239.5.5.5) entry
*Oct 16 16:23:01.817: PIM(0)[default]: Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 239.5.5.5
*Oct 16 16:23:01.817: PIM(0)[default]: Adding register encap tunnel (Tunnel0) as forwarding interface of (192.168.0.2, 239.5.5.5).
*Oct 16 16:23:01.839: PIM(0)[default]: Received v2 Join/Prune on TenGigabitEthernet1/0/3 from 192.168.0.6, to us
*Oct 16 16:23:01.839: PIM(0)[default]: Join-list: (192.168.0.2/32, 239.5.5.5), S-bit set
*Oct 16 16:23:01.839: PIM(0)[default]: MIDB Add TenGigabitEthernet1/0/3/192.168.0.6 to (192.168.0.2, 239.5.5.5), Forward state, by PIM SG Join
*Oct 16 16:23:01.839: PIM(0)[default]: Join to 0.0.0.0 on TenGigabitEthernet1/0/6 for (192.168.0.2, 239.5.5.5), Ignored.
*Oct 16 16:23:03.869: PIM(0)[default]: Received v2 Join/Prune on TenGigabitEthernet1/0/3 from 192.168.0.6, to us
*Oct 16 16:23:03.869: PIM(0)[default]: Join-list: (192.168.0.2/32, 239.5.5.5), S-bit set
*Oct 16 16:23:03.869: PIM(0)[default]: MIDB Update TenGigabitEthernet1/0/3/192.168.0.6 to (192.168.0.2, 239.5.5.5), Forward state, by PIM SG Join
*Oct 16 16:23:05.818: PIM(0)[default]: Received v2 Register-Stop on TenGigabitEthernet1/0/3 from 10.100.100.1
*Oct 16 16:23:05.818: PIM(0)[default]: for source 192.168.0.2, group 239.5.5.5
*Oct 16 16:23:05.818: PIM(0)[default]: Removing register encap tunnel (Tunnel0) as forwarding interface of (192.168.0.2, 239.5.5.5).
*Oct 16 16:23:05.818: PIM(0)[default]: Clear Registering flag to 10.100.100.1 for (192.168.0.2/32, 239.5.5.5)
*Oct 16 16:23:11.997: PIM(0)[default]: Send v2 join/prune to 192.168.0.6 (TenGigabitEthernet1/0/3)
C9000#show ip mroute 239.5.5.5
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,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route,
x - VxLAN group, c - PFP-SA cache created entry,
* - determined by Assert, # - iif-starg configured on rpf intf,
e - encap-helper tunnel flag, l - LISP decap ref count contributor
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
t - LISP transit group
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.5.5.5), 00:24:22/stopped, RP 10.100.100.1, flags: SPF
Incoming interface: TenGigabitEthernet1/0/3, RPF nbr 192.168.0.6
Outgoing interface list: Null
(192.168.0.2, 239.5.5.5), 00:24:22/00:03:11, flags: FT
Incoming interface: TenGigabitEthernet1/0/6, RPF nbr 0.0.0.0
Outgoing interface list:
TenGigabitEthernet1/0/3, Forward/Sparse, 00:24:22/00:02:47, flags:
At the same time, the Multicast Service Reflector router (that is also the RP for both groups) receives the registration for the S,G (192.168.0.2, 239.5.5.5) and immediately detects that this group falls under the reflection rule previously defined. It then adds the TenGigabitEhternet0/0/2 as the incoming interface for the 239.5.5.5 stream, and later registers the new S,G (172.16.101.2, 239.55.55.55) to itself. The router adds Vif1 as the incoming interface for the 239.55.55.55 stream and places TenGigabitEthernet0/0/5 (connecting to ASR1000) into the OIL as shown in the debug and the show ip mroute command output:
Mcast_SR#
*Oct 16 15:46:11.758: PIM(0)[default]: Received v2 Register on TenGigabitEthernet0/0/2 from 192.168.0.5
*Oct 16 15:46:11.758: for 192.168.0.2, group 239.5.5.5
*Oct 16 15:46:11.758: PIM(0)[default]: Adding register decap tunnel (Tunnel1) as accepting interface of (192.168.0.2, 239.5.5.5).
*Oct 16 15:46:11.758: MSR(0)[default]: Add 239.5.5.5 to all the SR rules
*Oct 16 15:46:11.758: MSR: Found Grp idx 553648130 for rule 239.5.5.5->239.55.55.55
*Oct 16 15:46:11.758: MSR: Found Grp idx 553648130 for rule 239.5.5.5->239.55.55.55
*Oct 16 15:46:11.758: PIM(0)[default]: Insert (192.168.0.2,239.5.5.5) join in nbr 192.168.0.5's queue
*Oct 16 15:46:11.758: PIM(0)[default]: Building Join/Prune packet for nbr 192.168.0.5
*Oct 16 15:46:11.758: PIM(0)[default]: Adding v2 (192.168.0.2/32, 239.5.5.5), S-bit Join
*Oct 16 15:46:11.758: PIM(0)[default]: Send v2 join/prune to 192.168.0.5 (TenGigabitEthernet0/0/2)
*Oct 16 15:46:12.929: PIM(0)[default]: Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.55.55.55
*Oct 16 15:46:12.929: PIM(0)[default]: rp our address for group 239.55.55.55
*Oct 16 15:46:13.251: PIM(0)[default]: Received v2 Join/Prune on TenGigabitEthernet0/0/5 from 172.16.0.2, to us
*Oct 16 15:46:13.251: PIM(0)[default]: Join-list: (*, 239.55.55.55), RPT-bit set, WC-bit set, S-bit set
*Oct 16 15:46:13.252: PIM(0)[default]: MIDB Update TenGigabitEthernet0/0/5/172.16.0.2 to (*, 239.55.55.55), Forward state, by PIM *G Join
*Oct 16 15:46:13.732: PIM(0)[default]: Received v2 Register on TenGigabitEthernet0/0/2 from 192.168.0.5
*Oct 16 15:46:13.732: for 192.168.0.2, group 239.5.5.5
*Oct 16 15:46:13.732: PIM(0)[default]: Removing register decap tunnel (Tunnel1) as accepting interface of (192.168.0.2, 239.5.5.5).
*Oct 16 15:46:13.732: PIM(0)[default]: Installing TenGigabitEthernet0/0/2 as accepting interface for (192.168.0.2, 239.5.5.5).
*Oct 16 15:46:13.732: PIM(0)[default]: Prune to 0.0.0.0 on for (192.168.0.2, 239.5.5.5), Ignored.
*Oct 16 15:46:13.773: PIM(0)[default]: Adding register decap tunnel (Tunnel1) as accepting interface of (172.16.101.2, 239.55.55.55).
*Oct 16 15:46:13.773: PIM(0)[default]: Adding register encap tunnel (Tunnel0) as forwarding interface of (172.16.101.2, 239.55.55.55).
*Oct 16 15:46:13.773: PIM(0)[default]: Removing register decap tunnel (Tunnel1) as accepting interface of (172.16.101.2, 239.55.55.55).
*Oct 16 15:46:13.773: PIM(0)[default]: Installing Vif1 as accepting interface for (172.16.101.2, 239.55.55.55).
*Oct 16 15:46:13.788: PIM(0)[default]: Insert (192.168.0.2,239.5.5.5) join in nbr 192.168.0.5's queue
*Oct 16 15:46:13.788: PIM(0)[default]: Building Join/Prune packet for nbr 192.168.0.5
*Oct 16 15:46:13.788: PIM(0)[default]: Adding v2 (192.168.0.2/32, 239.5.5.5), S-bit Join
*Oct 16 15:46:13.788: PIM(0)[default]: Send v2 join/prune to 192.168.0.5 (TenGigabitEthernet0/0/2)
*Oct 16 15:46:13.794: PIM(0)[default]: Received v2 Register on Vif1 from 10.100.100.1
*Oct 16 15:46:13.794: for 172.16.101.2, group 239.55.55.55
*Oct 16 15:46:13.794: PIM(0)[default]: Send v2 Register-Stop to 10.100.100.1 for 172.16.101.2, group 239.55.55.55
*Oct 16 15:46:13.794: PIM(0)[default]: Received v2 Register-Stop on Loopback0 from 10.100.100.1
*Oct 16 15:46:13.794: PIM(0)[default]: for source 172.16.101.2, group 239.55.55.55
*Oct 16 15:46:13.794: PIM(0)[default]: Removing register encap tunnel (Tunnel0) as forwarding interface of (172.16.101.2, 239.55.55.55).
*Oct 16 15:46:13.794: PIM(0)[default]: Clear Registering flag to 10.100.100.1 for (172.16.101.2/32, 239.55.55.55)
*Oct 16 15:46:13.809: PIM(0)[default]: Received v2 Join/Prune on TenGigabitEthernet0/0/5 from 172.16.0.2, to us
*Oct 16 15:46:13.809: PIM(0)[default]: Join-list: (172.16.101.2/32, 239.55.55.55), S-bit set
*Oct 16 15:46:13.809: PIM(0)[default]: MIDB Update TenGigabitEthernet0/0/5/172.16.0.2 to (172.16.101.2, 239.55.55.55), Forward state, by PIM SG Join
Mcast_SR#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, 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,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route,
x - VxLAN group, c - PFP-SA cache created entry,
* - determined by Assert, # - iif-starg configured on rpf intf,
e - encap-helper tunnel flag, l - LISP decap ref count contributor
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
t - LISP transit group
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.5.5.5), 00:50:36/stopped, RP 10.100.100.1, flags: SJC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Vif1, Forward/Sparse, 00:50:36/00:00:23, flags:
(192.168.0.2, 239.5.5.5), 00:10:08/00:02:36, flags: T
Incoming interface: TenGigabitEthernet0/0/2, RPF nbr 192.168.0.5
Outgoing interface list:
Vif1, Forward/Sparse, 00:10:08/00:01:51, flags:
(*, 239.55.55.55), 00:50:21/00:03:11, RP 10.100.100.1, flags: SF
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
TenGigabitEthernet0/0/5, Forward/Sparse, 00:50:21/00:03:11, flags:
(172.16.101.2, 239.55.55.55), 00:10:06/00:03:23, flags: FT
Incoming interface: Vif1, RPF nbr 0.0.0.0
Outgoing interface list:
TenGigabitEthernet0/0/5, Forward/Sparse, 00:10:06/00:03:16, flags:
(*, 224.0.1.40), 00:50:36/00:03:28, RP 10.100.100.1, flags: SJCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
TenGigabitEthernet0/0/2, Forward/Sparse, 00:50:13/00:03:28, flags:
TenGigabitEthernet0/0/5, Forward/Sparse, 00:50:28/00:03:10, flags:
Loopback0, Forward/Sparse, 00:50:36/00:02:17, flags:
Note: Notice that to be able to observe the Multicast Service Reflection rules being used in the debug output, the debug ip multicast service-reflect needs to be enabled. Be aware that this particular debug was introduced in Cisco IOS-XE release 17.9.1a, for additional information refer to Feature Information for Multicast Service Reflection section from the IP Multicast Configuration Guide, Cisco IOS XE 17.x
From the previous show ip mroute output it can be seen that there are *,G and S,G entries for both the original and new multicast groups. Additionally, the use of the show ip mroute <group> count command can give an idea of the packets received and forwarded for each multicast stream, this output is also useful as it helps to identify the traffic forwarding by the confirmation of the incrementing counters:
Mcast_SR#show ip mroute 239.5.5.5 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
5 routes using 5796 bytes of memory
3 groups, 0.66 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 239.5.5.5, Source count: 1, Packets forwarded: 4053, Packets received: 4056
RP-tree: Forwarding: 11/0/100/0, Other: 12/1/0
Source: 192.168.0.2/32, Forwarding: 4042/0/113/0, Other: 4044/2/0
Mcast_SR#show ip mroute 239.5.5.5 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
5 routes using 5796 bytes of memory
3 groups, 0.66 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 239.5.5.5, Source count: 1, Packets forwarded: 4058, Packets received: 4061
RP-tree: Forwarding: 11/0/100/0, Other: 12/1/0
Source: 192.168.0.2/32, Forwarding: 4047/0/113/0, Other: 4049/2/0
Mcast_SR#show ip mroute 239.55.55.55 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
5 routes using 5796 bytes of memory
3 groups, 0.66 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 239.55.55.55, Source count: 1, Packets forwarded: 4046, Packets received: 4046
RP-tree: Forwarding: 0/0/0/0, Other: 0/0/0
Source: 172.16.101.2/32, Forwarding: 4046/0/114/0, Other: 4046/0/0
Mcast_SR#show ip mroute 239.55.55.55 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
5 routes using 5796 bytes of memory
3 groups, 0.66 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 239.55.55.55, Source count: 1, Packets forwarded: 4051, Packets received: 4051
RP-tree: Forwarding: 0/0/0/0, Other: 0/0/0
Source: 172.16.101.2/32, Forwarding: 4051/0/114/0, Other: 4051/0/0
If the S,G entries are not being created, it is important to determine if the multicast packets are being received at expected interface. A couple of options to confirm this situation is with use of an Embedded Packet Capture (EPC) or with a Packet Trace, in the next output an EPC was taken in the incoming (Te0/0/2) and outgoing (Te0/0/5) interfaces from the C8000 router. In this working scenario you can observe the original multicast stream 239.5.5.5 incoming and the new 239.55.55.55 stream egressing the router:
Mcast_SR#monitor capture msr buffer size 10 match any interface tenGigabitEthernet 0/0/2 in
Mcast_SR#monitor capture msr start
Started capture point : msr
*Oct 16 17:59:06.986: %BUFCAP-6-ENABLE: Capture Point msr enabled.
Mcast_SR#monitor capture msr stop
Stopped capture point : msr
Mcast_SR#s
*Oct 16 17:59:25.699: %BUFCAP-6-DISABLE: Capture Point msr disabled
Mcast_SR#show monitor capture msr buffer brief
----------------------------------------------------------------------------
# size timestamp source destination dscp protocol
----------------------------------------------------------------------------
0 114 0.000000 192.168.0.2 -> 239.5.5.5 0 BE ICMP
1 114 2.000000 192.168.0.2 -> 239.5.5.5 0 BE ICMP
2 68 2.979961 192.168.0.5 -> 224.0.0.13 48 CS6 PIM
3 114 4.000000 192.168.0.2 -> 239.5.5.5 0 BE ICMP
4 114 6.000000 192.168.0.2 -> 239.5.5.5 0 BE ICMP
5 114 8.000000 192.168.0.2 -> 239.5.5.5 0 BE ICMP
6 114 10.000000 192.168.0.2 -> 239.5.5.5 0 BE ICMP
7 114 12.000000 192.168.0.2 -> 239.5.5.5 0 BE ICMP
8 114 14.001007 192.168.0.2 -> 239.5.5.5 0 BE ICMP
9 114 16.001999 192.168.0.2 -> 239.5.5.5 0 BE ICMP
10 114 18.001007 192.168.0.2 -> 239.5.5.5 0 BE ICMP
Mcast_SR#monitor capture msr buffer size 10 match any interface tenGigabitEthernet0/0/5 out
Mcast_SR#monitor capture msr start
Started capture point : msr
*Oct 16 18:07:26.846: %BUFCAP-6-ENABLE: Capture Point msr enabled.
Mcast_SR#monitor capture msr stop
Stopped capture point : msr
*Oct 16 18:07:50.360: %BUFCAP-6-DISABLE: Capture Point msr disabled.
Mcast_SR#show monitor capture msr buffer brief
----------------------------------------------------------------------------
# size timestamp source destination dscp protocol
----------------------------------------------------------------------------
0 73 0.000000 172.16.0.1 -> 172.16.0.2 48 CS6 TCP
1 114 0.172040 172.16.101.2 -> 239.55.55.55 0 BE ICMP
2 114 2.173047 172.16.101.2 -> 239.55.55.55 0 BE ICMP
3 114 4.172040 172.16.101.2 -> 239.55.55.55 0 BE ICMP
4 114 6.173047 172.16.101.2 -> 239.55.55.55 0 BE ICMP
5 114 8.172040 172.16.101.2 -> 239.55.55.55 0 BE ICMP
6 114 10.172040 172.16.101.2 -> 239.55.55.55 0 BE ICMP
7 114 12.173047 172.16.101.2 -> 239.55.55.55 0 BE ICMP
8 114 14.175046 172.16.101.2 -> 239.55.55.55 0 BE ICMP
9 114 16.176038 172.16.101.2 -> 239.55.55.55 0 BE ICMP
10 114 18.176038 172.16.101.2 -> 239.55.55.55 0 BE ICMP
11 46 19.318029 172.16.0.1 -> 224.0.0.1 48 CS6 IGMP
12 114 20.177045 172.16.101.2 -> 239.55.55.55 0 BE ICMP
13 72 20.629017 172.16.0.1 -> 224.0.0.13 48 CS6 PIM
14 114 22.178037 172.16.101.2 -> 239.55.55.55 0 BE ICMP
15 430 23.273033 90:77:EE:3C:80:05 -> 01:00:0C:CC:CC:CC -- LLC
A Packet Trace with an extended Access Control List (ACL) filtering on the 239.5.5.5 was also implemented. From the next output it can be observed that the packets are being received at the interface Te0/0/2 and initially consumed and copied internally to later be used as input packets into Vif1 interface and then forwarded out translated throughout interface Te0/0/5:
Mcast_SR#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Mcast_SR(config)#ip access-list extended original-mcast Mcast_SR(config-ext-nacl)#permit ip any host 239.5.5.5 Mcast_SR(config-ext-nacl)#end Mcast_SR# *Oct 16 18:31:49.187: %SYS-5-CONFIG_I: Configured from console by console Mcast_SR#debug platform packet-trace packet 16 Please remember to turn on 'debug platform condition start' for packet-trace to work Mcast_SR#debug platform condition ipv4 access-list original-mcast ingress Mcast_SR#debug platform condition start Mcast_SR#show platform packet-trace packet all Packet: 0 CBUG ID: 0 Summary Input : TenGigabitEthernet0/0/2 Output : <none> State : CONS Packet Consumed Silently Timestamp Start : 521286121898055 ns (10/16/2023 18:33:39.36879 UTC) Stop : 521286122522268 ns (10/16/2023 18:33:39.37503 UTC) Path Trace Feature: IPV4(Input) Input : TenGigabitEthernet0/0/2 Output : <unknown> Source : 192.168.0.2 Destination : 239.5.5.5 Protocol : 1 (ICMP) Packet: 1 CBUG ID: 0 Summary Input : TenGigabitEthernet0/0/2 Output : <none> State : CONS Packet Consumed Silently Timestamp Start : 521286121980895 ns (10/16/2023 18:33:39.36962 UTC) Stop : 521286122618968 ns (10/16/2023 18:33:39.37600 UTC) Path Trace Feature: PACKET_COPY Original packet number: 0 Feature: IPV4(Input) Input : TenGigabitEthernet0/0/2 Output : <unknown> Source : 192.168.0.2 Destination : 239.5.5.5 Protocol : 1 (ICMP) Packet: 2 CBUG ID: 0 Summary Input : Vif1 Output : TenGigabitEthernet0/0/5 State : FWD Timestamp Start : 521286122038938 ns (10/16/2023 18:33:39.37020 UTC) Stop : 521286122694795 ns (10/16/2023 18:33:39.37676 UTC) Path Trace Feature: PACKET_COPY Original packet number: 1 Feature: IPV4(Input) Input : Vif1 Output : <unknown> Source : 172.16.101.2 Destination : 239.55.55.55 Protocol : 1 (ICMP)
It is relevant to also check the Multicast Routing Information Base (MRIB) and Multicast Forwarding Information Base (MFIB) at the Catalyst 8K. Notice the hardware installed (HW) flags as well as the hardware forwarding counters incrementing with ideally very few Reverse Path Forwarding (RPF) failures or drops seen. Also note the forward (F) flag associated to the egress interface (Te0/0/5) towards ASR1000 router:
Mcast_SR#show ip mrib route IP Multicast Routing Information Base Entry flags: L - Domain-Local Source, E - External Source to the Domain, C - Directly-Connected Check, S - Signal, IA - Inherit Accept, D - Drop ET - Data Rate Exceeds Threshold,K - Keepalive,DDE - Data Driven Event ME - MoFRR ECMP Flow based, MNE - MoFRR Non-ECMP Flow based, MP - Primary MoFRR Non-ECMP Flow based entry, e - Encap helper tunnel flag Interface flags: F - Forward, A - Accept, IC - Internal Copy, NS - Negate Signal, DP - Don't Preserve, SP - Signal Present, II - Internal Interest, ID - Internal Disinterest, LI - Local Interest, LD - Local Disinterest, MD - mCAC Denied, MI - mLDP Interest A2 - MoFRR ECMP Backup Accept (*,224.0.0.0/4) Flags: C (*,224.0.1.40) RPF nbr: 0.0.0.0 Flags: C TenGigabitEthernet0/0/2 Flags: F NS TenGigabitEthernet0/0/5 Flags: F NS Loopback0 Flags: F IC NS Tunnel1 Flags: A (*,239.5.5.5) RPF nbr: 0.0.0.0 Flags: C Vif1 Flags: F NS SR(172.16.101.2, 239.55.55.55) Index(2, 2) Tunnel1 Flags: A (*,239.55.55.55) RPF nbr: 0.0.0.0 Flags: C TenGigabitEthernet0/0/5 Flags: F NS Tunnel1 Flags: A (172.16.101.2,239.55.55.55) RPF nbr: 0.0.0.0 Flags: Vif1 Flags: A TenGigabitEthernet0/0/5 Flags: F NS (192.168.0.2,239.5.5.5) RPF nbr: 192.168.0.5 Flags: TenGigabitEthernet0/0/2 Flags: A NS Vif1 Flags: F NS SR(172.16.101.2, 239.55.55.55) Index(2, 2) Mcast_SR#show ip mfib 192.168.0.2 239.5.5.5 Entry Flags: C - Directly Connected, S - Signal, IA - Inherit A flag, ET - Data Rate Exceeds Threshold, K - Keepalive DDE - Data Driven Event, HW - Hardware Installed ME - MoFRR ECMP entry, MNE - MoFRR Non-ECMP entry, MP - MFIB MoFRR Primary, RP - MRIB MoFRR Primary, P - MoFRR Primary MS - MoFRR Entry in Sync, MC - MoFRR entry in MoFRR Client, e - Encap helper tunnel flag. I/O Item Flags: IC - Internal Copy, NP - Not platform switched, NS - Negate Signalling, SP - Signal Present, A - Accept, F - Forward, RA - MRIB Accept, RF - MRIB Forward, MA - MFIB Accept, A2 - Accept backup, RA2 - MRIB Accept backup, MA2 - MFIB Accept backup Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kbits per second Other counts: Total/RPF failed/Other drops I/O Item Counts: HW Pkt Count/FS Pkt Count/PS Pkt Count Egress Rate in pps Default (192.168.0.2,239.5.5.5) Flags: HW SW Forwarding: 1/0/100/0, Other: 0/0/0 HW Forwarding: 6530/0/114/0, Other: 2/2/0 TenGigabitEthernet0/0/2 Flags: A Vif1, SR/(172.16.101.2,239.55.55.55):553648130 Flags: F NS Pkts: 0/0/1 Rate: 0 pps Mcast_SR#show ip mfib 172.16.101.2 239.55.55.55 Entry Flags: C - Directly Connected, S - Signal, IA - Inherit A flag, ET - Data Rate Exceeds Threshold, K - Keepalive DDE - Data Driven Event, HW - Hardware Installed ME - MoFRR ECMP entry, MNE - MoFRR Non-ECMP entry, MP - MFIB MoFRR Primary, RP - MRIB MoFRR Primary, P - MoFRR Primary MS - MoFRR Entry in Sync, MC - MoFRR entry in MoFRR Client, e - Encap helper tunnel flag. I/O Item Flags: IC - Internal Copy, NP - Not platform switched, NS - Negate Signalling, SP - Signal Present, A - Accept, F - Forward, RA - MRIB Accept, RF - MRIB Forward, MA - MFIB Accept, A2 - Accept backup, RA2 - MRIB Accept backup, MA2 - MFIB Accept backup Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kbits per second Other counts: Total/RPF failed/Other drops I/O Item Counts: HW Pkt Count/FS Pkt Count/PS Pkt Count Egress Rate in pps Default (172.16.101.2,239.55.55.55) Flags: HW SW Forwarding: 0/0/0/0, Other: 0/0/0 HW Forwarding: 6550/0/114/0, Other: 0/0/0 Vif1 Flags: A TenGigabitEthernet0/0/5 Flags: F NS Pkts: 0/0/0 Rate: 0 pps Mcast_SR#show adjacency vif1 detail Protocol Interface Address IP Vif1 point2point(8) 13270 packets, 657502 bytes epoch 0 sourced in sev-epoch 0 empty encap string P2P-ADJ
Mcast_SR#show platform software ip rp active mfib group 239.5.5.5/32 Route flags: S - Signal; C - Directly connected; IA - Inherit A Flag; L - Local; BR - Bidir route *, 239.5.5.5/32 --> OBJ_INTF_LIST (0x15) Obj id: 0x15, Flags: C OM handle: 0x3480200a50 Mcast_SR#show platform software ip rp active mfib group 239.55.55.55/32 Route flags: S - Signal; C - Directly connected; IA - Inherit A Flag; L - Local; BR - Bidir route *, 239.55.55.55/32 --> OBJ_INTF_LIST (0x36) Obj id: 0x36, Flags: C OM handle: 0x34801fa988 Mcast_SR#show platform software mlist rp active index 0x15 Multicast List entries OCE Flags: NS - Negate Signalling; IC - Internal copy; A - Accept; F - Forward; OCE Type OCE Flags Interface -------------------------------------------------------------------------------------- 0xf8000029 OBJ_ADJACENCY NS, F Vif1 0xf8000186 OBJ_ADJACENCY A Tunnel1 Mcast_SR#show platform software mlist rp active index 0x36 Multicast List entries OCE Flags: NS - Negate Signalling; IC - Internal copy; A - Accept; F - Forward; OCE Type OCE Flags Interface -------------------------------------------------------------------------------------- 0xf80000d1 OBJ_ADJACENCY NS, F TenGigabitEthernet0/0/5 0xf8000186 OBJ_ADJACENCY A Tunnel1
For the RPF check, it is important to verify this across the different devices in the multicast path.
C9000#show ip rpf 192.168.0.2
RPF information for ? (192.168.0.2)
RPF interface: TenGigabitEthernet1/0/6
RPF neighbor: ? (192.168.0.2) - directly connected
RPF route/mask: 192.168.0.0/30
RPF type: multicast (connected)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base
Mcast_SR#show ip rpf 192.168.0.2
RPF information for ? (192.168.0.2)
RPF interface: TenGigabitEthernet0/0/2
RPF neighbor: ? (192.168.0.5)
RPF route/mask: 192.168.0.0/30
RPF type: unicast (bgp 65001)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base, originated from ipv4 unicast base
Mcast_SR#show ip rpf 172.16.101.2
RPF information for ? (172.16.101.2)
RPF interface: Vif1
RPF neighbor: ? (172.16.101.2) - directly connected
RPF route/mask: 172.16.101.0/30
RPF type: multicast (connected)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base
ASR1000#show ip rpf 172.16.101.2
RPF information for ? (172.16.101.2)
RPF interface: TenGigabitEthernet0/1/1
RPF neighbor: ? (172.16.0.1)
RPF route/mask: 172.16.101.0/30
RPF type: unicast (bgp 65002)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base, originated from ipv4 unicast base
Finally, you can confirm the traffic being received and forwarded at the LHR, the first capture shows how ASR1000 received the packets from the new stream (172.16.101.2, 239.55.55.55) where the IPv4 addresses were translated as expected. The second capture shows the traffic being forwarded to the Receiver.
ASR1000#monitor capture LHR buffer size 10 match any interface TenGigabitEthernet 0/1/1 in
ASR1000#monitor capture LHR start
Started capture point : LHR
*Oct 17 15:16:06.192: %BUFCAP-6-ENABLE: Capture Point LHR enabled.show moni
ASR1000#show monitor capture LHR buffer brief
----------------------------------------------------------------------------
# size timestamp source destination dscp protocol
----------------------------------------------------------------------------
0 73 0.000000 172.16.0.1 -> 172.16.0.2 48 CS6 TCP
1 114 0.050992 172.16.101.2 -> 239.55.55.55 0 BE ICMP
2 114 2.051984 172.16.101.2 -> 239.55.55.55 0 BE ICMP
3 54 2.896993 172.16.0.1 -> 172.16.0.2 48 CS6 TCP
4 114 4.051984 172.16.101.2 -> 239.55.55.55 0 BE ICMP
5 72 4.967989 172.16.0.1 -> 224.0.0.13 48 CS6 PIM
6 114 6.052991 172.16.101.2 -> 239.55.55.55 0 BE ICMP
7 114 8.053983 172.16.101.2 -> 239.55.55.55 0 BE ICMP
8 114 10.053983 172.16.101.2 -> 239.55.55.55 0 BE ICMP
9 114 12.053983 172.16.101.2 -> 239.55.55.55 0 BE ICMP
10 114 14.055997 172.16.101.2 -> 239.55.55.55 0 BE ICMP
11 114 16.056989 172.16.101.2 -> 239.55.55.55 0 BE ICMP
12 114 18.055997 172.16.101.2 -> 239.55.55.55 0 BE ICMP
ASR1000#monitor capture LHR stop
Stopped capture point : LHR
ASR1000#
*Oct 17 15:16:32.029: %BUFCAP-6-DISABLE: Capture Point LHR disabled.
ASR1000#monitor capture TO_RECEIVER buffer size 10 match any interface GigabitEthernet 0/0/0 out
ASR1000#monitor capture TO_RECEIVER start
Started capture point : TO_RECEIVER
*Oct 17 15:19:00.309: %BUFCAP-6-ENABLE: Capture Point TO_RECEIVER enabled.ni
ASR1000#show monitor capture TO_RECEIVER buffer brief
----------------------------------------------------------------------------
# size timestamp source destination dscp protocol
----------------------------------------------------------------------------
0 114 0.000000 172.16.101.2 -> 239.55.55.55 0 BE ICMP
1 46 0.276994 172.16.0.5 -> 224.0.0.1 48 CS6 IGMP
2 114 1.999009 172.16.101.2 -> 239.55.55.55 0 BE ICMP
3 114 4.000000 172.16.101.2 -> 239.55.55.55 0 BE ICMP
4 46 5.550027 172.16.0.5 -> 224.0.1.40 48 CS6 IGMP
5 114 5.999009 172.16.101.2 -> 239.55.55.55 0 BE ICMP
6 114 8.000000 172.16.101.2 -> 239.55.55.55 0 BE ICMP
7 114 10.001007 172.16.101.2 -> 239.55.55.55 0 BE ICMP
8 114 12.001999 172.16.101.2 -> 239.55.55.55 0 BE ICMP
9 114 14.003006 172.16.101.2 -> 239.55.55.55 0 BE ICMP
10 114 16.003998 172.16.101.2 -> 239.55.55.55 0 BE ICMP
ASR1000#monitor capture TO_RECEIVER stop
Stopped capture point : TO_RECEIVER
*Oct 17 15:19:24.938: %BUFCAP-6-DISABLE: Capture Point TO_RECEIVER disabled.
If for some reason the *,G is missing at some point, you can validate the Internet Group Management Protocol (IGMP) status with the commands show ip igmp membership <group> and show ip igmp groups <group>. In this scenario, it is expected to see an entry for the translated multicast group 239.55.55.55.
ASR1000#show ip igmp membership 239.55.55.55
Flags: A - aggregate, T - tracked
L - Local, S - static, V - virtual, R - Reported through v3
I - v3lite, U - Urd, M - SSM (S,G) channel
1,2,3 - The version of IGMP, the group is in
Channel/Group-Flags:
/ - Filtering entry (Exclude mode (S,G), Include mode (G))
Reporter:
<mac-or-ip-address> - last reporter if group is not explicitly tracked
<n>/<m> - <n> reporter in include mode, <m> reporter in exclude
Channel/Group Reporter Uptime Exp. Flags Interface
*,239.55.55.55 172.16.0.6 1w0d 02:40 2A Gi0/0/0
ASR1000#show ip igmp groups 239.55.55.55
IGMP Connected Group Membership
Group Address Interface Uptime Expires Last Reporter Group Accounted
239.55.55.55 GigabitEthernet0/0/0 01:11:56 00:02:49 172.16.0.6
In addition, at the LHR a verification of the mroute can be used to confirm that the interface towards the Receiver is added into the OIL and the use of an mtrace to confirm the reverse path to both sources.
ASR1000#show ip mroute 239.55.55.55
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,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route,
x - VxLAN group, c - PFP-SA cache created entry,
* - determined by Assert, # - iif-starg configured on rpf intf,
e - encap-helper tunnel flag, l - LISP Decap Refcnt Contributor
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.55.55.55), 23:28:12/stopped, RP 10.100.100.1, flags: SJC
Incoming interface: TenGigabitEthernet0/1/1, RPF nbr 172.16.0.1
Outgoing interface list:
GigabitEthernet0/0/0, Forward/Sparse, 00:01:52/00:02:48
(172.16.101.2, 239.55.55.55), 00:10:11/00:02:40, flags: JT
Incoming interface: TenGigabitEthernet0/1/1, RPF nbr 172.16.0.1
Outgoing interface list:
GigabitEthernet0/0/0, Forward/Sparse, 00:01:52/00:02:48
ASR1000#mtrace 172.16.101.2
Type escape sequence to abort.
Mtrace from 172.16.101.2 to 172.16.0.2 via RPF
From source (?) to destination (?)
Querying full reverse path...
0 172.16.0.2
-1 172.16.0.2 ==> 172.16.0.2 PIM/MBGP [172.16.101.0/30]
-2 172.16.0.1 ==> 172.16.101.1 PIM_MT [172.16.101.0/30]
-3 172.16.101.2
ASR1000#mtrace 192.168.0.2
Type escape sequence to abort.
Mtrace from 192.168.0.2 to 172.16.0.2 via RPF
From source (?) to destination (?)
Querying full reverse path...
0 172.16.0.2
-1 172.16.0.2 ==> 172.16.0.2 PIM/MBGP [192.168.0.0/30]
-2 172.16.0.1 ==> 192.168.0.6 PIM/MBGP [192.168.0.0/30]
-3 192.168.0.5 ==> 192.168.0.1 PIM_MT [192.168.0.0/30]
-4 192.168.0.2
Revision | Publish Date | Comments |
---|---|---|
1.0 |
20-Oct-2023 |
Initial Release |