ACI L3 Multicast Troubleshoot – Part-3: Source and Receiver inside ACI – Topology 1

ACI L3 Multicast Troubleshoot – Part-3: Source and Receiver inside ACI – Topology 1

Topology:


I- Receiver sends out IGMP Report


1- Receiver on leaf-3-4 sends IGMP Join:

  • IGMP entry added to leaf-3-4:


leaf3# show ip igmp groups vrf bameur_MC:VRF-MC3
Type: S - Static, D - Dynamic, L - Local, T - SSM Translated
IGMP Connected Group Membership for VRF "bameur_MC:VRF-MC3"
Group Address        Type   Interface    Uptime               Expires              Last Reporter       
239.252.1.1          D      vlan1        00:02:38             00:04:18             172.16.30.100 Code language: CSS (css)
  • (*,G) installed to leaf-3-4:
leaf3# show ip mroute vrf bameur_MC:VRF-MC3
IP Multicast Routing Table for VRF "bameur_MC:VRF-MC3"

(*, 239.252.1.1/32), uptime: 00:02:28, igmp ip pim 
  Incoming interface: Tunnel29, RPF nbr: 10.0.48.64
  Outgoing interface list: (count: 1)
    Vlan1, uptime: 00:02:28, igmp


2- IGMP Join interest Published to COOP:

Leaf-3-4 which received IGMP join will publish it to COOP:

spine1# show coop internal info repo mgroup 

Repo Hdr Checksum : 31107
Repo Hdr record timestamp : 04 01 2024 17:18:52 546072850
Repo Hdr last pub timestamp : 04 01 2024 17:18:52 546357630
Repo Hdr last dampen timestamp : 01 01 1970 00:00:00 0
Repo Hdr dampen penalty : 0
Repo Hdr flags : IN_OBJ EXPORT 
VRF Vnid : 2359298 
mgroup src ip : 0.0.0.0 
mgroup group ip : 239.252.1.1 
Flags : 0x0x1 afi 0
Local leafs 2 (active: 2 deleted: 0)

Leaf 0 Info : 
Leaf Repo Hdr Checksum : 0
Leaf Repo Hdr record timestamp : 04 01 2024 17:18:52 545181961
Leaf Repo Hdr last pub timestamp : 04 01 2024 17:18:52 545607110
Leaf Repo Hdr last dampen timestamp : 01 01 1970 00:00:00 0
Leaf Repo Hdr dampen penalty : 0
Leaf Repo Hdr flags : IN_OBJ 
Leaf tep ip : 10.0.168.65
Leaf Flags : 0x0 

Leaf 1 Info : 
Leaf Repo Hdr Checksum : 0
Leaf Repo Hdr record timestamp : 04 01 2024 17:18:52 546072850
Leaf Repo Hdr last pub timestamp : 04 01 2024 17:18:52 546357630
Leaf Repo Hdr last dampen timestamp : 01 01 1970 00:00:00 0
Leaf Repo Hdr dampen penalty : 0
Leaf Repo Hdr flags : IN_OBJ 
Leaf tep ip : 10.0.168.70
Leaf Flags : 0x0 

oldest local publish timestamp: 04 01 2024 17:18:52 545607110
MPOD Pub id : 0.0.0.0 
MPOD leafs 0 (active: 0 deleted: 0)
MSITE Pub id : 0.0.0.0 
MSITE leafs 0 (active: 0 deleted: 0)
Hash: 3941556330 owner: 10.0.168.66Code language: CSS (css)
spine1# acidiag fnvread | grep 10.0.168.65
     103        1    leaf3          10.0.168.65/32    leaf         active   0
spine1# acidiag fnvread | grep 10.0.168.70
     104        1    leaf4          10.0.168.70/32    leaf         active   0Code language: PHP (php)


3- COOP Notify the border leafs about the IGMP Interest for the group:

# log_trace_bl_print_tool coop_trace.bl | egrep "239.252.1.1" | egrep "10.0.48.65|10.0.48.64"
[2024-04-01T18:43:52.903181000+02:00:Q:coop_lazy_obj_debug_print:12083] TID 02:[DBG_COOP_TRACE_OBJ]:    addChunk SUCCEEDED: chunkId=32bb priKey {classId=a
22, key=f03b} dn=sys/coop/inst/dom-overlay-1/db-mgrpmbr/mgv4-0-mgv4-0.0.0.0-mgv4-239.252.1.1-mgv4-2359298/rsmcgrp2Leaf-[sys/coop/inst/dom-overlay-1/db-leaf
/leaf-10.0.48.64]
[2024-04-01T18:43:52.904356000+02:00:M:coop_oracle_publish_mgroup_rmt_preprocess:952] TID 29:[DBG_COOP_TRACE_DETAIL_MC]:<2359298, V0, 0.0.0.0, 239.252.1.1>
 MGROUP record Op:Add received: return offset:76 ACTION:Forward
[2024-04-01T18:43:52.904359000+02:00:M:coop_oracle_process_publish_mgroup_add:1129] TID 29:[DBG_COOP_TRACE_DETAIL_MC]:<2359298, V0, 0.0.0.0, 239.252.1.1> (
1711989836:496853947) STORE message with trans_id 293 : Get MGROUP record 0xe0017628 from hash table (hash=7fd0) publish from -353410966.10.0.48 nleafs=65 
flags=1 repo_hdr.flags=1
[2024-04-01T18:43:52.904363000+02:00:D:coop_objs_add_mgroup_link_generic:9460] TID 29:[DBG_COOP_TRACE_DETAIL]:Add mgv4 <1, 0.0.0.0, 239.252.1.1, 240002> to
 leaf 10.0.48.65 linkage Code language: HTML, XML (xml)


4- Stripe Winner Border leaf install (*,G):

  • Leaf-1 stripe winner:
leaf1# show ip pim internal stripe-winner 239.252.1.1 vrf bameur_MC:VRF-MC3
PIM Stripe Winner info for VRF "bameur_MC:VRF-MC3" (BL count: 2)
(*, 239.252.1.1)
BLs:  
Group hash 995921891 VNID 2359298
1.1.1.1  hash: 636258822 (local)
      2.2.2.2  hash: 139927411
Winner: 1.1.1.1 best_hash: 636258822Code language: CSS (css)
  • leaf-1 Installed (*,G):
leaf1# show ip mroute vrf bameur_MC:VRF-MC3
IP Multicast Routing Table for VRF "bameur_MC:VRF-MC3"

(*, 239.252.1.1/32), uptime: 00:20:38, ngmvpn ip pim 
  Incoming interface: Ethernet1/19.187, RPF nbr: 192.168.50.2
  Outgoing interface list: (count: 1) (Fabric OIF)
    Tunnel17, uptime: 00:20:38, ngmvpn


5-Stripe winner leaf-1 sends (*,G) PIM join to RP:

The RP received the (*,G) from Leaf-1 and build the (*,G) tree to the receiver:

RP1# show ip mroute

(*, 239.252.1.1/32), uptime: 00:22:46, pim ip
Incoming interface: Null, RPF nbr: 0.0.0.0
Outgoing interface list: (count: 1)
Ethernet1/3.1058, uptime: 00:22:46, pim


II- Source start sending Multicast traffic

6-Source starts sending multicast traffic:

Source (in our example is locally learned on leaf-1-2 as well) start sending multicast traffic for the group 239.251.1.1:

leaf1# show system internal epm endpoint ip 172.16.31.12

MAC : 0050.56a0.aab2 ::: Num IPs : 1
IP# 0 : 172.16.31.12 ::: IP# 0 flags : host-tracked| ::: l3-sw-hit: Yes ::: flags2 : 
Vlan id : 139 ::: Vlan vnid : 8400 ::: VRF name : bameur_MC:VRF-MC3
BD vnid : 15335397 ::: VRF vnid : 2359298
Phy If : 0x16000000 ::: Tunnel If : 0
Interface : port-channel1
Flags : 0x80005c05 ::: sclass : 49161 ::: Ref count : 5
EP Create Timestamp : 04/01/2024 00:38:46.895396
EP Update Timestamp : 04/01/2024 19:44:25.795808
EP Flags : local|vPC|IP|MAC|host-tracked|sclass|timer|


7-FHMR Register to the RP

checked via ELAM that multicast traffic from source 172.16.31.12 hit leaf-2 (bashed on vPC hash):

Leaf-2 acting as FHMR will send out PIM Register to RP 192.168.30.10:

leaf2# show ip route 192.168.30.10 vrf bameur_MC:VRF-MC3

192.168.30.10/32, ubest/mbest: 1/0
    *via 192.168.60.2%bameur_MC:VRF-MC3, [20/0], 19:36:27, bgp-65001, external, tag 65033
         recursive next hop: 192.168.60.2/32%bameur_MC:VRF-MC3Code language: PHP (php)
  • RP install (S,G) and send (S,G) PIM join to the source:
RP# show ip mroute


(*, 239.252.1.1/32), uptime: 04:47:06, pim ip 
  Incoming interface: Null, RPF nbr: 0.0.0.0
  Outgoing interface list: (count: 1)
    Ethernet1/3.1058, uptime: 04:14:56, pim

(172.16.31.12/32, 239.252.1.1/32), uptime: 05:14:02, pim mrib ip 
  Incoming interface: Ethernet1/7.1058, RPF nbr: 192.168.60.1, internal
  Outgoing interface list: (count: 0)


Next steps may not be applicable for our design where BL (Stripe winner is also FHMR connected to the source), but for different topology, it would apply:

8-LHMR (Leaf-1) send (S,G) to the source:

Multicast traffic will flow through the (*,G) built from RP to the LHMR (which is represented by leaf-1 the Stripe winner for this multicast group), Once Leaf-1 receive the multicast traffic from source, it will by default activate LHMR functionality and send join to (S,G) and source is reachable via the fabric (as endpoint).


9-LHMR receives multicast traffic via (S,G) and send (S,G) Prune to the RP:

Once the (LHMR, Leaf-1) receives multicast traffic on the (S,G) tree, the switchover is complete and we can say LHMR joined the SPT to the source.

A (S,G) Prune message is sent from Leaf-1 toward the RP indicating that it has switched to the SPT.


Final mroute state:

Leaf-3 (Receiver leaf):

leaf3# show ip mroute vrf bameur_MC:VRF-MC3
IP Multicast Routing Table for VRF "bameur_MC:VRF-MC3"

(*, 239.252.1.1/32), uptime: 05:23:35, ip pim igmp 
  Incoming interface: Tunnel29, RPF nbr: 10.0.48.64
  Outgoing interface list: (count: 1)
    Vlan1, uptime: 04:51:26, igmp


Leaf-1 (BL stripe winner and FHMR):

leaf1# show ip mroute vrf bameur_MC:VRF-MC3
IP Multicast Routing Table for VRF "bameur_MC:VRF-MC3"


(*, 239.252.1.1/32), uptime: 05:24:54, ip pim ngmvpn 
  Incoming interface: Ethernet1/19.187, RPF nbr: 192.168.50.2
  Outgoing interface list: (count: 1) (Fabric OIF)
    Tunnel17, uptime: 04:52:44, ngmvpn

(172.16.31.12/32, 239.252.1.1/32), uptime: 04:57:34, mrib ip pim 
  Incoming interface: Tunnel17, RPF nbr: 10.0.128.65 (pervasive)
  Outgoing interface list: (count: 1)
    Tunnel17, uptime: 04:52:44, mrib, (RPF)


Leaf-2 (BL, non stripe winner and FHMR):

leaf2# show ip mroute vrf bameur_MC:VRF-MC3
IP Multicast Routing Table for VRF "bameur_MC:VRF-MC3"

(172.16.31.12/32, 239.252.1.1/32), uptime: 04:55:43, ip pim mrib 
  Incoming interface: Tunnel17, RPF nbr: 10.0.128.65 (pervasive)
  Outgoing interface list: (count: 0)

Bilel-A

Enthusiastic Network Engineer specializing in Cisco ACI, passionate about solving challenges. A lifelong learner who loves gaining and sharing knowledge. Profile: https://www.linkedin.com/in/bilel-ameur-71116b2b5
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x