[c-nsp] IOS XR needs PIM&MLD for clients to receive multicast stream

Mikael Abrahamsson swmike at swm.pp.se
Mon Feb 9 09:28:23 EST 2015


Hi,

I am re-learning multicast for the 3-4th time in the past 10 years now so 
I'm rusty.

IOS XR machine (ASR9k). PIM-SSM (group in ff38::/96)

multicast-source--R1--R2--R3--client

This is R3:

multicast-routing
  address-family ipv6
   interface-inheritance disable
   interface all enable

I enable the interface in "router pim" and "router mld", and everything is 
fine, client can receive multicast stream after MLD join, mrib of course 
looks great.

Why can't I now disable PIM? Why is PIM needed on a client-only interface 
wherefrom I don't need any multicast sourced, just want clients to be able 
to MLD join streams from elsewhere. If I disable PIM, mrib still looks 
almost the same, but there is no multicast being forwarded out that 
interface towards the client.

I really would like to avoid having to run PIM on thousands of 
(sub)interfaces, which on top of everything needs to be protected with an 
ACL because I don't want my customers to be able to establish a PIM 
session with my router.

Without PIM:

#show mrib ipv6 route <source-IPv6-address>
Mon Feb  9 15:17:16.770 CET

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,
     IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
     MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
     CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet
     MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
     MoFB - MoFRR Backup, RPFID - RPF ID Set
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, DI - Decapsulation Interface
     EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
     EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
     MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
     IRMI - IR MDT Interface

(<source>,<group>)
   RPF nbr: fe80::da67:d9ff:fe4b:510c Flags:
   Up: 00:00:09
   Incoming Interface List
     HundredGigE0/0/0/0 Flags: A, Up: 00:00:09
   Outgoing Interface List
     TenGigE0/2/0/3.2021 Flags: LI, Up: 00:00:09

When I enable PIM, I get:

   Outgoing Interface List
     TenGigE0/2/0/3.2021 Flags: F NS LI, Up: 00:01:59

Now everything works as it should.

and when I disable PIM, it goes back to:

   Outgoing Interface List
     TenGigE0/2/0/3.2021 Flags: LI, Up: 00:02:36

F means "Forward", so it's pretty obvious that the forwarding plane stops 
the forwarding of this multicast group without PIM enabled on the 
interface. I just don't understand why.

Could someone please enlighten me?

-- 
Mikael Abrahamsson    email: swmike at swm.pp.se


More information about the cisco-nsp mailing list