Contents

Introduction

Prerequisites

Requirements

Components Used

Configure

Network Diagram

Configurations

Step1:  Configure Multicast on Fabric Devices from DNAC

Step2:  Verify Configuration pushed on Devices

Step3:  Manually Configure  PIM Across Handover Link

Control Plane Process

IGMP Join on LHR

Neighbor Creation

PIM Join Received on RP

PIM Neighbor on Fusion Routers

PIM Register on RP from FHR

(S,G) Creation on LHR

Introduction

This document describes Overview of Any-Source Multicast (ASM)  with Single Rendezvous point (RP) in Software-Defined Access (SD-Access) Environment.

Prerequisites

Requirements

It is recommnded that you have knowledge of Locator ID Separation Protocol (LISP) and multicast.

Components Used

This document is not restricted to specific software and hardware versions.

The information in this document was created from devices in a specific lab environment. If your network is live, make sure that you understand the potential impact of any command.GUI

Devices used for this Article

Digital Network Architecture Controller (DNAC)                   - Version 1.2.1

Edge and Border                                                                  - Cat3k Cisco Switch

Fusion                                                                                  -  Cisco Router with Support for Inter-VRF(Virtual Route Forwarding) leaking

Configure

Network Diagram

Topology used for this article consists of  two Border Routers both bonfigured as External Borders, and two Fusion Routers with a connection to each respective Border Router. Border-1 is configured as RP, Multicast Source is connected to Fusion-2 and Multicast Receiver is connected to Edge-1.

Configurations

This article doesn't cover steps to configure Fabric in Software-Defined Access (SDA) environment and starts with an explanation of steps to configure Multicast in Fabric domain for a Specific VN.

Step1:  Configure Multicast on Fabric Devices from DNAC

In DNAC Graphical User Interface (GUI), Under Provision -> Fabric Workflow. Multicast is configured by option  "Enable Rendezvous point " on SDA-BORDER-1 device.

Then choose an Internet Protocol (IP) Pool to be used for Multicast Configuration under specifc VN. "Campus" in this example.

Step2:  Verify Configuration pushed on Devices

This Section covers verification of Multicast configuration on Fabric Devices.

SDA-BORDER-1

interface Loopback4099                            <<<<<<<<<<<< Loopback Interface is created and assigned an IP from Pool selected

vrf forwarding Campus

ip address 192.168.50.1 255.255.255.255

ip pim sparse-mode                               <<<<<<<<<<< PIM is enabled on Interface

end

interface LISP0.4099                              <<<<<<<<<<< PIM is enabled on LISP interface

ip pim sparse-mode

end

SDA-Border1#sh run | in pim|multicast

ip multicast-routing                             <<<<<<<<<<< Multicast Routing is enabled for Global

ip multicast-routing vrf Campus                  <<<<<<<<<<< Multicast Routing is enabled for Campus VN

ip pim ssm default                               <<<<<<<<<< PIM SSM mode is enabled for Global for default address range

ip pim vrf Campus rp-address 192.168.50.1        <<<<<<<<<< BORDER-1 Loopback4099 is configued as RP

ip pim vrf Campus register-source Loopback4099

ip pim vrf Campus ssm default                    <<<<<<<<<< PIM SSM mode is enabled for vrf Campus for default address range

SDA-Border1#sh run | s address-family ipv4 vrf Campus

address-family ipv4 vrf Campus

.....

network 192.168.50.1 mask 255.255.255.255       <<<<<<<<<<< RP Address is injected into BGP Table

aggregate-address 192.168.50.0 255.255.255.0 summary-only <<<<<<<<<<< Aggregate for Multicast Pool is advertised

.....

SDA-BORDER-2

interface Loopback4099

vrf forwarding Campus

ip address 192.168.50.3 255.255.255.255

ip pim sparse-mode

end

interface LISP0.4099

ip pim sparse-mode

end

SDA-Border2#sh run | in pim|multicast

ip multicast-routing

ip multicast-routing vrf Campus

ip pim ssm default

ip pim vrf Campus rp-address 192.168.50.1       <<<<<<<<<< BORDER-1 Loopback4099 is configued as RP

ip pim vrf Campus register-source Loopback4099

ip pim vrf Campus ssm default

SDA-Border2#sh run | s address-family ipv4 vrf Campus

address-family ipv4 vrf Campus

.....

network 192.168.50.1 mask 255.255.255.255

aggregate-address 192.168.50.0 255.255.255.0 summary-only

.....

SDA-EDGE-1

interface Vlan1021

description Configured from apic-em

mac-address 0000.0c9f.f45c

vrf forwarding Campus

ip address 172.16.10.1 255.255.255.0

ip helper-address 10.10.10.100

no ip redirects

ip local-proxy-arp

ip pim sparse-mode                            <<<<<<<<<<< PIM is enabled on all SVI-s under Campus VN

ip route-cache same-interface

ip igmp version 3

no lisp mobility liveness test

lisp mobility 172_16_10_0-Campus

end

interface Loopback4099

vrf forwarding Campus

ip address 192.168.50.2 255.255.255.255

ip pim sparse-mode

end

interface LISP0.4099

ip pim sparse-mode

end

SDA-Edge1#sh run | in pim|multicast

ip multicast-routing

ip multicast-routing vrf Campus

ip pim ssm default

ip pim vrf Campus rp-address 192.168.50.1       <<<<<<<<<< BORDER-1 Loopback4099 is configued as RP

ip pim vrf Campus register-source Loopback4099

ip pim vrf Campus ssm default

Step3:  Manually Configure  PIM Across Handover Link

Multicast Source is connected outside the Fabric to Fusion-2 in this example.  For the Multicast Stream to flow, ensure there is a PIM path from RP to Source and Receiver to Source (paths might be different!).

PIM Peering Between SDA-BORDER-1 and SDA-FUSION-1

SDA-BORDER-1

------------------------------------------------

interface Vlan3002                             <<<<<<<< Enable PIM on Handover link in Campus VN

description vrf interface to External router

vrf forwarding Campus

ip address 10.50.50.5 255.255.255.252

no ip redirects

ip pim sparse-mode

ip route-cache same-interface

end

SDA-FUSION-1

------------------------------------------------

ip multicast-routing

ip multicast-routing vrf Campus               <<<<<<<<< Enable Multicast Routing in vrf Campus

ip pim vrf Campus rp-address 192.168.50.1     <<<<<<<<< Configure BORDER-1 Loopback4099 as RP

interface Vlan3002                            <<<<<<<<< Enable PIM on Fusion Interface towards Border

vrf forwarding Campus

ip address 10.50.50.6 255.255.255.252

ip pim sparse-mode

end

PIM Peering Between SDA-BORDER-2 and SDA-FUSION-2

SDA-BORDER-2

------------------------------------------------

interface Vlan3007

description vrf interface to External router

vrf forwarding Campus

ip address 10.50.50.25 255.255.255.252

no ip redirects

ip pim sparse-mode

ip route-cache same-interface

end

SDA-FUSION-2

------------------------------------------------

ip multicast-routing distributed

ip multicast-routing vrf Campus distributed

ip pim vrf Campus rp-address 192.168.50.1

interface GigabitEthernet0/0/0.3007

encapsulation dot1Q 3007

vrf forwarding Campus

ip address 10.50.50.26 255.255.255.252

ip pim sparse-mode

no cdp enable

end

PIM Peering Between SDA-FUSION-1 and SDA-FUSION-2

SDA-FUSION-1

------------------------------------------------

interface Vlan100

description Muticast_Campus

vrf forwarding Campus

ip address 10.40.40.5 255.255.255.252

ip pim sparse-mode

end

SDA-FUSION-2

------------------------------------------------

interface GigabitEthernet0/0/2.100

encapsulation dot1Q 100

vrf forwarding Campus

ip address 10.40.40.6 255.255.255.252

ip pim sparse-mode

end

Enable PIM on the interface connecting to the Source

SDA-FUSION-2

-------------------------------------------------

interface GigabitEthernet1/0/2

vrf forwarding Campus

ip address 10.40.40.2 255.255.255.252

ip pim sparse-mode

load-interval 30

negotiation auto

end

Control Plane Process

At some point Multicast Receiver sends an  Internet Group Management Protocol (IGMP) Join to Last Hop Router(LHR)  in order to receive the Stream for a specific group, and Muticast Source (Server) starts sending the Multicast Stream to First Hop Router(FHR).  In our case FHR is SDA-FUSION-2 and LHR is SDA-EDGE-1 and Control Plane Process is explained in the scenario where the Receiver requests a stream first, and Source starts streaming for that group afterwards.

IGMP Join on LHR

Multicast Receiver sends an IGMP Report (Join) to LHR for Group 239.1.1.1. Receiver is connected to Gi1/0/1 (SVI 1021) on SDA-EDGE-1.

SDA-Edge1#debug ip igmp vrf Campus 239.1.1.1

IGMP debugging is on

*Aug 14 23:53:06.445: IGMP(4): Received v2 Report on Vlan1021 from 172.16.10.10 for 239.1.1.1

*Aug 14 23:53:06.445: IGMP(4): Received Group record for group 239.1.1.1, mode 2 from 172.16.10.10 for 0 sources

*Aug 14 23:53:06.445: IGMP(4): MRT Add/Update Vlan1021 for (*,239.1.1.1) by 0

*Aug 14 23:54:07.445: IGMP(4): Received v2 Report on Vlan1021 from 172.16.10.10 for 239.1.1.1   <<<<<<< one minute apart

SDA-Edge1#show ip igmp vrf Campus group

IGMP Connected Group Membership

Group Address    Interface                Uptime    Expires   Last Reporter

239.1.1.1        Vlan1021                 00:49:10  00:02:45  172.16.10.10    <<<<<<< Receiver is present

SDA-Edge1#

The new Mutlicast Route Watch Service determines the Reverse Path Forwarding (RPF) information towards the RP (for shared tree) and towards the Source (for Shortest Path Tree(SPT)). For LISP-reachable adresses, the next hop neighbor is represented by the remote Routing locator (RLOC) address of the upstream site.

SDA-Edge1#show ip pim vrf Campus rp mapping 239.1.1.1

PIM Group-to-RP Mappings

Group(s): 224.0.0.0/4, Static

RP: 192.168.50.1 (?)                          <<<<<<<<<<< RP is 192.168.50.1

SDA-Edge1#

SDA-Edge1#

SDA-Edge1#show lisp eid-table vrf Campus ipv4 map 192.168.50.1/32       <<<<<<<<< check Reachability towards the RP address

LISP IPv4 Mapping Cache for EID-table vrf Campus (IID 4099), 4 entries

192.168.50.1/32, uptime: 2w5d, expires: 23:10:58, via map-reply, complete

Sources: map-reply

State: complete, last modified: 2w5d, map-source: 192.168.10.1

Active, Packets out: 171704(3435172 bytes) (~ 00:00:43 ago)

Locator       Uptime    State      Pri/Wgt     Encap-IID

192.168.10.1  2w5d      up          10/10        -                 <<<<<<<<<<< RLOC is 192.168.10.1

Last up-down state change:         2w5d, state change count: 1

Last route reachability change:    2w5d, state change count: 1

Last priority / weight change:     never/never

RLOC-probing loc-status algorithm:

Last RLOC-probe sent:            00:49:02 (rtt 3ms)

SDA-Edge1#show ip cef vrf Campus 192.168.50.1/32

192.168.50.1/32

nexthop 192.168.10.1 LISP0.4099                                   <<<<<<<<<<< RP is reachable via LISP interface

SDA-Edge1#show ip mroute vrf Campus 239.1.1.1

IP Multicast Routing Table

(*, 239.1.1.1), 00:50:06/00:02:57, RP 192.168.50.1, flags: SJC     <<<<<<<<<<< (*,G) entry is created

Incoming interface: LISP0.4099, RPF nbr 192.168.10.1             <<<<<<<<<<< Incoming interface is set as LISP interface

Outgoing interface list:

Vlan1021, Forward/Sparse, 00:50:06/00:02:57                    <<<<<<<<<<< Outgoing Interface is set towards Receiver

Next, the LHR sends a PIM (*,G) Join Towards the RP (at one minute intervals) - if LHR is DR for that segment.

SDA-Edge1#debug ip pim vrf Campus 239.1.1.1

PIM debugging is on

*Aug 15 00:03:44.592: PIM(4): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.1.1.1

*Aug 15 00:03:44.593: PIM(4): Insert (*,239.1.1.1) join in nbr 192.168.10.1's queue

*Aug 15 00:03:44.593: PIM(4): Building Join/Prune packet for nbr 192.168.10.1

*Aug 15 00:03:44.594: PIM(4):  Adding v2 (192.168.50.1/32, 239.1.1.1), WC-bit, RPT-bit, S-bit Join

*Aug 15 00:03:44.594: PIM(4): Adding LISP Unicast transport attribute in join/prune to 192.168.10.1 (LISP0.4099)

*Aug 15 00:03:44.594: PIM(4): Send v2 join/prune to 192.168.10.1 (LISP0.4099)         <<<<<<< PIM (*,G) Join is sent towards the RP

*Aug 15 00:04:42.892: PIM(4): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.1.1.1

*Aug 15 00:04:42.892: PIM(4): Insert (*,239.1.1.1) join in nbr 192.168.10.1's queue

*Aug 15 00:04:42.892: PIM(4): Building Join/Prune packet for nbr 192.168.10.1

*Aug 15 00:04:42.892: PIM(4):  Adding v2 (192.168.50.1/32, 239.1.1.1), WC-bit, RPT-bit, S-bit Join

*Aug 15 00:04:42.892: PIM(4): Adding LISP Unicast transport attribute in join/prune to 192.168.10.1 (LISP0.4099)

*Aug 15 00:04:42.892: PIM(4): Send v2 join/prune to 192.168.10.1 (LISP0.4099)

SDA-Edge1#

Neighbor Creation

Once the RPF information is obtained pointing to the LISP interface, PIM has to explicitly create a neighbor structure for the corresponding RLOC. This is necessary because the upstream Tunnel Router (xTR) does not send hello messages. The new neighbor block expires when no join/prune messages have been sent to the neighbor after 2 times the standard interval time between join/prunes.

In our case, the SDA-EDGE-1 creates  a PIM neighbor using the upstream/RPF RLOC address.

SDA-Edge1#show ip pim vrf Campus neighbor

PIM Neighbor Table

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

192.168.10.1      LISP0.4099               1w5d/00:01:27     v2    0 /             <<<<<<< RLOC address used for the neighbor

SDA-Edge1#debug ip pim vrf Campus timers    <— chatty!

PIM-TIMERS debugging is on

*Aug 15 00:08:37.992: PIM(4): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.1.1.1

*Aug 15 00:08:37.993: PIM(4) Twheel Start: Neighbor Timer for Nbr: 192.168.10.1. idb LISP0.4099. delay: 120000 ms. jitter 0.

...

PIM Join Received on RP

PIM join is received on the RP(SDA-BORDER-1) from LHR(SDA-EDGE-1)  over the LISP Interface

SDA-Border1#debug ip pim vrf Campus 239.1.1.1

PIM debugging is on

*Aug 18 01:47:14.812: PIM(4): J/P Transport Attribute, Transport Type: Unicast

*Aug 18 01:47:14.813: PIM(4): Join-list: (*, 239.1.1.1), RPT-bit set, WC-bit set, S-bit set

*Aug 18 01:47:14.813: PIM(4): Check RP 192.168.50.1 into the (*, 239.1.1.1) entry

*Aug 18 01:47:14.813: PIM(4): Adding register decap tunnel (Tunnel1) as accepting interface of (*, 239.1.1.1).

*Aug 18 01:47:14.813: PIM(4): Add LISP0.4099/192.168.10.3 to (*, 239.1.1.1), Forward state, by PIM *G Join        <<<<<< (*,G) join received from RLOC of LHR over LISP Interface

*Aug 18 01:48:14.267: PIM(4): J/P Transport Attribute, Transport Type: Unicast

*Aug 18 01:48:14.267: PIM(4): Join-list: (*, 239.1.1.1), RPT-bit set, WC-bit set, S-bit set

*Aug 18 01:48:14.267: PIM(4): Update LISP0.4099/192.168.10.3 to (*, 239.1.1.1), Forward state, by PIM *G Join

SDA-Border1#show ip mroute vrf Campus 239.1.1.1

IP Multicast Routing Table

(*, 239.1.1.1), 00:01:38/00:02:51, RP 192.168.50.1, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0                               <<<<<<<<<<<< RP is myself hence RPF Neighbor is Null

Outgoing interface list:

LISP0.4099, 192.168.10.3, Forward/Sparse, 00:01:38/00:02:51           <<<<<<<<<<<< Outgoing Interface is set towards LHR RLOC

The RP(Border1) does not send any joins over the LISP interface, hence no PIM Neighbor is created on the RP over the LISP interface.

In our case, the only PIM neighbor is towards Fusion-1 over a non-LISP interface, and formed as a result of the periodic PIM Hello packets received.

SDA-Border1#debug ip pim vrf Campus hello

PIM-HELLO debugging is on

SDA-Border1#

*Aug 24 00:02:19.944: PIM(4): Received v2 hello on Vlan3002 from 10.50.50.6

*Aug 24 00:02:19.944: PIM(4): Neighbor (10.50.50.6) Hello GENID = 1315387214

SDA-Border1#

*Aug 24 00:02:49.396: PIM(4): Received v2 hello on Vlan3002 from 10.50.50.6

*Aug 24 00:02:49.397: PIM(4): Neighbor (10.50.50.6) Hello GENID = 1315387214

SDA-Border1#show ip pim vrf Campus neigh

PIM Neighbor Table

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

10.50.50.6        Vlan3002                 2w0d/00:01:31     v2    1 / DR S P G

PIM Neighbor on Fusion Routers

PIM Neighbors on Fusion Routers are over non-LISP interfaces and hence are also created based on the periodic PIM Hello-s received.

SDA-FUSION-1

SDA-Fusion1#show ip pim vrf Campus neighbor

PIM Neighbor Table

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

10.40.40.6        Vlan100                  5d00h/00:01:41    v2    1 / S P G

10.50.50.5        Vlan3002                 2w4d/00:01:44     v2    1 / S P G

SDA-FUSION-2

SDA-Fusion2#show ip pim vrf Campus neighbor

PIM Neighbor Table

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

10.50.50.25       Gi0/0/0.3007             2w5d/00:01:36     v2    1 / S P G

10.40.40.5        GigabitEthernet0/0/2.100 5d00h/00:01:23    v2    100/ DR S P G

PIM Register on RP from FHR

When the Source starts to send traffic for the group, the FHR (SDA-FUSION-2) registers the (S,G) with the RP once it receives the first multicast packet from the Source - and if FHR is the DR on that segment.

SDA-Fusion2#show ip pim vrf Campus rp mapping 239.1.1.1

PIM Group-to-RP Mappings

Group(s): 224.0.0.0/4, Static

RP: 192.168.50.1 (?)                              <<<<<<<< RP for the Group

SDA-Fusion2#show ip cef vrf Campus 192.168.50.1

192.168.50.1/32

nexthop 10.40.40.5 GigabitEthernet0/0/2.100         <<<<<<<< Next-hop Interface towards RP

SDA-Fusion2#debug ip mrouting vrf Campus

IP multicast routing debugging is on

SDA-Fusion2#debug ip pim vrf Campus

PIM debugging is on

*Aug 22 21:59:42.601: PIM(2): Check RP 192.168.50.1 into the (*, 239.1.1.1) entry

*Aug 22 21:59:42.601: MRT(2): (*,239.1.1.1), RPF change from  /0.0.0.0 to GigabitEthernet0/0/2.100/10.40.40.5         <<<<<<<< RPF Interface is determined

*Aug 22 21:59:42.601: PIM(2): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 239.1.1.1

*Aug 22 21:59:42.601: MRT(2): Create (*,239.1.1.1), RPF (GigabitEthernet0/0/2.100, 10.40.40.5, 1/0)

*Aug 22 21:59:42.602: MRT(2): (10.40.40.1,239.1.1.1), RPF install from  /0.0.0.0 to GigabitEthernet1/0/2/0.0.0.0

*Aug 22 21:59:42.602: PIM(2): Adding register encap tunnel (Tunnel0) as forwarding interface of (10.40.40.1, 239.1.1.1). <<<<< Register Tunnel is created

*Aug 22 21:59:42.602: MRT(2): Set the F-flag for (*, 239.1.1.1)

*Aug 22 21:59:42.602: MRT(2): Set the F-flag for (10.40.40.1, 239.1.1.1)                                              <<<<<<< Register(F) flag is set

*Aug 22 21:59:42.602: MRT(2): Create (10.40.40.1,239.1.1.1), RPF (GigabitEthernet1/0/2, 0.0.0.0, 0/0)                 <<<<<<< (S,G) is created

*Aug 22 21:59:42.602: MRT(2): Set the T-flag for (10.40.40.1, 239.1.1.1)                                              <<<<<<< SPT (T) flag is set

*Aug 22 21:59:42.629: PIM(2): Received v2 Join/Prune on GigabitEthernet0/0/2.100 from 10.40.40.5, to us

*Aug 22 21:59:42.629: PIM(2): Join-list: (10.40.40.1/32, 239.1.1.1), S-bit set                                        <<<<<<< (S,G) join is received

*Aug 22 21:59:42.629: MRT(2): WAVL Insert interface: GigabitEthernet0/0/2.100 in (10.40.40.1,239.1.1.1) Successful

*Aug 22 21:59:42.630: MRT(2): set min mtu for (10.40.40.1, 239.1.1.1) 18010->1500

*Aug 22 21:59:42.630: MRT(2): Add GigabitEthernet0/0/2.100/239.1.1.1 to the olist of (10.40.40.1, 239.1.1.1), Forward state - MAC built

*Aug 22 21:59:42.630: PIM(2): Add GigabitEthernet0/0/2.100/10.40.40.5 to (10.40.40.1, 239.1.1.1), Forward state, by PIM SG Join

*Aug 22 21:59:42.630: MRT(2): Add GigabitEthernet0/0/2.100/239.1.1.1 to the olist of (10.40.40.1, 239.1.1.1), Forward state - MAC built

*Aug 22 21:59:42.630: MRT(2): Set the PIM interest flag for (10.40.40.1, 239.1.1.1)

SDA-Fusion2#show ip mroute vrf Campus 239.1.1.1

IP Multicast Routing Table

(*, 239.1.1.1), 00:01:17/stopped, RP 192.168.50.1, flags: SPF

Incoming interface: GigabitEthernet0/0/2.100, RPF nbr 10.40.40.5

Outgoing interface list: Null

(10.40.40.1, 239.1.1.1), 00:01:17/00:02:14, flags: FT

Incoming interface: GigabitEthernet1/0/2, RPF nbr 0.0.0.0       <<<<<<<< RPF neighbor is 0.0.0.0 as the Source is directly connected

Outgoing interface list:

Gi0/0/0.3007, Forward/Sparse, 00:01:17/00:03:10

SDA-Fusion2#

SDA-Fusion2#show interface tunnel 0         <<<<<<<< Register Tunnel is created between FHR and RP

Tunnel0 is up, line protocol is up

Hardware is Tunnel

Description: Pim Register Tunnel (Encap) for RP 192.168.50.1 on VRF Campus

Interface is unnumbered. Using address of GigabitEthernet0/0/2.100 (10.40.40.6)

MTU 9972 bytes, BW 100 Kbit/sec, DLY 50000 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation TUNNEL, loopback not set

Keepalive not set

Tunnel linestate evaluation up

Tunnel source 10.40.40.6 (GigabitEthernet0/0/2.100), destination 192.168.50.1

RP (BORDER-1) receives the Register from the FHR, which triggers a (S,G) Join to be sent towards the FHR, and also a Register-Stop towards the FHR - once stream is received natively on the RP.

SDA-Border1#debug ip mrouting vrf Campus 239.1.1.1

IP multicast routing debugging is on

*Aug 18 02:29:05.186: PIM(4): Received v2 Register on Vlan3002 from 10.40.40.6                                           <<<<<<< PIM Register is received from FHR

*Aug 18 02:29:05.186:      for 10.40.40.1, group 239.1.1.1

*Aug 18 02:29:05.187: PIM(4): Adding register decap tunnel (Tunnel1) as accepting interface of (10.40.40.1, 239.1.1.1).  <<<<<<< Register tunnel is created

*Aug 18 02:29:05.187: MRT(4): (10.40.40.1,239.1.1.1), RPF install from  /0.0.0.0 to Vlan3002/10.50.50.6

*Aug 18 02:29:05.188: MRT(4): Create (10.40.40.1,239.1.1.1), RPF (Vlan3002, 10.50.50.6, 20/0)                            <<<<<<< (S,G) is created and RPF is resolved

*Aug 18 02:29:05.188: MRT(4): WAVL Insert LISP interface: LISP0.4099 in (10.40.40.1,239.1.1.1) Next-hop: 192.168.10.3 Outer-source: 0.0.0.0 Successful

*Aug 18 02:29:05.188: MRT(4): set min mtu for (10.40.40.1, 239.1.1.1) 18010->17892

*Aug 18 02:29:05.189: MRT(4): Add LISP0.4099/192.168.10.3 to the olist of (10.40.40.1, 239.1.1.1), Forward state - MAC not built   <<<<<< LISP OIF is inherited from (*,G)

*Aug 18 02:29:05.189: PIM(4): Insert (10.40.40.1,239.1.1.1) join in nbr 10.50.50.6's queue

*Aug 18 02:29:05.189: PIM(4): Building Join/Prune packet for nbr 10.50.50.6

*Aug 18 02:29:05.189: PIM(4):  Adding v2 (10.40.40.1/32, 239.1.1.1), S-bit Join

*Aug 18 02:29:05.189: PIM(4): Send v2 join/prune to 10.50.50.6 (Vlan3002)                                                <<<<<<< (S,G) join is sent towards the Source

*Aug 18 02:29:05.272: PIM(4): J/P Transport Attribute, Transport Type: Unicast

*Aug 18 02:29:05.272: PIM(4): Join-list: (*, 239.1.1.1), RPT-bit set, WC-bit set, S-bit set

*Aug 18 02:29:05.272: PIM(4): Update LISP0.4099/192.168.10.3 to (*, 239.1.1.1), Forward state, by PIM *G Join

*Aug 18 02:29:05.272: MRT(4): Update LISP0.4099/192.168.10.3 in the olist of (*, 239.1.1.1), Forward state - MAC not built

*Aug 18 02:29:05.272: PIM(4): Prune-list: (10.40.40.1/32, 239.1.1.1) RPT-bit set

*Aug 18 02:29:05.273: PIM(4): Prune LISP0.4099/192.168.10.3 from (10.40.40.1/32, 239.1.1.1)                              <<<<<<< (S,G) Prune is received from Edge1

*Aug 18 02:29:05.273: MRT(4): Delete LISP0.4099/192.168.10.3 from the olist of (10.40.40.1, 239.1.1.1)

*Aug 18 02:29:05.273: PIM(4): Insert (10.40.40.1,239.1.1.1) prune in nbr 10.50.50.6's queue - deleted

*Aug 18 02:29:05.273: PIM(4): Building Join/Prune packet for nbr 10.50.50.6

*Aug 18 02:29:05.273: PIM(4):  Adding v2 (10.40.40.1/32, 239.1.1.1), S-bit Prune

*Aug 18 02:29:05.273: PIM(4): Send v2 join/prune to 10.50.50.6 (Vlan3002)

*Aug 18 02:29:05.439: PIM(4): J/P Transport Attribute, Transport Type: Unicast

*Aug 18 02:29:07.193: PIM(4): Received v2 Register on Vlan3002 from 10.40.40.6

*Aug 18 02:29:07.193:      for 10.40.40.1, group 239.1.1.1

*Aug 18 02:29:07.194: PIM(4): Send v2 Register-Stop to 10.40.40.6 for 10.40.40.1, group 239.1.1.1                        <<<<<<< Register-Stop is sent towards FHR

SDA-Border1#show ip mroute vrf Campus 239.1.1.1

IP Multicast Routing Table

(*, 239.1.1.1), 00:51:28/00:02:44, RP 192.168.50.1, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

LISP0.4099, 192.168.10.3, Forward/Sparse, 00:51:28/00:02:44

(10.40.40.1, 239.1.1.1), 00:09:37/00:01:24, flags: P                     <<<<<<<<<<<< (S,G) is created but Pruned flag is set

Incoming interface: Vlan3002, RPF nbr 10.50.50.6                       <<<<<<<<<<<< Incoming interface and RPF neighbor

Outgoing interface list: Null

SDA-Border1#show ip rpf vrf Campus 10.40.40.1

RPF information for ? (10.40.40.1)

RPF interface: Vlan3002                                                <<<<<<<<<< RPF interface towards the Source

RPF neighbor: ? (10.50.50.6)                                           <<<<<<<<<< RPF neighbor - must be a PIM neighbor

RPF route/mask: 10.40.40.0/30

RPF type: unicast (bgp 65005)                                          <<<<<<<<<< RPF information coming from unicast RIB/BGP

Doing distance-preferred lookups across tables

RPF topology: ipv4 multicast base, originated from ipv4 unicast base

SDA-Border1#

SDA-Border1#show ip route vrf Campus 10.40.40.1

Routing Table: Campus

Routing entry for 10.40.40.0/30

Known via "bgp 65005", distance 20, metric 0

Tag 65004, type external

Last update from 10.50.50.6 2w6d ago

Routing Descriptor Blocks:

* 10.50.50.6, from 10.50.50.6, 2w6d ago

Route metric is 0, traffic share count is 1

AS Hops 1

Route tag 65004

MPLS label: none

MPLS Flags: NSF

SDA-Border1#

SPT is being pruned by the Edge-1 - let's go to the LHR to see why.

(S,G) Creation on LHR

After receiving the multicast data forwarded by the RP, (S,G) entry is created on the LHR.

Next, the LHR will switch over to Shortest Path Tree (SPT) by sending a (S,G) Join towards the Source. This is sent on the RPF interface towards the Source.

SDA-Edge1#

*Aug 18 02:19:53.759: MRT(4): Create (10.40.40.1,239.1.1.1), RPF (unknown, 0.0.0.0, 0/0)                    <<<<<<<<< (S,G) is created on LHR

*Aug 18 02:19:53.759: MRT(4): WAVL Insert interface: Vlan1021 in (10.40.40.1,239.1.1.1) Successful

*Aug 18 02:19:53.759: MRT(4): set min mtu for (10.40.40.1, 239.1.1.1) 18010->1500

*Aug 18 02:19:53.759: MRT(4): Add Vlan1021/239.1.1.1 to the olist of (10.40.40.1, 239.1.1.1), Forward state - MAC not built    <<<<<<< OIL is inherited from (*,G)

*Aug 18 02:19:53.759: MRT(4): Set the J-flag for (10.40.40.1, 239.1.1.1)                                    <<<<<<<< SPT Join Flag is set

*Aug 18 02:19:53.762: MRT(4): (10.40.40.1,239.1.1.1), RPF change from  /0.0.0.0 to LISP0.4099/192.168.10.2  <<<<<<<< RPF interface is resolved

*Aug 18 02:19:53.762: MRT(4): Set the T-flag for (10.40.40.1, 239.1.1.1)

*Aug 18 02:19:53.763: PIM(4): Insert (10.40.40.1,239.1.1.1) join in nbr 192.168.10.2's queue

*Aug 18 02:19:53.763: PIM(4): Building Join/Prune packet for nbr 192.168.10.2

*Aug 18 02:19:53.763: PIM(4):  Adding v2 (10.40.40.1/32, 239.1.1.1), S-bit Join

*Aug 18 02:19:53.763: PIM(4): Adding LISP Unicast transport attribute in join/prune to 192.168.10.2 (LISP0.4099)

*Aug 18 02:19:53.763: PIM(4): Send v2 join/prune to 192.168.10.2 (LISP0.4099)                               <<<<<<<< (S,G) Join towards the Source is sent

*Aug 18 02:19:53.826: PIM(4): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 239.1.1.1

*Aug 18 02:19:53.826: PIM(4): Insert (*,239.1.1.1) join in nbr 192.168.10.1's queue

*Aug 18 02:19:53.826: PIM(4): Insert (10.40.40.1,239.1.1.1) sgr prune in nbr 192.168.10.1's queue

*Aug 18 02:19:53.826: PIM(4): Building Join/Prune packet for nbr 192.168.10.1

*Aug 18 02:19:53.826: PIM(4):  Adding v2 (192.168.50.1/32, 239.1.1.1), WC-bit, RPT-bit, S-bit Join

*Aug 18 02:19:53.827: PIM(4):  Adding v2 (10.40.40.1/32, 239.1.1.1), RPT-bit, S-bit Prune

*Aug 18 02:19:53.827: PIM(4): Adding LISP Unicast transport attribute in join/prune to 192.168.10.1 (LISP0.4099)

*Aug 18 02:19:53.827: PIM(4): Send v2 join/prune to 192.168.10.1 (LISP0.4099)                               <<<<<<<<< (S,G) Prune towards the RP is sent

*Aug 18 02:20:08.323: MRT(4): Update (*,239.1.1.1), RPF (LISP0.4099, 192.168.10.1, 1/1)

*Aug 18 02:20:08.323: MRT(4): Update Vlan1021/239.1.1.1 in the olist of (*, 239.1.1.1), Forward state - MAC not built

*Aug 18 02:20:08.323: MRT(4): Update Vlan1021/239.1.1.1 in the olist of (10.40.40.1, 239.1.1.1), Forward state - MAC not built

SDA-Edge1#show ip mroute vrf Campus 239.1.1.1

IP Multicast Routing Table

(*, 239.1.1.1), 00:43:35/stopped, RP 192.168.50.1, flags: SJC

Incoming interface: LISP0.4099, RPF nbr 192.168.10.1

Outgoing interface list:

Vlan1021, Forward/Sparse, 00:43:35/00:02:29

(10.40.40.1, 239.1.1.1), 00:01:45/00:01:14, flags: JT                       <<<<<<<<<<<< (S,G) is created

Incoming interface: LISP0.4099, RPF nbr 192.168.10.2                      <<<<<<<<<<<< Border-2 is the RPF neighbor towards the Source

Outgoing interface list:

Vlan1021, Forward/Sparse, 00:01:47/00:02:27

SDA-Edge1#show lisp eid-table vrf Campus ipv4 map 10.40.40.1                  <<<<<<<< LISP lookup for the Source

LISP IPv4 Mapping Cache for EID-table vrf Campus (IID 4099), 5 entries

0.0.0.0/1, uptime: 2w1d, expires: 18:05:53, via map-reply, forward-native

Sources: map-reply

State: forward-native, last modified: 2w1d, map-source: 192.168.10.1

Active, Packets out: 106458(41136237 bytes) (~ 00:00:38 ago)

Encapsulating to proxy ETR                                                <<<<<<<<< No specific entry is known, forwarding to Proxy ETR

SDA-Edge1#show ip cef vrf Campus 10.40.40.1 detail

0.0.0.0/1, epoch 0, flags [subtree context, check lisp eligibility], per-destination sharing

SC owned,sourced: LISP remote EID - locator status bits 0x00000000

LISP remote EID: 106468 packets 41140303 bytes fwd action encap

LISP source path list

nexthop 192.168.10.1 LISP0.4099                                         <<<<<<<<<< Load balancing towards 2 Proxy ETR-s

nexthop 192.168.10.2 LISP0.4099

2 IPL sources [no flags]

nexthop 192.168.10.1 LISP0.4099

nexthop 192.168.10.2 LISP0.4099

SDA-Edge1#show ip cef vrf Campus exact-route 192.168.50.2 10.40.40.1          <<<<<<<<< CEF hashing points towards Border-2

192.168.50.2 -> 10.40.40.1 =>IP adj out of GigabitEthernet1/0/11, addr 192.168.23.2

SDA-Edge1#show ip rpf vrf Campus 10.40.40.1

RPF information for ? (10.40.40.1)

RPF interface: LISP0.4099

RPF neighbor: ? (192.168.10.2)                                              <<<<<<<<<< Hence SPT Join is sent towards Border-2

RPF route/mask: 0.0.0.0/1

RPF type: unicast ()

Doing distance-preferred lookups across tables

RPF topology: ipv4 multicast base

SDA-Edge1#

Since the (S,G) Join is sent towards Border-2 over  the LISP Interface, a new PIM neighbor is created on Edge-1

SDA-Edge1#show ip pim vrf Campus neighbor

PIM Neighbor Table

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

192.168.10.2      LISP0.4099               00:07:32/00:01:22 v2    0 /         <<<<<<<< Neighbor towards Border-2 is created

192.168.10.1      LISP0.4099               2w1d/00:01:58     v2    0 /

As Border-2 is in the Data Path for the multicast stream, it has to perform Explicit RLOC Tracking to track the RLOC of Downstream XTR-s for Unicast Replication of the packets.

SDA-Border2#show ip mroute vrf Campus 239.1.1.1

IP Multicast Routing Table

(*, 239.1.1.1), 00:23:00/stopped, RP 192.168.50.1, flags: SP

Incoming interface: LISP0.4099, RPF nbr 192.168.10.1

Outgoing interface list: Null

(10.40.40.1, 239.1.1.1), 00:12:35/00:02:52, flags: T                 <<<<<<< SPT flag is set

Incoming interface: Vlan3007, RPF nbr 10.50.50.26                  <<<<<<< RPF neighbor is based on RPF towards the Source - must be a PIM neighbor

Outgoing interface list:

LISP0.4099, 192.168.10.3, Forward/Sparse, 00:12:35/00:02:45      <<<<<<< OIL created from (S,G) join received from LHR and containing LHR's RLOC info which has to be tracked

SDA-Border2#show ip mfib vrf Campus 239.1.1.1 10.40.40.1

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.

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:   FS Pkt Count/PS Pkt Count

VRF Campus

(10.40.40.1,239.1.1.1) Flags: HW

SW Forwarding: 0/0/0/0, Other: 0/0/0

HW Forwarding:   176/0/122/0, Other: 0/0/0                       <<<<<<< Multicast stream is forwarded in h/w

Vlan3007 Flags: A

LISP0.4099, 192.168.10.3 Flags: F NS

Pkts: 0/0

SDA-Border2#sh ip mfib vrf Campus 239.1.1.1 10.40.40.1 count

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)

VRF Campus

6 routes, 2 (*,G)s, 3 (*,G/m)s

Group: 239.1.1.1

Source: 10.40.40.1,

SW Forwarding: 0/0/0/0, Other: 0/0/0

HW Forwarding:   182/0/122/0, Other: 0/0/0                      <<<<<<<< Counter is incrementing

Totals - Source count: 1, Packet count: 182

Groups: 1, 1.00 average sources per group

SDA-Border2#