Contents

Introduction

Prerequisites

Requirements

Components Used

Configure

Network Diagram

Configurations

SSM

ASM

Source Registers First

Receiver Comes First

Shortest Path Tree (SPT) Switchover

Verify

Troubleshoot

Source

Introduction

This document describes that in phase 1 of the multicast implementation over Locator/ID Separation Protocol (LISP), ingress replication is used. It means that unicast Routing Locator (RLOC) core is used to transport identity information (EID) multicast.

Prerequisites

Requirements

Cisco recommends that you have knowledge of LISP and multicast.

Components Used

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

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Configure

Network Diagram

Configurations

Phase 1 supports unicast head-end replication of multicast packets.

- Phase 1 support begins in XE 3.13 and Cisco IOS® 15.4(2)T.

- Phase 1 supports IPv4 EIDs over IPv4 RLOCs (transport) begins in XE 3.13 and Cisco IOS® 15.4(2)T.

- Phase 1 supports IPv6 EIDs over IPv4 RLOCs (transport) begins in Polaris 16.6.1 in default vrf only for LISP with VXLAN encapsulation for Software-Defined Access (SDA).

- Phase 1 supports EID Virtual Routing and Forwarding (VRFs) (segmentation) with IIDs (via PIM VRF support).

- Phase 1 supports Any Source Multicast (ASM) and Source Specific Multicast (SSM) models.

- Phase 1 supports static Route Processor (RP) configuration only.

- Phase 1 does not support RP redundancy.

- Phase 1 supports various combinations of LISP and non-LISP capable source and receiver sites.

- LISP Multicast is NOT supported as a LISP Mobility Data Center Interconnect (DCI) solution.

It is assumed, that multicast is already configured on the network (pim sparse-mode/rp).

In order to enable multicast over LISP you have to add “ip pim sparse-mode” under a LISP0 or a LISP0.xx interface. By enabling PIM on a LISP interface, it is included in RPF. The RPF information for prefixes reachable via LISP sites consists of a LISP tunnel and a neighbor represented by a RLOC address of an upstream site.

Only join/prune messages are allowed to be sent over LISP tunnels. PIM Hello messages are not exchanged between sites. PIM join/prune messages are unicast-encapsulated to an upstream xTR (RP or Source). Join/prune messages are not seen by other xTRs/PxTRs. There is no analog of Default MDT in MVPN.

PIM must be enabled under a LISP tunnel interfaces for multicast processing.

EID virtualization uses LISP Instance-IDs in conjunction with EID VRFs. An interface LISP0.x where x=IID is created for each EID VRF/LISP Instance ID.

xTR1#sh run

!

interface LISP0

ip pim sparse-mode <<<< PIM under the LISP interface

!

interface LISP0.20

ip pim sparse-mode <<<< PIM under the LISP interface

end

xTR1#sh ip pim int

Address          Interface                Ver/   Nbr    Query  DR         DR

Mode   Count  Intvl  Prior

172.16.11.1      GigabitEthernet3.10      v2/S   1      30     1          172.16.11.2

10.1.255.1       LISP0                    v2/S   0      30     1          10.1.255.1

No neighbors via a LISP interface are seen because there are no active sources/receivers and PIM Hello’s are not exchanged between peers.

xTR1#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.11.2       GigabitEthernet3.10      01:43:52/00:01:34 v2    1 / DR S P G

SSM

Let’s configure the interface lo10 on the CE2 to join a group. It triggers a (S,G) Join because a group and a source are specified.

CE2#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

CE2(config)#int lo10

CE2(config-if)#ip igmp join-group 232.1.1.10 source 172.16.251.1

*Nov 26 18:28:55.471: PIM(0): Insert (172.16.251.1,232.1.1.10) join in nbr 172.16.12.1's queue

*Nov 26 18:28:55.491: PIM(0): Building Join/Prune packet for nbr 172.16.12.1

*Nov 26 18:28:55.491: PIM(0):  Adding v2 (172.16.251.1/32, 232.1.1.10), S-bit Join

*Nov 26 18:28:55.492: PIM(0): Send v2 join/prune to 172.16.12.1 (GigabitEthernet0/1.10)

*Nov 26 18:28:56.856: PIM(0): Send v2 join/prune to 172.16.12.1 (GigabitEthernet0/1.1

The (S,G) mroute is created on CE2.

CE2#sh ip mro 232.1.1.10

<…skip…>

(172.16.251.1, 232.1.1.10), 00:00:16/00:02:45, flags: sLTI

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.12.1

Outgoing interface list:

Loopback10, Forward/Sparse, 00:00:14/00:02:45

Let’s check what happens on xTR2.

Debug ip pim is enabled on xTR2.

The (S,G) Join from CE2 is received.

*Nov 26 18:38:19.641: PIM(0): Received v2 Join/Prune on GigabitEthernet3.10 from 172.16.12.2, to us

*Nov 26 18:38:19.641: PIM(0): Join-list: (172.16.251.1/32, 232.1.1.10), S-bit set

172.16.251.1 is the EID from xTR1 and not present in the RIB yet. Because of that, the RPF lookup is failed for the source IP 172.16.251.1. It triggers the LISP lookup. So the RPF interface is the LISP tunnel.

*Nov 26 18:38:19.641: PIM(0): RPF Lookup failed for 172.16.251.1

*Nov 26 18:38:19.643: PIM(0): Add GigabitEthernet3.10/172.16.12.2 to (172.16.251.1, 232.1.1.10), Forward state, by PIM SG Join

*Nov 26 18:38:19.650: PIM(0): Insert (172.16.251.1,232.1.1.10) join in nbr 10.1.11.1's queue

xTR2#sh ip rpf 172.16.251.1

RPF information for ? (172.16.251.1)

RPF interface: LISP0

RPF neighbor: ? (10.1.11.1)

RPF route/mask: 172.16.251.1/32

RPF type: unicast ()

Doing distance-preferred lookups across tables

RPF topology: ipv4 multicast base

After that, a (S,G) Join is built and sent out via the LISP interface to the source via the RLOC 10.1.11.1.

*Nov 26 18:38:19.650: PIM(0): Building Join/Prune packet for nbr 10.1.11.1

*Nov 26 18:38:19.650: PIM(0):  Adding v2 (172.16.251.1/32, 232.1.1.10), S-bit Join

*Nov 26 18:38:19.650: PIM(0): Adding LISP Unicast transport attribute in join/prune to 10.1.11.1 (LISP0)

*Nov 26 18:38:19.650: PIM(0): Send v2 join/prune to 10.1.11.1 (LISP0)

A Join is encapsulated into the unicast LISP header. The source IP of the encapsulated packet is a RLOC of the interface via which the packet is sent out. The destination IP is the RLOC address of the xTR which has reachability to the EID of the multicast source.

xTR2#sh ip lisp map-cache 172.16.251.1

LISP IPv4 Mapping Cache for EID-table default (IID 0), 4 entries

172.16.251.1/32, uptime: 02:18:16, expires: 21:41:44, via map-reply, complete

Sources: map-reply

State: complete, last modified: 02:18:16, map-source: 10.1.11.1

Idle, Packets out: 41(4838 bytes) (~ 01:21:15 ago)

Locator    Uptime    State      Pri/Wgt

10.1.11.1  02:18:16  up         100/100

Last up-down state change:         02:18:16, state change count: 1

Last route reachability change:    02:18:16, state change count: 1

Last priority / weight change:     never/never

RLOC-probing loc-status algorithm:

Last RLOC-probe sent:            never

In order to be able to send a Join you need to have a PIM neighbor. Once RPF information has been obtained, PIM explicitly creates a neighbor to the corresponding RLOC. The neighbor is not created in the usual way because PIM Hello’s are not going through the LISP tunnel.

xTR2#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.12.2       GigabitEthernet3.10      01:57:04/00:01:30 v2    1 / DR S P G

10.1.11.1         LISP0                    00:00:48/00:01:10 v2    0 /

A wireshark capture of the multicast packet is as shown in the image.

The outer Source and Destination IP are local and remote RLOCs. It is expected as you use unicast replication.

The inner Source IP was taken from the LISP0 interface.

xTR2#sh int LISP0 | i unn

Interface is unnumbered. Using address of Loopback0 (10.1.255.2)

The inner destination IP is multicast address 224.0.0.13 which is used for PIM messages.

On xTR2 for the (172.16.251.1, 232.1.1.10) mroute an IIL is the LISP0 interface and an OIL points to CE2.

xTR2#show ip mroute

<…skip…>

(172.16.251.1, 232.1.1.10), 00:00:36/00:02:55, flags: sT

Incoming interface: LISP0, RPF nbr 10.1.11.1

Outgoing interface list:

GigabitEthernet3.10, Forward/Sparse, 00:00:36/00:02:55

xTR2#sh ip mfib

<…skip…>

(172.16.251.1,232.1.1.10) Flags: HW

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

HW Forwarding:   0/0/0/0, Other: 0/0/0

LISP0 Flags: A

GigabitEthernet3.10 Flags: F NS

Pkts: 0/0

On xTR1, a Join from xTR2 was received and a (S,G) mroute was created.

*Nov 26 18:38:19.464: PIM(0): Received v2 Join/Prune on LISP0 from 10.1.255.2

*Nov 26 18:38:19.464: PIM(0): J/P Transport Attribute, Transport Type: Unicast, to us

*Nov 26 18:38:19.464: PIM(0): Join-list: (172.16.251.1/32, 232.1.1.10), S-bit set

*Nov 26 18:38:19.467: PIM(0): Add LISP0/10.1.12.1 to (172.16.251.1, 232.1.1.10), Forward state, by PIM SG Join

*Nov 26 18:38:19.467: PIM(0): Insert (172.16.251.1,232.1.1.10) join in nbr 172.16.11.2's queue

*Nov 26 18:38:19.467: PIM(0): Building Join/Prune packet for nbr 172.16.11.2

*Nov 26 18:38:19.467: PIM(0):  Adding v2 (172.16.251.1/32, 232.1.1.10), S-bit Join

*Nov 26 18:38:19.467: PIM(0): Send v2 join/prune to 172.16.11.2 (GigabitEthernet3.10)

xTR1#sh ip mroute

<…skip…>

(172.16.251.1, 232.1.1.10), 00:01:00/00:03:28, flags: sT

Incoming interface: GigabitEthernet3.10, RPF nbr 172.16.11.2

Outgoing interface list:

LISP0, 10.1.12.1, Forward/Sparse, 00:01:00/00:03:28 <<<< LISP in OIL

Upstream xTR1 must track every downstream RLOC for which a Join message has been received.

The xTR must remember the set of RLOCs to replicate packets to.

An (EIDs,G) entry at the upstream xTR therefore looks as follows for unicast encapsulation:

(EIDs, G)

A    Eth0/0

F    LISP0,  nexthop = RLOC1

F    LISP0,  nexthop = RLOC2

xTR1#sh ip mfib

<…skip…>

(172.16.251.1,232.1.1.10) Flags: HW

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

HW Forwarding:   0/0/0/0, Other: 0/0/0

GigabitEthernet3.10 Flags: A

LISP0, 10.1.12.1 Flags: F NS <<<<

Pkts: 0/0

Note: xTR1 doesn’t have a PIM neighbor via the interface LISP0.

xTR1# sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.11.2       GigabitEthernet3.10      04:25:32/00:01:37 v2    1 / DR S P G

On CE1 a Join for a (S,G) was received and a mroute has been created.

CE1#sh ip mro

<…skip…>

(172.16.251.1, 232.1.1.10), 02:16:45/00:03:08, flags: sT

Incoming interface: Loopback10, RPF nbr 0.0.0.0

Outgoing interface list:

GigabitEthernet0/1.10, Forward/Sparse, 02:16:45/00:03:08

Multicast traffic is flowing like expected.

CE1#ping 232.1.1.10 so lo10 rep 5

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 232.1.1.10, timeout is 2 seconds:

Packet sent with a source address of 172.16.251.1

Reply to request 0 from 172.16.251.2, 11 ms

Reply to request 0 from 172.16.251.2, 15 ms

Reply to request 1 from 172.16.251.2, 14 ms

Reply to request 1 from 172.16.251.2, 15 ms

Reply to request 2 from 172.16.251.2, 12 ms

Reply to request 2 from 172.16.251.2, 16 ms

Reply to request 3 from 172.16.251.2, 9 ms

Reply to request 3 from 172.16.251.2, 13 ms

Reply to request 4 from 172.16.251.2, 9 ms

Reply to request 4 from 172.16.251.2, 9 ms

Let’s add one more receiver on CE3.

An additional entry in an OIL for the new RLOC is added in a MRIB and a MFIB.

xTR1#sh ip mro 232.1.1.10

<…skip…>

(172.16.251.1, 232.1.1.10), 02:28:36/00:03:25, flags: sT

Incoming interface: GigabitEthernet3.10, RPF nbr 172.16.11.2

Outgoing interface list:

LISP0, 10.1.13.1, Forward/Sparse, 00:01:34/00:02:57

LISP0, 10.1.12.1, Forward/Sparse, 02:28:36/00:03:25

xTR1#sh ip mfib 232.1.1.10

<…skip…>

(172.16.251.1,232.1.1.10) Flags: HW

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

HW Forwarding:   10/0/118/0, Other: 0/0/0

GigabitEthernet3.10 Flags: A

LISP0, 10.1.13.1 Flags: F NS

Pkts: 0/0

LISP0, 10.1.12.1 Flags: F NS

Pkts: 0/0

If you start to send traffic to the 232.1.1.10 on the core interface as shown in the image.

The destination of the encapsulated packet is the RLOC for xTR2 as shown in the image.

The destination IP for the packet is the RLOC of xTR3.

Multicast flow is replicated into two unicast streams and is sent out over the core.

ASM

Note: A Static-RP only is supported. A RP redundancy is not supported.

Source Registers First

Let’s sent multicast  from CE1 to the group 225.1.1.10. CE1 is the First Hop Router (FHR) so it will trigger an unicast register message to the RP (CE4). As you don’t have any receivers, CE1 received a Register-Stop and creates mroute entries.

CE1#ping 225.1.1.10 so lo10

Type escape sequence to abort.

Sending 1, 100-byte ICMP Echos to 225.1.1.10, timeout is 2 seconds:

Packet sent with a source address of 172.16.251.1

*Nov 27 14:29:04.083: PIM(0): Check RP 172.16.251.4 into the (*, 225.1.1.10) entry

*Nov 27 14:29:04.084: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 225.1.1.10

*Nov 27 14:29:04.089: PIM(0): Adding register encap tunnel (Tunnel0) as forwarding interface of (172.16.251.1, 225.1.1.10).

*Nov 27 14:29:04.112: PIM(0): Received v2 Register-Stop on GigabitEthernet0/1.10 from 172.16.251.4

*Nov 27 14:29:04.112: PIM(0):   for source 172.16.251.1, group 225.1.1.10

*Nov 27 14:29:04.113: PIM(0): Removing register encap tunnel (Tunnel0) as forwarding interface of (172.16.251.1, 225.1.1.10).

*Nov 27 14:29:04.113: PIM(0): Clear Registering flag to 172.16.251.4 for (172.16.251.1/32, 225.1.1.10).

CE1#sh ip mro 225.1.1.10

<…skip…>

(*, 225.1.1.10), 00:02:16/stopped, RP 172.16.251.4, flags: SPF

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.11.1

Outgoing interface list: Null

(172.16.251.1, 225.1.1.10), 00:02:16/00:00:43, flags: PFT

Incoming interface: Loopback10, RPF nbr 0.0.0.0

Outgoing interface list: Null

On a RP side also expected picture. After you receive a Register message from CE1, RP (CE4)  is send a Register-Stop back and creates necessary mroutes.

CE4#

*Nov 27 14:24:06.810: PIM(0): Received v2 Register on GigabitEthernet0/1.10 from 172.16.251.1

*Nov 27 14:24:06.810:      for 172.16.251.1, group 225.1.1.10

*Nov 27 14:24:06.811: PIM(0): Check RP 172.16.251.4 into the (*, 225.1.1.10) entry

*Nov 27 14:24:06.812: PIM(0): Adding register decap tunnel (Tunnel0) as accepting interface of (*, 225.1.1.10).

*Nov 27 14:24:06.814: PIM(0): Adding register decap tunnel (Tunnel0) as accepting interface of (172.16.251.1, 225.1.1.10).

*Nov 27 14:24:06.815: PIM(0): Send v2 Register-Stop to 172.16.251.1 for 172.16.251.1, group 225.1.1.10

CE4#

*Nov 27 14:24:11.207: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 224.0.1.40

CE4#sh ip mro 225.1.1.10

<…skip…>

(*, 225.1.1.10), 00:00:31/stopped, RP 172.16.251.4, flags: SP

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list: Null

(172.16.251.1, 225.1.1.10), 00:00:31/00:02:28, flags: P

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.14.1

Outgoing interface list: Null

Take into account that a Register-source interface should be in the EID range otherwise LISP won’t be triggered. By default, it would be the IP address from the outgoing interface.

CE1#sh run | i source

ip pim register-source Loopback10

For xTR1 and xTR4, nothing changed because multicast traffic has not being received yet.

Receiver Comes First

Let's configure a receiver on the interface Lo10 on the device CE3.

CE3#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

CE3(config)#int lo10

CE3(config-if)#ip igmp join-group 225.1.1.10

CE3(config-if)#end

A (*,Join) is triggered and a mroute is created. Everything is expected.

CE3#

*Nov 27 14:48:46.271: PIM(0): Check RP 172.16.251.4 into the (*, 225.1.1.10) entry

*Nov 27 14:48:46.272: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 225.1.1.10

*Nov 27 14:48:46.272: PIM(0): Upstream mode for (*, 225.1.1.10) changed from 0 to 1

*Nov 27 14:48:46.274: PIM(0): Insert (*,225.1.1.10) join in nbr 172.16.13.1's queue

*Nov 27 14:48:46.275: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 225.1.1.10

*Nov 27 14:48:46.284: PIM(0): Building Join/Prune packet for nbr 172.16.13.1

*Nov 27 14:48:46.284: PIM(0):  Adding v2 (172.16.251.4/32, 225.1.1.10), WC-bit, RPT-bit, S-bit Join

*Nov 27 14:48:46.285: PIM(0): Send v2 join/prune to 172.16.13.1 (GigabitEthernet0/1.10)

CE3#sh ip mro

< …skip…>

(*, 225.1.1.10), 00:26:23/00:02:42, RP 172.16.251.4, flags: SJCL

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.13.1

Outgoing interface list:

Loopback10, Forward/Sparse, 00:26:23/00:02:42

(*, 224.0.1.40), 21:32:32/00:02:03, RP 172.16.251.4, flags: SJPCL

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.13.1

Outgoing interface list: Null

A (*,225.1.1.10) Join is received by xTR3. A (*,G) Join is sent to the RP. xTR3 checks the RLOC for the RP (172.16.251.4). As it is reachable via the LISP, PIM neighbor to the appropriate RLOC is created. In this case it is 10.1.14.1.

xTR3#

*Nov 27 14:30:23.229: PIM(0): Received v2 Join/Prune on GigabitEthernet0/2.10 from 172.16.13.2, to us

*Nov 27 14:30:23.229: PIM(0): Join-list: (*, 225.1.1.10), RPT-bit set, WC-bit set, S-bit set

*Nov 27 14:30:23.231: PIM(0): Check RP 172.16.251.4 into the (*, 225.1.1.10) entry

*Nov 27 14:30:23.233: PIM(0): Add GigabitEthernet0/2.10/172.16.13.2 to (*, 225.1.1.10), Forward state, by PIM *G Join

*Nov 27 14:30:23.247: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 225.1.1.10

*Nov 27 14:30:23.247: PIM(0): Upstream mode for (*, 225.1.1.10) changed from 0 to 1

*Nov 27 14:30:23.248: PIM(0): Insert (*,225.1.1.10) join in nbr 10.1.14.1's queue

xTR3#

*Nov 27 14:30:23.259: PIM(0): Building Join/Prune packet for nbr 10.1.14.1

*Nov 27 14:30:23.259: PIM(0):  Adding v2 (172.16.251.4/32, 225.1.1.10), WC-bit, RPT-bit, S-bit Join

*Nov 27 14:30:23.260: PIM(0): Send v2 join/prune to 10.1.14.1 (LISP0)

xTR3#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.13.2       GigabitEthernet0/2.10    21:54:17/00:01:27 v2    1 / DR S P G

10.1.14.1         LISP0                    00:26:16/00:01:35 v2    0 /

Let's check a wireshark capture as shown in the image.

The outer IP source is the local RLOC and the outer IP destination is the remote RLOC. The inner source is the IP address taken for the LISP0 interface. The inner destination IP address is the regular PIM multicast address 224.0.0.13.

A (*,G) mroute will be created. An incoming interface/RPF for the RP is the LISP0 interface.

xTR3#sh ip mro 225.1.1.10

<…skip…>

(*, 225.1.1.10), 00:42:51/00:03:25, RP 172.16.251.4, flags: S

Incoming interface: LISP0, RPF nbr 10.1.14.1

Outgoing interface list:

GigabitEthernet0/2.10, Forward/Sparse, 00:42:51/00:03:25

xTR3#sh int LISP0 | i address

Interface is unnumbered. Using address of Loopback0 (10.1.255.3)

On xTR4 a (*,G) Join is received from the LISP tunnel. An appropriate mroute is created.

xTR4#

*Nov 27 14:38:20.880: PIM(0): Received v2 Join/Prune on LISP0 from 10.1.255.3, to us

*Nov 27 14:38:20.881: PIM(0): Join-list: (*, 225.1.1.10), RPT-bit set, WC-bit set, S-bit set

*Nov 27 14:38:20.883: PIM(0): Check RP 172.16.251.4 into the (*, 225.1.1.10) entry

*Nov 27 14:38:20.883: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 225.1.1.10

*Nov 27 14:38:20.884: PIM(0): Add LISP0/10.1.13.1 to (*, 225.1.1.10), Forward state, by PIM *G Join

*Nov 27 14:38:20.885: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 225.1.1.10

*Nov 27 14:38:20.885: PIM(0): Upstream mode for (*, 225.1.1.10) changed from 0 to 1

xTR4#

*Nov 27 14:38:20.885: PIM(0): Insert (*,225.1.1.10) join in nbr 172.16.14.2's queue

*Nov 27 14:38:20.886: PIM(0): Building Join/Prune packet for nbr 172.16.14.2

*Nov 27 14:38:20.886: PIM(0):  Adding v2 (172.16.251.4/32, 225.1.1.10), WC-bit, RPT-bit, S-bit Join

*Nov 27 14:38:20.887: PIM(0): Send v2 join/prune to 172.16.14.2 (GigabitEthernet0/2.10)

xTR4#sh ip mro 225.1.1.10

<…skip…>

(*, 225.1.1.10), 00:45:05/00:02:56, RP 172.16.251.4, flags: S

Incoming interface: GigabitEthernet0/2.10, RPF nbr 172.16.14.2

Outgoing interface list:

LISP0, 10.1.13.1, Forward/Sparse, 00:45:05/00:02:56

A PIM neighbor is not created on xTR4 in this case. The PIM neighbor to CE4 only is present.

xTR4#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.14.2       GigabitEthernet0/2.10    22:00:37/00:01:20 v2    1 / DR S P G

From the RP perspective everything is expected. A (*,G) mroute is created.

CE4#

*Nov 27 14:41:55.907: PIM(0): Building Periodic (*,G) Join / (S,G,RP-bit) Prune message for 224.0.1.40

CE4#

*Nov 27 14:42:11.841: PIM(0): Received v2 Join/Prune on GigabitEthernet0/1.10 from 172.16.14.1, to us

*Nov 27 14:42:11.841: PIM(0): Join-list: (*, 225.1.1.10), RPT-bit set, WC-bit set, S-bit set

*Nov 27 14:42:11.844: PIM(0): Check RP 172.16.251.4 into the (*, 225.1.1.10) entry

*Nov 27 14:42:11.845: PIM(0): Adding register decap tunnel (Tunnel0) as accepting interface of (*, 225.1.1.10).

*Nov 27 14:42:11.846: PIM(0): Add GigabitEthernet0/1.10/172.16.14.1 to (*, 225.1.1.10), Forward state, by PIM *G Join

CE4#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:00:11/00:03:18, RP 172.16.251.4, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

GigabitEthernet0/1.10, Forward/Sparse, 00:00:11/00:03:18

(*, 224.0.1.40), 21:00:55/00:02:53, RP 172.16.251.4, flags: SJCL

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

GigabitEthernet0/1.10, Forward/Sparse, 21:00:55/00:02:53

Shortest Path Tree (SPT) Switchover

It is assumed that the shared-tree is already built.

CE1 starts to send traffic to the 225.1.1.10 from the source Lo10 (172.16.251.1).

CE1#ping 225.1.1.10 so lo10

Type escape sequence to abort.

Sending 1, 100-byte ICMP Echos to 225.1.1.10, timeout is 2 seconds:

Packet sent with a source address of 172.16.251.1

Reply to request 0 from 172.16.251.3, 77 ms

The first multicast packet is encapsulated into the unicast Register message and is sent to the RP.

.Nov 30 00:00:50.931: PIM(0): Check RP 172.16.251.4 into the (*, 225.1.1.10) entry

.Nov 30 00:00:50.932: MRT(0): (*,225.1.1.10), RPF change from  /0.0.0.0 to GigabitEthernet0/1.10/172.16.11.1

.Nov 30 00:00:50.932: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 225.1.1.10

.Nov 30 00:00:50.933: MRT(0): Create (*,225.1.1.10), RPF (GigabitEthernet0/1.10, 172.16.11.1, 90/3072)

.Nov 30 00:00:50.936: MRT(0): Reset the z-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:50.937: MRT(0): (172.16.251.1,225.1.1.10), RPF install from  /0.0.0.0 to Loopback10/0.0.0.0

.Nov 30 00:00:50.937: PIM(0): Adding register encap tunnel (Tunnel0) as forwarding interface of (172.16.251.1, 225.1.1.10).

The register packet is decapsulated on the RP and sent over the shared tree to the Receiver.

.Nov 30 00:00:51.540: PIM(0): Received v2 Register on GigabitEthernet0/1.10 from 172.16.251.1

.Nov 30 00:00:51.541:      for 172.16.251.1, group 225.1.1.10

.Nov 30 00:00:51.542: PIM(0): Adding register decap tunnel (Tunnel0) as accepting interface of (172.16.251.1, 225.1.1.10).

Because of match between outgoing interface for a (*,G) and an incoming interface for a (S,G), a proxy join timer is started for a (S,G), the flag X is set. It is a topology specific situation (RP-on-a-stick).

CE4#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:00:37/stopped, RP 172.16.251.4, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

GigabitEthernet0/1.10, Forward/Sparse, 00:00:37/00:02:52

(172.16.251.1, 225.1.1.10), 00:00:26/00:02:33, flags: PX

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.14.1

Outgoing interface list: Null

So CE4 sends a (S,G) Join to the Source and does not send a (S,G) Prune.

.Nov 30 00:00:51.544: PIM(0): Insert (172.16.251.1,225.1.1.10) join in nbr 172.16.14.1's queue

.Nov 30 00:00:51.546: PIM(0): Building Join/Prune packet for nbr 172.16.14.1

.Nov 30 00:00:51.546: PIM(0):  Adding v2 (172.16.251.1/32, 225.1.1.10), S-bit Join

.Nov 30 00:00:51.547: PIM(0): Send v2 join/prune to 172.16.14.1 (GigabitEthernet0/1.10)

At the same time, decapsulated multicast traffic is sent over a shared tree to receivers as shown in the images.

The  packet capture was taken on the xTR4 g0/1 interface.

In the first packet, the outer IP SRC and DST are 10.1.11.1 and 10.1.14.1.

In the second packet, the outer IP SRC and DST are 10.1.14.1 and 10.1.13.1 respectively.

After receiving multicast packets LHR CE3 is initiating SPT switchover. A Mroute for (S,G) is created and flags J and T are set. A (S,G) Join is sent towards the Source.

.Nov 30 00:00:51.765: MRT(0): Set 'L' flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:51.766: MRT(0): Reset the z-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:51.766: MRT(0): (172.16.251.1,225.1.1.10), RPF install from  /0.0.0.0 to GigabitEthernet0/1.10/172.16.13.1

.Nov 30 00:00:51.767: MRT(0): Set the T-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:51.768: PIM(0): Insert (172.16.251.1,225.1.1.10) join in nbr 172.16.13.1's queue

.Nov 30 00:00:51.768: MRT(0): Create (172.16.251.1,225.1.1.10), RPF (GigabitEthernet0/1.10, 172.16.13.1, 90/3072)

.Nov 30 00:00:51.769: MRT(0): WAVL Insert interface: Loopback10 in (172.16.251.1,225.1.1.10) Successful

.Nov 30 00:00:51.770: MRT(0): set min mtu for (172.16.251.1, 225.1.1.10) 18010->18010

.Nov 30 00:00:51.771: MRT(0): Add Loopback10/225.1.1.10 to the olist of (172.16.251.1, 225.1.1.10), Forward state - MAC not built

.Nov 30 00:00:51.771: MRT(0): Set the J-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:51.780: PIM(0): Building Join/Prune packet for nbr 172.16.13.1

.Nov 30 00:00:51.780: PIM(0):  Adding v2 (172.16.251.1/32, 225.1.1.10), S-bit Join

.Nov 30 00:00:51.781: PIM(0): Send v2 join/prune to 172.16.13.1 (GigabitEthernet0/1.10)

CE3#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:01:36/stopped, RP 172.16.251.4, flags: SJCL

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.13.1

Outgoing interface list:

Loopback10, Forward/Sparse, 00:01:36/00:02:48

(172.16.251.1, 225.1.1.10), 00:00:25/00:02:34, flags: LJT

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.13.1

Outgoing interface list:

Loopback10, Forward/Sparse, 00:00:25/00:02:48

xTR3 is receiving a (S,G) Join from CE3. It is checking RPF for the Source 172.16.251.1. It is triggering a LISP lookup and creates a PIM neighbor to the RLOC 10.1.11.1 additionally to the PIM neighbor to the RLOC 10.1.14.1. A Mroute for (S,G) with a flag T is created. A (S,G) Join is sent to the Source 172.16.255.1 via  the LISP0 RLOC 10.1.11.1

.Nov 30 00:00:51.104: PIM(0): Received v2 Join/Prune on GigabitEthernet0/2.10 from 172.16.13.2, to us

.Nov 30 00:00:51.105: PIM(0): Join-list: (172.16.251.1/32, 225.1.1.10), S-bit set

.Nov 30 00:00:51.105: PIM(0): RPF Lookup failed for 172.16.251.1

.Nov 30 00:00:51.108: MRT(0): Reset the z-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:51.108: MRT(0): Create (172.16.251.1,225.1.1.10), RPF (unknown, 0.0.0.0, 0/0)

.Nov 30 00:00:51.109: MRT(0): WAVL Insert interface: GigabitEthernet0/2.10 in (172.16.251.1,225.1.1.10) Successful

.Nov 30 00:00:51.110: MRT(0): set min mtu for (172.16.251.1, 225.1.1.10) 18010->1500

.Nov 30 00:00:51.110: MRT(0): Add GigabitEthernet0/2.10/225.1.1.10 to the olist of (172.16.251.1, 225.1.1.10), Forward state - MAC built

.Nov 30 00:00:51.111: PIM(0): Add GigabitEthernet0/2.10/172.16.13.2 to (172.16.251.1, 225.1.1.10), Forward state, by PIM SG Join

.Nov 30 00:00:51.111: MRT(0): Add GigabitEthernet0/2.10/225.1.1.10 to the olist of (172.16.251.1, 225.1.1.10), Forward state - MAC built

.Nov 30 00:00:51.112: MRT(0): Set the PIM interest flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:51.128: MRT(0): (172.16.251.1,225.1.1.10), RPF change from  /0.0.0.0 to LISP0/10.1.11.1

.Nov 30 00:00:51.130: MRT(0): Set the T-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:51.130: PIM(0): Insert (172.16.251.1,225.1.1.10) join in nbr 10.1.11.1's queue

.Nov 30 00:00:51.134: PIM(0): Building Join/Prune packet for nbr 10.1.11.1

.Nov 30 00:00:51.134: PIM(0):  Adding v2 (172.16.251.1/32, 225.1.1.10), S-bit Join

.Nov 30 00:00:51.135: PIM(0): Send v2 join/prune to 10.1.11.1 (LISP0)

xTR3#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.13.2       GigabitEthernet0/2.10    2d16h/00:01:20    v2    1 / DR S P G

10.1.11.1         LISP0                    00:00:19/00:01:39 v2    0 /

10.1.14.1         LISP0                    1d18h/00:01:39    v2    0 /

xTR3#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:01:29/stopped, RP 172.16.251.4, flags: S

Incoming interface: LISP0, RPF nbr 10.1.14.1

Outgoing interface list:

GigabitEthernet0/2.10, Forward/Sparse, 00:01:29/00:02:57

(172.16.251.1, 225.1.1.10), 00:00:19/00:02:40, flags: T

Incoming interface: LISP0, RPF nbr 10.1.11.1

Outgoing interface list:

GigabitEthernet0/2.10, Forward/Sparse, 00:00:19/00:03:10

RPF interfaces for a (*,G) and a (S,G) becomes different - a shared tree (RLOC 10.1.14.1) and SPT (RLOC 10.1.11.1).  It triggers a  (S,G) Prune message with RPT-bit and S-bit Join from xTR3 to the RP.

.Nov 30 00:00:51.209: PIM(0): Insert (172.16.251.1,225.1.1.10) sgr prune in nbr 10.1.14.1's queue

.Nov 30 00:00:51.212: PIM(0): Building Join/Prune packet for nbr 10.1.14.1

.Nov 30 00:00:51.212: PIM(0):  Adding v2 (172.16.251.4/32, 225.1.1.10), WC-bit, RPT-bit, S-bit Join

.Nov 30 00:00:51.213: PIM(0):  Adding v2 (172.16.251.1/32, 225.1.1.10), RPT-bit, S-bit Prune

.Nov 30 00:00:51.214: PIM(0): Send v2 join/prune to 10.1.14.1 (LISP0)

xTR3#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.13.2       GigabitEthernet0/2.10    4d09h/00:01:19    v2    1 / DR S P G

10.1.11.1         LISP0                    00:00:58/00:01:02 v2    0 /

10.1.14.1         LISP0                    3d11h/00:01:34    v2    0 /

xTR1 receives a (S,G) Join from xTR3 for that triggers SPT build. A RPF for (*,G) is the RP which is reachable via LISP. A PIM neighbor for a RPF check is created to the RLOC 10.1.14.1. A (*,G) and a (S,G) mroutes are created.

.Nov 30 00:00:55.281: PIM(0): Received v2 Join/Prune on LISP0 from 10.1.255.3

.Nov 30 00:00:55.281: PIM(0): J/P Transport Attribute, Transport Type: Unicast, to us

.Nov 30 00:00:55.282: PIM(0): Join-list: (172.16.251.1/32, 225.1.1.10), S-bit set

.Nov 30 00:00:55.283: PIM(0): Check RP 172.16.251.4 into the (*, 225.1.1.10) entry

.Nov 30 00:00:55.283: MRT(0): Create (*,225.1.1.10), RPF (unknown, 0.0.0.0, 0/0)

.Nov 30 00:00:55.284: MRT(0): Reset the z-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:55.284: MRT(0): (172.16.251.1,225.1.1.10), RPF install from  /0.0.0.0 to GigabitEthernet3.10/172.16.11.2

.Nov 30 00:00:55.284: MRT(0): Create (172.16.251.1,225.1.1.10), RPF (GigabitEthernet3.10, 172.16.11.2, 90/130816)

.Nov 30 00:00:55.285: MRT(0): WAVL Insert LISP interface: LISP0 in (172.16.251.1,225.1.1.10) Next-hop: 10.1.13.1 Outer-source: 0.0.0.0 Successful

.Nov 30 00:00:55.285: MRT(0): set min mtu for (172.16.251.1, 225.1.1.10) 18010->17892

.Nov 30 00:00:55.285: MRT(0): Set the T-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:00:55.286: MRT(0): Add LISP0/10.1.13.1 to the olist of (172.16.251.1, 225.1.1.10), Forward state - MAC not built

.Nov 30 00:00:55.286: PIM(0): Add LISP0/10.1.13.1 to (172.16.251.1, 225.1.1.10), Forward state, by PIM SG Join

.Nov 30 00:00:55.286: MRT(0): Add LISP0/10.1.13.1 to the olist of (172.16.251.1, 225.1.1.10), Forward state - MAC not built

Also xTR1 receives a (S,G) Join from the RP. An OIL LISP0 via the RLOC 10.1.14.1 is added to the (S,G).

.Nov 30 00:00:55.295: PIM(0): Received v2 Join/Prune on LISP0 from 172.16.251.14

.Nov 30 00:00:55.295: PIM(0): J/P Transport Attribute, Transport Type: Unicast, to us

.Nov 30 00:00:55.295: PIM(0): Join-list: (172.16.251.1/32, 225.1.1.10), S-bit set

.Nov 30 00:00:55.295: MRT(0): WAVL Insert LISP interface: LISP0 in (172.16.251.1,225.1.1.10) Next-hop: 10.1.14.1 Outer-source: 0.0.0.0 Successful

.Nov 30 00:00:55.296: MRT(0): set min mtu for (172.16.251.1, 225.1.1.10) 17892->17892

.Nov 30 00:00:55.296: MRT(0): Add LISP0/10.1.14.1 to the olist of (172.16.251.1, 225.1.1.10), Forward state - MAC not built

.Nov 30 00:00:55.296: PIM(0): Add LISP0/10.1.14.1 to (172.16.251.1, 225.1.1.10), Forward state, by PIM SG Join

.Nov 30 00:00:55.297: MRT(0): Add LISP0/10.1.14.1 to the olist of (172.16.251.1, 225.1.1.10), Forward state - MAC not built

xTR1#sh ip mro

(*, 225.1.1.10), 00:00:27/stopped, RP 172.16.251.4, flags: SP

Incoming interface: LISP0, RPF nbr 10.1.14.1

Outgoing interface list: Null

(172.16.251.1, 225.1.1.10), 00:00:27/00:02:31, flags: T

Incoming interface: GigabitEthernet3.10, RPF nbr 172.16.11.2

Outgoing interface list:

LISP0, 10.1.14.1, Forward/Sparse, 00:00:27/00:03:01

LISP0, 10.1.13.1, Forward/Sparse, 00:00:27/00:03:01

xTR4 receives a (S,G) prune from the xTR3. LISP0 to 10.1.13.1 is excluded from an OIL.

Nov 30 00:00:50.771: PIM(0): Received v2 Join/Prune on LISP0 from 10.1.255.3, to us

Nov 30 00:00:50.772: PIM(0): Join-list: (*, 225.1.1.10), RPT-bit set, WC-bit set, S-bit set

Nov 30 00:00:50.774: PIM(0): Update LISP0/10.1.13.1 to (*, 225.1.1.10), Forward state, by PIM *G Join

Nov 30 00:00:50.774: MRT(0): Update LISP0/10.1.13.1 in the olist of (*, 225.1.1.10), Forward state - MAC not built

Nov 30 00:00:50.775: PIM(0): Prune-list: (172.16.251.1/32, 225.1.1.10) RPT-bit set

Nov 30 00:00:50.776: PIM(0): Prune LISP0/10.1.13.1 from (172.16.251.1/32, 225.1.1.10)

Nov 30 00:00:50.776: MRT(0): Delete LISP0/10.1.13.1 from the olist of (172.16.251.1, 225.1.1.10) - deleted

xTR4#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:07:47/00:03:04, RP 172.16.251.4, flags: S

Incoming interface: GigabitEthernet0/2.10, RPF nbr 172.16.14.2

Outgoing interface list:

LISP0, 10.1.13.1, Forward/Sparse, 00:07:47/00:03:04

(172.16.251.1, 225.1.1.10), 00:00:26/00:02:33, flags:

Incoming interface: LISP0, RPF nbr 10.1.11.1

Outgoing interface list:

GigabitEthernet0/2.10, Forward/Sparse, 00:00:26/00:03:03

xTR4#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.14.2       GigabitEthernet0/2.10    4d09h/00:01:16    v2    1 / DR S P G

10.1.11.1         LISP0                    00:00:26/00:01:33 v2    0 /

The RP (CE4) receives a (S,G) Prune with RPT-bit set. The RP should prune the source from the shared tree. The RP initiates a (S,G) Prune towards the source.

.Nov 30 00:01:34.811: PIM(0): Received v2 Join/Prune on GigabitEthernet0/1.10 from 172.16.14.1, to us

.Nov 30 00:01:34.813: PIM(0): Prune-list: (172.16.251.1/32, 225.1.1.10) RPT-bit set

.Nov 30 00:01:34.818: MRT(0): Set the T-flag for (172.16.251.1, 225.1.1.10)

.Nov 30 00:01:34.818: PIM(0): Removing register decap tunnel (Tunnel0) as accepting interface of (172.16.251.1, 225.1.1.10).

.Nov 30 00:01:34.819: PIM(0): Installing GigabitEthernet0/1.10 as accepting interface for (172.16.251.1, 225.1.1.10).

.Nov 30 00:01:34.899: PIM(0): Insert (172.16.251.1,225.1.1.10) join in nbr 172.16.14.1's queue

.Nov 30 00:01:34.902: PIM(0): Building Join/Prune packet for nbr 172.16.14.1

.Nov 30 00:01:34.903: PIM(0):  Adding v2 (172.16.251.1/32, 225.1.1.10), S-bit Join

.Nov 30 00:01:34.903: PIM(0): Send v2 join/prune to 172.16.14.1 (GigabitEthernet0/1.10)

.Nov 30 00:01:39.398: PIM(0): Insert (172.16.251.1,225.1.1.10) prune in nbr 172.16.14.1's queue

.Nov 30 00:01:39.399: PIM(0): Building Join/Prune packet for nbr 172.16.14.1

.Nov 30 00:01:39.401: PIM(0):  Adding v2 (172.16.251.1/32, 225.1.1.10), S-bit Prune

.Nov 30 00:01:39.402: PIM(0): Send v2 join/prune to 172.16.14.1 (GigabitEthernet0/1.10)

CE4#sh ip mro

<…skip…>

(172.16.251.1, 225.1.1.10), 00:00:57/00:02:45, flags: PT

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.14.1

Outgoing interface list: Null

xTR4 receives a (S,G) Prune initiated by the RP and sends it to the FHR (CE1). Gi0/2.10 is excluded from an OIL.

Nov 30 00:01:38.620: PIM(0): Received v2 Join/Prune on GigabitEthernet0/2.10 from 172.16.14.2, to us

Nov 30 00:01:38.621: PIM(0): Prune-list: (172.16.251.1/32, 225.1.1.10)

Nov 30 00:01:38.622: PIM(0): Prune GigabitEthernet0/2.10/225.1.1.10 from (172.16.251.1/32, 225.1.1.10)

Nov 30 00:01:38.622: MRT(0): Delete GigabitEthernet0/2.10/225.1.1.10 from the olist of (172.16.251.1, 225.1.1.10)

Nov 30 00:01:38.624: MRT(0): Reset the PIM interest flag for (172.16.251.1, 225.1.1.10)

Nov 30 00:01:38.625: MRT(0): set min mtu for (172.16.251.1, 225.1.1.10) 1500->18010

Nov 30 00:01:38.626: PIM(0): Insert (172.16.251.1,225.1.1.10) prune in nbr 10.1.11.1's queue - deleted

Nov 30 00:01:38.628: PIM(0): Building Join/Prune packet for nbr 10.1.11.1

Nov 30 00:01:38.629: PIM(0):  Adding v2 (172.16.251.1/32, 225.1.1.10), S-bit Prune

Nov 30 00:01:38.630: PIM(0): Send v2 join/prune to 10.1.11.1 (LISP0)

xTR4#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:08:19/00:02:32, RP 172.16.251.4, flags: S

Incoming interface: GigabitEthernet0/2.10, RPF nbr 172.16.14.2

Outgoing interface list:

LISP0, 10.1.13.1, Forward/Sparse, 00:08:19/00:02:32

(172.16.251.1, 225.1.1.10), 00:00:57/00:02:02, flags: PT

Incoming interface: LISP0, RPF nbr 10.1.11.1

Outgoing interface list: Null

xTR1 receives a (S,G) Prune from  xTR4 and remove the LISP0 via the RLOC 10.1.14.1 from the OIL.

.Nov 30 00:01:47.450: PIM(0): Received v2 Join/Prune on LISP0 from 172.16.251.14

.Nov 30 00:01:47.450: PIM(0): J/P Transport Attribute, Transport Type: Unicast, to us

.Nov 30 00:01:47.450: PIM(0): Prune-list: (172.16.251.1/32, 225.1.1.10)

.Nov 30 00:01:47.451: PIM(0): Prune LISP0/10.1.14.1 from (172.16.251.1/32, 225.1.1.10)

.Nov 30 00:01:47.451: MRT(0): Delete LISP0/10.1.14.1 from the olist of (172.16.251.1, 225.1.1.10) – deleted

xTR1#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:01:02/stopped, RP 172.16.251.4, flags: SP

Incoming interface: LISP0, RPF nbr 10.1.14.1

Outgoing interface list: Null

(172.16.251.1, 225.1.1.10), 00:01:02/00:01:57, flags: T

Incoming interface: GigabitEthernet3.10, RPF nbr 172.16.11.2

Outgoing interface list:

LISP0, 10.1.13.1, Forward/Sparse, 00:01:02/00:02:27

Now you have a final state.

FHR (CE1)

CE1#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:01:46/stopped, RP 172.16.251.4, flags: SPF

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.11.1

Outgoing interface list: Null

(172.16.251.1, 225.1.1.10), 00:01:46/00:03:09, flags: FT

Incoming interface: Loopback10, RPF nbr 0.0.0.0

Outgoing interface list:

GigabitEthernet0/1.10, Forward/Sparse, 00:01:46/00:02:39, A

xTR1

xTR1#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:01:02/stopped, RP 172.16.251.4, flags: SP

Incoming interface: LISP0, RPF nbr 10.1.14.1

Outgoing interface list: Null

(172.16.251.1, 225.1.1.10), 00:01:02/00:01:57, flags: T

Incoming interface: GigabitEthernet3.10, RPF nbr 172.16.11.2

Outgoing interface list:

LISP0, 10.1.13.1, Forward/Sparse, 00:01:02/00:02:27

xTR1#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.11.2       GigabitEthernet3.10      16:23:01/00:01:29 v2    1 / DR S P G

10.1.14.1         LISP0                    00:01:02/00:01:55 v2    0 /

LHR (CE3)

CE3#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:10:10/stopped, RP 172.16.251.4, flags: SJCL

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.13.1

Outgoing interface list:

Loopback10, Forward/Sparse, 00:10:10/00:02:24

(172.16.251.1, 225.1.1.10), 00:01:46/00:01:13, flags: LJT

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.13.1

Outgoing interface list:

Loopback10, Forward/Sparse, 00:01:46/00:02:24

xTR3

xTR3#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:09:05/00:03:15, RP 172.16.251.4, flags: S

Incoming interface: LISP0, RPF nbr 10.1.14.1

Outgoing interface list:

GigabitEthernet0/2.10, Forward/Sparse, 00:09:05/00:03:15

(172.16.251.1, 225.1.1.10), 00:01:44/00:01:15, flags: T

Incoming interface: LISP0, RPF nbr 10.1.11.1

Outgoing interface list:

GigabitEthernet0/2.10, Forward/Sparse, 00:01:44/00:03:15

xTR3#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.13.2       GigabitEthernet0/2.10    4d09h/00:01:30    v2    1 / DR S P G

10.1.11.1         LISP0                    00:01:44/00:01:14 v2    0 /

10.1.14.1         LISP0                    3d11h/00:01:46    v2    0 /

RP(CE4)

CE4#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:09:10/00:03:17, RP 172.16.251.4, flags: S

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

GigabitEthernet0/1.10, Forward/Sparse, 00:09:10/00:03:17

(172.16.251.1, 225.1.1.10), 00:01:45/00:02:35, flags: PT

Incoming interface: GigabitEthernet0/1.10, RPF nbr 172.16.14.1

Outgoing interface list: Null

xTR4

xTR4#sh ip mro

<…skip…>

(*, 225.1.1.10), 00:09:05/00:02:44, RP 172.16.251.4, flags: S

Incoming interface: GigabitEthernet0/2.10, RPF nbr 172.16.14.2

Outgoing interface list:

LISP0, 10.1.13.1, Forward/Sparse, 00:09:05/00:02:44

(172.16.251.1, 225.1.1.10), 00:01:44/00:01:15, flags: PT

Incoming interface: LISP0, RPF nbr 10.1.11.1

Outgoing interface list: Null

xTR4#sh ip pim nei

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,

P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,

L - DR Load-balancing Capable

Neighbor          Interface                Uptime/Expires    Ver   DR

Address                                                            Prio/Mode

172.16.14.2       GigabitEthernet0/2.10    4d09h/00:01:25    v2    1 / DR S P G

10.1.11.1         LISP0                    00:01:44/00:01:47 v2    0 /

Verify

There is currently no verification procedure available for this configuration.

Troubleshoot

There is currently no specific troubleshooting information available for this configuration.

Source

- RFC 6831 The LISP for Multicast Environments