...
The Rendezvous Point will decapsulate the PIM Data Register and software-forward the data portion if there are relevant OIFs for that group.
- A Nexus 9000 Rendezvous Point (RP) receives a PIM Data Register.
Expected behavior
Lab Outputs =================== + 1 packet is pinged out using multicast group 239.0.0.1. Only 1 packet is used because we want to verify that the first multicast packet is successfully forwarded through the topology instead of being blackholed when multicast state is created. Since we have a response, we know that the original data packet was forwarded all the way to the Receiver. ---------------------------------------------------------------------------------------------------------------------------------- SOURCE# ping multicast 239.0.0.1 interface eth1/45 count 1 PING 239.0.0.1 (239.0.0.1): 56 data bytes 64 bytes from 10.0.2.2: icmp_seq=0 ttl=252 time=3.052 ms + The FHR punted up the ping packet to create a PIM Data Register ---------------------------------------------------------------------------------------------------------------------------------- FHR# ethanalyzer local interface inband display-filter "pim and icmp" limit-c 0 Capturing on inband 2023-07-21 12:34:51.241283 10.0.0.1 -> 239.0.0.1 ICMP Echo (ping) request 2023-07-21 12:34:51.241934 10.0.0.1 -> 239.0.0.1 PIMv2 Register 2023-07-21 12:34:51.242418 1.1.1.1 -> 10.0.0.2 PIMv2 Register-stop + The RP receives the Data Register, sends a Register Stop, and then forwards the Data ----------------------------------------------------------------------------------------------------------------------- RP# show ip mroute IP Multicast Routing Table for VRF "default" (*, 232.0.0.0/8), uptime: 18:15:33, pim ip Incoming interface: Null, RPF nbr: 0.0.0.0 Outgoing interface list: (count: 0) (*, 239.0.0.1/32), uptime: 00:00:02, igmp ip pim Incoming interface: loopback1, RPF nbr: 1.1.1.1 Outgoing interface list: (count: 1) Ethernet1/50, uptime: 00:00:02, igmp <<<<<<<<< Since we have an IGMP learned OIF, we have a valid OIF for 239.0.0.1. RP# ethanalyzer local interface inband display-filter "pim or icmp" limit-c 0 Capturing on inband 2023-07-21 12:24:59.421608 10.0.0.1 -> 239.0.0.1 PIMv2 Register <<< Data Register 2023-07-21 12:24:59.422020 1.1.1.1 -> 10.0.0.2 PIMv2 Register-stop 2023-07-21 12:24:59.422083 10.0.0.1 -> 239.0.0.1 ICMP Echo (ping) request <<< The Data within the Data Register is decapsulated and software-forwarded + The Receiver receives the ping and responds. --------------------------------------------------------------------------------------------------------- Receiver# ethanalyzer local interface inband display-filter icmp limit-c 0 Capturing on inband 2023-07-21 12:37:16.924478 10.0.0.1 -> 239.0.0.1 ICMP Echo (ping) request 2023-07-21 12:37:16.924904 10.0.2.2 -> 10.0.0.1 ICMP Echo (ping) reply + Here are some detailed ethanalyzer packets that show that the packet within the Data Register is the same as the one sent by the CPU =================== PIM Data Register =================== Internet Protocol, Src: 10.0.0.2 (10.0.0.2), Dst: 1.1.1.1 (1.1.1.1) Version: 4 Header length: 20 bytes Differentiated Services Field: 0xc0 (DSCP 0x30: Class Selector 6; ECN: 0x00) 1100 00.. = Differentiated Services Codepoint: Class Selector 6 (0x30) .... ..0. = ECN-Capable Transport (ECT): 0 .... ...0 = ECN-CE: 0 Total Length: 112 Identification: 0xd79f (55199) Flags: 0x00 0.. = Reserved bit: Not Set .0. = Don't fragment: Not Set ..0 = More fragments: Not Set Fragment offset: 0 Time to live: 255 Protocol: PIM (0x67) Header checksum: 0xd6c3 [correct] [Good: True] [Bad : False] Source: 10.0.0.2 (10.0.0.2) Destination: 1.1.1.1 (1.1.1.1) Protocol Independent Multicast Version: 2 Type: Register (1) Checksum: 0xdeff [correct] PIM parameters Flags: 0x00000000 0... .... .... .... .... .... .... .... = Not border .0.. .... .... .... .... .... .... .... = Not Null-Register Internet Protocol, Src: 10.0.0.1 (10.0.0.1), Dst: 239.0.0.1 (239.0.0.1) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .... ..0. = ECN-Capable Transport (ECT): 0 .... ...0 = ECN-CE: 0 Total Length: 84 Identification: 0xd35a (54106) Flags: 0x00 0.. = Reserved bit: Not Set .0. = Don't fragment: Not Set ..0 = More fragments: Not Set Fragment offset: 0 Time to live: 253 Protocol: ICMP (0x01) Header checksum: 0xf14b [correct] [Good: True] [Bad : False] Source: 10.0.0.1 (10.0.0.1) Destination: 239.0.0.1 (239.0.0.1) Internet Control Message Protocol Type: 8 (Echo (ping) request) Code: 0 () Checksum: 0x8c2e [correct] Identifier: 0xa627 Sequence number: 256 (0x0100) Data (56 bytes) ================================================================================ Immediately after we see the encapsulated packet within the DATA Register being sent out of the CPU ================================================================================ Ethernet II, Src: 00:3a:9c:1b:80:07 (00:3a:9c:1b:80:07), Dst: 01:00:5e:00:00:01 (01:00:5e:00:00:01) Destination: 01:00:5e:00:00:01 (01:00:5e:00:00:01) Address: 01:00:5e:00:00:01 (01:00:5e:00:00:01) .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Source: 00:3a:9c:1b:80:07 (00:3a:9c:1b:80:07) Address: 00:3a:9c:1b:80:07 (00:3a:9c:1b:80:07) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol, Src: 10.0.0.1 (10.0.0.1), Dst: 239.0.0.1 (239.0.0.1) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .... ..0. = ECN-Capable Transport (ECT): 0 .... ...0 = ECN-CE: 0 Total Length: 84 Identification: 0xd35a (54106) <<<< the IP Identifier is the same value Flags: 0x00 0.. = Reserved bit: Not Set .0. = Don't fragment: Not Set ..0 = More fragments: Not Set Fragment offset: 0 Time to live: 252 <<<<< TTL decremented by 1 Protocol: ICMP (0x01) Header checksum: 0xf24b [correct] [Good: True] [Bad : False] Source: 10.0.0.1 (10.0.0.1) Destination: 239.0.0.1 (239.0.0.1) Internet Control Message Protocol Type: 8 (Echo (ping) request) Code: 0 () Checksum: 0x8c2e [correct] <<<< The checksum is the same value Identifier: 0xa627 Sequence number: 256 (0x0100) Data (56 bytes)
Click on a version to see all relevant bugs
Cisco Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.