Contents

Introduction

Background Information

Changes

Test 1. Remote Receiver Joins with No Local Receiver

Test 2. Remote Receiver Joins with Local Receiver

Introduction

This document describes a 5 seconds delay in forwarding multicast traffic over the Multipoint Label Distribution Protocol (mLDP) tree when a Remote Receiver joins the multicast Group and when the ingress PE router runs Cisco IOS® XR.

Background Information

A Remote Receiver is a Receiver across the mLDP backbone from the point of view of the Source.

The 5 seconds delay was introduced on purpose due to Cisco bug ID CSCvb50266     5 Seconds MLDP forwarding delay to local receiver when there is an existing MVPN receiver

This CDETS was created to work around the issue of Cisco bug ID CSCtg68851 Switchover from default to Data MDTs is not hitless for LC multipath

Changes

- If the ingress PE router runs an IOS®-XR version after Cisco bug ID CSCtg68851 , the 5 second delay is be there.

- If the ingress PE router runs an IOS®-XR version after Cisco bug ID CSCvb50266 , the 5 second delay is there by default.

If this is not wanted, the forwarding of the multicast stream can be speed up by a hidden configuration command.

Here is an example.

Look at Figure 1 for a test topology.

CE1 is the Source 10.100.1.5 for the multicast stream 232.1.1.1.

CE2 and CE1-B are the receivers for the multicast stream 232.1.1.1.

Test 1. Remote Receiver Joins with No Local Receiver

Debug enabled:

RP/0/0/CPU0:PE1#debug mrib vrf one route

RP/0/0/CPU0:PE1#debug mfib vrf one ipv4 encap

RP/0/0/CPU0:PE1#show debug

####  debug flags set from tty 'con0_0_CPU0'  ####

ipv4 mfwd encap flag is ON with value '0x1##one'

ipv4 mrib route flag is ON with value 'one#'

There is no local receiver on the ingress PE router PE1:

RP/0/0/CPU0:PE1#sh mrib vrf one route 232.1.1.1 10.100.1.5

No matching route in MRIB route-DB

RP/0/0/CPU0:PE1#

The remote receiver CE1 comes online:

RP/0/0/CPU0:PE1#RP/0/0/CPU0:Feb 13 10:26:33.280 : mrib[1149]:   [  6] TID: 0xe0000010 (10.100.1.5,232.1.1.1) Added RPF* EID*, #A=1, #F=1, #MDT_A=0, RPF=10.2.1.5 [Lm F* LMI* TR*] [Gi0/0/0/0 A*], Route Ver = 0x7ca

RP/0/0/CPU0:Feb 13 10:26:33.290 : ipv4_mfwd_partner[263]: Encap: encap id set  eid: 1 (10.100.1.5,232.1.1.1)

RP/0/0/CPU0:Feb 13 10:26:33.300 : mrib[1149]:   [  6] TID: 0xe0000010 (10.100.1.5,232.1.1.1) Updated RPF EID*, #A=1, #F=1, #MDT_A=0 [Lm F LMI* MA* TR], Route Ver = 0x7cc

RP/0/0/CPU0:Feb 13 10:26:33.310 : ipv4_mfwd_partner[263]: Encap: ip_mfwd_mrib_pre_process_encapid_update: encapid: 2, te_ole_cnt: 0,lsmid_ole_cnt: 1, gre_ole_cnt: 0 ti_mofrr_ole_cnt: 0 flags: 0x0

RP/0/0/CPU0:Feb 13 10:26:33.310 : ipv4_mfwd_partner[263]: Encap: [2482] Encap entry created (0xa10cb414) for eid 2 (stale N) flags 0x0

RP/0/0/CPU0:Feb 13 10:26:33.310 : ipv4_mfwd_partner[263]: Encap: [3039] RegDB entry 0xa08fd084 for LSMID 0x1d turnaround TRUE(new: Y ifh_changed N) ifhandle: b0

RP/0/0/CPU0:Feb 13 10:26:33.310 : ipv4_mfwd_partner[263]: Encap: [3533] Encap entry for eid 2 (0xa10cb414) proc done

RP/0/0/CPU0:Feb 13 10:26:33.310 : ipv4_mfwd_partner[263]: Encap: encap id update eid: 2 (10.100.1.5,232.1.1.1)

There is no delay to set the encap-ID on the ingress PE router.

This is the multicast forwarding entry created on the ingress PE router:

RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.1 10.100.1.5

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, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

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

(10.100.1.5,232.1.1.1) RPF nbr: 10.2.1.5 Flags: RPF

Up: 00:02:29

Incoming Interface List

GigabitEthernet0/0/0/0 Flags: A, Up: 00:02:2

Outgoing Interface List

Lmdtone Flags: F LMI MA TR, Up: 00:02:29

RP/0/0/CPU0:PE1#show mfib vrf one route 232.1.1.1 10.100.1.5 detail

IP Multicast Forwarding Information Base

Entry flags: C - Directly-Connected Check, S - Signal, D - Drop,

IA - Inherit Accept, IF - Inherit From, EID - Encap ID,

ME - MDT Encap, MD - MDT Decap, MT - MDT Threshold Crossed,

MH - MDT interface handle, CD - Conditional Decap,

DT - MDT Decap True, EX - Extranet, RPFID - RPF ID Set,

MoFE - MoFRR Enabled, MoFS - MoFRR State, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

EG - Egress, EI - Encapsulation Interface, MI - MDT Interface,

EX - Extranet, A2 - Secondary Accept

Forwarding/Replication Counts: Packets in/Packets out/Bytes out

Failure Counts: RPF / TTL / Empty Olist / Encap RL / Other

(10.100.1.5,232.1.1.1),  Flags:  EID , FMA: 0x10000 ,

Up: 00:02:48

Last Used: 00:00:01

SW Forwarding Counts: 168/168/16800

SW Replication Counts: 168/0/0

SW Failure Counts: 0/0/0/0/0

Route ver: 0x7d0

MVPN Info :-

Associated Table ID : 0xe0000000

MDT Handle: 0x0, MDT Probe:Y [Y], Rate:Y, Acc:Y

MDT SW Ingress Encap V4/V6, Egress decap: 0 / 0, 0

Encap ID: 2, RPF ID: 0

Local Receiver: False, Turnaround: False

Lmdtone Flags:  F LMI TR, Up:00:02:48

GigabitEthernet0/0/0/0 Flags:  A, Up:00:02:48

Test 2. Remote Receiver Joins with Local Receiver

There is a local receiver at ingress PE PE1:

RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.1 10.100.1.5

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, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

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

(10.100.1.5,232.1.1.1) RPF nbr: 10.2.1.5 Flags: RPF

Up: 00:57:15

Incoming Interface List

GigabitEthernet0/0/0/0 Flags: A, Up: 00:57:15

Outgoing Interface List

GigabitEthernet0/0/0/2 Flags: F NS, Up: 00:57:15

Debugs enabled:

RP/0/0/CPU0:PE1#debug mrib vrf one route

RP/0/0/CPU0:PE1#debug mfib vrf one ipv4 encap

RP/0/0/CPU0:PE1#show debug

####  debug flags set from tty 'con0_0_CPU0'  ####

ipv4 mfwd encap flag is ON with value '0x1##one'

ipv4 mrib route flag is ON with value 'one#'

RP/0/0/CPU0:PE1#show mfib vrf one route 232.1.1.1 10.100.1.5 detail

IP Multicast Forwarding Information Base

Entry flags: C - Directly-Connected Check, S - Signal, D - Drop,

IA - Inherit Accept, IF - Inherit From, EID - Encap ID,

ME - MDT Encap, MD - MDT Decap, MT - MDT Threshold Crossed,

MH - MDT interface handle, CD - Conditional Decap,

DT - MDT Decap True, EX - Extranet, RPFID - RPF ID Set,

MoFE - MoFRR Enabled, MoFS - MoFRR State, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

EG - Egress, EI - Encapsulation Interface, MI - MDT Interface,

EX - Extranet, A2 - Secondary Accept

Forwarding/Replication Counts: Packets in/Packets out/Bytes out

Failure Counts: RPF / TTL / Empty Olist / Encap RL / Other

(10.100.1.5,232.1.1.1),  Flags:  , FMA: 0x10001 ,

Up: 00:59:35

Last Used: 00:00:01

SW Forwarding Counts: 3566/3566/356600

SW Replication Counts: 3566/3566/356600

SW Failure Counts: 0/0/0/0/0

Route ver: 0x3410

MVPN Info :-

MDT Handle: 0x0, MDT Probe:N [N], Rate:Y, Acc:Y

MDT SW Ingress Encap V4/V6, Egress decap: 0 / 0, 0

EG count: 1

Encap ID: 0, RPF ID: 0

Local Receiver: True, Turnaround: False

GigabitEthernet0/0/0/0 Flags:  A, Up:00:59:35

GigabitEthernet0/0/0/2 Flags:  NS EG, Up:00:59:35

The encap-ID is 0 because there is no remote receiver yet.

CE2, the remote receiver comes online:

RP/0/0/CPU0:PE1#RP/0/0/CPU0:Feb 13 09:13:34.390 : mrib[1149]:   [  6] TID: 0xe0000010 (10.100.1.5,232.1.1.1) Updated RPF EID*, #A=1, #F=2, #MDT_A=0 [Lm F* LMI* TR*], Route Ver = 0x3412

RP/0/0/CPU0:Feb 13 09:13:34.390 : mrib[1149]:   [ 22] Redistributed

RP/0/0/CPU0:Feb 13 09:13:34.390 : ipv4_mfwd_partner[263]: Encap: ip_mfwd_mrib_pre_process_encapid_update: encapid: 6, te_ole_cnt: 0,lsmid_ole_cnt: 1, gre_ole_cnt: 0 ti_mofrr_ole_cnt: 0 flags: 0x1

RP/0/0/CPU0:Feb 13 09:13:34.390 : ipv4_mfwd_partner[263]: Encap: [2482] Encap entry created (0xa08fd9d0) for eid 6 (stale N) flags 0x1

RP/0/0/CPU0:Feb 13 09:13:34.390 : ipv4_mfwd_partner[263]: Encap: [3039] RegDB entry 0xa10b5404 for LSMID 0x1 turnaround TRUE(new: N ifh_changed N) ifhandle: b0

RP/0/0/CPU0:Feb 13 09:13:34.390 : ipv4_mfwd_partner[263]: Encap: [3533] Encap entry for eid 6 (0xa08fd9d0) proc done

RP/0/0/CPU0:Feb 13 09:13:34.410 : mrib[1149]:   [  6] TID: 0xe0000010 (10.100.1.5,232.1.1.1) Updated RPF EID*, #A=1, #F=2, #MDT_A=0 [Lm F LMI* MA* TR], Route Ver = 0x3414

RP/0/0/CPU0:Feb 13 09:13:34.410 : mrib[1149]:   [  6] TID: 0xe0000010 (10.100.1.5,232.1.1.1) Updated RPF EID, #A=1, #F=2, #MDT_A=0 [Lm F LMI* MA TR], Route Ver = 0x3415

RP/0/0/CPU0:Feb 13 09:13:34.410 : ipv4_mfwd_partner[263]: Encap: ip_mfwd_mrib_pre_process_encapid_update: encapid: 7, te_ole_cnt: 0,lsmid_ole_cnt: 1, gre_ole_cnt: 0 ti_mofrr_ole_cnt: 0 flags: 0x1

RP/0/0/CPU0:Feb 13 09:13:34.410 : ipv4_mfwd_partner[263]: Encap: [2482] Encap entry created (0xa08fd8a8) for eid 7 (stale N) flags 0x1

RP/0/0/CPU0:Feb 13 09:13:34.410 : ipv4_mfwd_partner[263]: Encap: [3039] RegDB entry 0xa08fd824 for LSMID 0x1c turnaround TRUE(new: Y ifh_changed N) ifhandle: b0

RP/0/0/CPU0:Feb 13 09:13:34.410 : ipv4_mfwd_partner[263]: Encap: [3533] Encap entry for eid 7 (0xa08fd8a8) proc done

RP/0/0/CPU0:Feb 13 09:13:34.500 : mrib[1149]:   [  6] TID: 0xe0000010 (10.100.1.5,232.1.1.1) Updated RPF EID, #A=1, #F=2, #MDT_A=0 [Lm F LMI* MA TR], Route Ver = 0x3416

RP/0/0/CPU0:Feb 13 09:13:34.620 : mrib[1149]:   [ 22] Redistributed

RP/0/0/CPU0:Feb 13 09:13:34.620 : mrib[1149]:   [  6] TID: 0xe0000010 (10.100.1.5,232.1.1.1) Updated RPF EID, #A=1, #F=2, #MDT_A=0 [Lm F LMI* MA TR], Route Ver = 0x3417

RP/0/0/CPU0:Feb 13 09:13:34.620 : ipv4_mfwd_partner[263]: Encap: ip_mfwd_mrib_pre_process_encapid_update: encapid: 7, te_ole_cnt: 0,lsmid_ole_cnt: 1, gre_ole_cnt: 0 ti_mofrr_ole_cnt: 0 flags: 0x1

RP/0/0/CPU0:Feb 13 09:13:34.620 : ipv4_mfwd_partner[263]: Encap: [2482] Encap entry existing (0xa08fd8a8) for eid 7 (stale N) flags 0x1

RP/0/0/CPU0:Feb 13 09:13:34.620 : ipv4_mfwd_partner[263]: Encap: [3533] Encap entry for eid 7 (0xa08fd8a8) proc done

RP/0/0/CPU0:Feb 13 09:13:39.570 : ipv4_mfwd_partner[263]: Encap: encap id set  eid: 7 (10.100.1.5,232.1.1.1)

The encap-ID is set to 7, 5 seconds after the encap-ID was created and the Multicast Routing Information Base (MRIB) was updated with the Labeled MDT (LMDT) interface for Virtual Routing and Forwarding (VRF) one in the Outgoing Interface List (OIL).

RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.1 10.100.1.5

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, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

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

(10.100.1.5,232.1.1.1) RPF nbr: 10.2.1.5 Flags: RPF

Up: 01:04:11

Incoming Interface List

GigabitEthernet0/0/0/0 Flags: A, Up: 01:04:11

Outgoing Interface List

Lmdtone Flags: F LMI MA TR, Up: 00:03:33

GigabitEthernet0/0/0/2 Flags: F NS, Up: 01:04:11

RP/0/0/CPU0:PE1#show mfib vrf one route 232.1.1.1 10.100.1.5 detail

IP Multicast Forwarding Information Base

Entry flags: C - Directly-Connected Check, S - Signal, D - Drop,

IA - Inherit Accept, IF - Inherit From, EID - Encap ID,

ME - MDT Encap, MD - MDT Decap, MT - MDT Threshold Crossed,

MH - MDT interface handle, CD - Conditional Decap,

DT - MDT Decap True, EX - Extranet, RPFID - RPF ID Set,

MoFE - MoFRR Enabled, MoFS - MoFRR State, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

EG - Egress, EI - Encapsulation Interface, MI - MDT Interface,

EX - Extranet, A2 - Secondary Accept

Forwarding/Replication Counts: Packets in/Packets out/Bytes out

Failure Counts: RPF / TTL / Empty Olist / Encap RL / Other

(10.100.1.5,232.1.1.1),  Flags:  EID , FMA: 0x10001 ,

Up: 01:04:25

Last Used: 00:00:00

SW Forwarding Counts: 3856/3856/385600

SW Replication Counts: 3856/3856/385600

SW Failure Counts: 0/0/0/0/0

Route ver: 0x3417

MVPN Info :-

Associated Table ID : 0xe0000000

MDT Handle: 0x0, MDT Probe:Y [Y], Rate:Y, Acc:Y

MDT SW Ingress Encap V4/V6, Egress decap: 0 / 0, 0

EG count: 1

Encap ID: 7, RPF ID: 0

Local Receiver: True, Turnaround: False

Lmdtone Flags:  F LMI TR, Up:00:03:47

GigabitEthernet0/0/0/0 Flags:  A, Up:01:04:25

GigabitEthernet0/0/0/2 Flags:  NS EG, Up:01:04:25

So, the remote receiver has an extra delay of 5 seconds in receiving this multicast stream.

Note: The LMDT interface got added in the MRIB immediately and that the LMDT interface also got added in the MFIB immediately with the F flag, but with the encap ID not set.

The encap ID in the MFIB got set after the 5 seconds delay.

After Cisco bug ID CSCvb50266 , the delay is 5 seconds for the programming of the encap-ID when a remote receiver joins. This is the new default behavior.

Run the command show pim vrf <> context in order to verify the behavior:

RP/0/0/CPU0:PE1#show pim vrf one context

PIM context information for VRF one (0x12b70184)

VRF ID: 0x60000001

Table ID: 0xe0000010

Remote Table ID: 0xe0800010

MDT Default Group : 0.0.0.0

MDT Source : (10.100.1.1, Loopback0) Per-VRF

MDT Immediate Switch Not Configured

MDT handle: 0x0(Null)

Context Active, ITAL Active

Routing Enabled

Registered with MRIB

Not owner of MDT Interface

Raw socket req: T, act: T, LPTS filter req: T, act: T

UDP socket req: T, act: T, UDP vbind req: T, act: T

Reg Inj socket req: T, act: T, Reg Inj LPTS filter req: T, act: T

Mhost Default Interface : GigabitEthernet0/0/0/0 (publish pending: F)

Remote MDT Default Group : 0.0.0.0

Backup MLC virtual interface: Null

Neighbor-filter: -

MDT Neighbor-filter: -

Run this hidden command mdt immediate-switch in order to remove the delay of 5 seconds.

RP/0/0/CPU0:PE1#conf t

RP/0/0/CPU0:PE1(config)#multicast-routing vrf one

RP/0/0/CPU0:PE1(config-mcast-one)#address-family ipv4

RP/0/0/CPU0:PE1(config-mcast-one-ipv4)#mdt immediate-switch

RP/0/0/CPU0:PE1(config-mcast-one-ipv4)#commit

Note: As of 7.4.1, the command is no longer hidden.

RP/0/0/CPU0:PE1#show pim vrf one context

PIM context information for VRF one (0x12b70184)

VRF ID: 0x60000001

Table ID: 0xe0000010

Remote Table ID: 0xe0800010

MDT Default Group : 0.0.0.0

MDT Source : (10.100.1.1, Loopback0) Per-VRF

MDT Immediate Switch Configured

MDT handle: 0x0(Null)

Context Active, ITAL Active

Routing Enabled

Registered with MRIB

Not owner of MDT Interface

Raw socket req: T, act: T, LPTS filter req: T, act: T

UDP socket req: T, act: T, UDP vbind req: T, act: T

Reg Inj socket req: T, act: T, Reg Inj LPTS filter req: T, act: T

Mhost Default Interface : GigabitEthernet0/0/0/0 (publish pending: F)

Remote MDT Default Group : 0.0.0.0

Backup MLC virtual interface: Null

Neighbor-filter: -

MDT Neighbor-filter: -

This command does not show up in the running configuration:

RP/0/0/CPU0:PE1#show running-config multicast-routing vrf one

multicast-routing

vrf one

address-family ipv4

interface GigabitEthernet0/0/0/0

enable

!

interface GigabitEthernet0/0/0/2

enable

!

mdt source Loopback0

rate-per-route

accounting per-prefix

bgp auto-discovery mldp

!

mdt partitioned mldp ipv4 p2mp

mdt data mldp 100 immediate-switch

!

It is not supported to configure both the mdt immediate-switch and the mdt data command with the immediate-switch keyword.

The following is an example of such a configuration:

RP/0/RP0/CPU0:PE1#conf t

RP/0/RP0/CPU0:PE1(config)#multicast-routing

RP/0/RP0/CPU0:PE1(config-mcast)#vrf one

RP/0/RP0/CPU0:PE1(config-mcast-one)#address-family ipv4

RP/0/RP0/CPU0:PE1(config-mcast-one-ipv4)#mdt data mldp 100 immediate-switch

RP/0/RP0/CPU0:PE1(config-mcast-one-ipv4)#mdt immediate-switch

RP/0/RP0/CPU0:PE1(config-mcast-one-ipv4)#commit

RP/0/RP0/CPU0:PE1(config-mcast-one-ipv4)#end

RP/0/RP0/CPU0:PE1#