In this post we will leave the GRE encapsulated multicast traffic profiles in the rear view mirror and move over to the NG MVPN profiles. We will be leveraging multipoint LDP to provide the connectivity between the PE routers. Profiles 0, 3 and 11 use GRE encapsulation over the SP backbone. Profiles 1, 9 and 13 in this section use LDP encapsulation over the SP backbone.
There is also no PIM connectivity in the backbone, PIM is disabled in the backbone using only LDP. The Default MDT is replaced with the MP2MP trees and the Data MDT is replaced with the P2MP tree. The signaling from the customer to the provider is still PIM, an MPLS Label is allocated to forward the traffic over the backbone.
The root is configured on all of the PE routers which points to a router in the core. Multiple roots can be configured, for redundancy, any particular device can be the root(s). There is a label mapping message sent towards the root based on the shortest IGP path as soon as the root is defined on the PE. The BGP IPv4 MVPN is configured on the PEs and RRs, just like the GRE based profiles for Profile 3 and 11, this is as much BGP that is needed for this profile.
As soon as the PEs converge, they build the MP2MP Default MDT. The P2MP Data MDT is also supported. The IOS and XR configurations are below.
R1, R3 and R7
vrf definition MVPN
vpn id 100:100
!
address-family ipv4
mdt preference mldp
mdt default mpls mldp 192.0.2.22
mdt data mpls mldp 10 immediate-switch
XR1
vrf CORE
vpn id 100:100
!
route-policy RPL_MLDP_CORE
set core-tree mldp-default
end-policy
!
mpls ldp
mldp
logging notifications
address-family ipv4
!
multicast-routing
address-family ipv4
mdt source Loopback0
interface all enable
!
vrf CORE
address-family ipv4
rate-per-route
interface all enable
accounting per-prefix
mdt default mldp ipv4 192.0.2.22
mdt data mldp 10 immediate-switch
!
router pim
vrf CORE
address-family ipv4
rpf topology route-policy RPL_MLDP_CORE
interface GigabitEthernet0/0/0/0.204
Let's take a look at the verification.
R1#show mpls mldp root 192.0.2.22
Root node : 192.0.2.22
Metric : 4
Distance : 110
Interface : GigabitEthernet1.14 (via unicast RT)
FEC count : 1
Path count : 2
Path(s) : 100.64.14.4 LDP nbr: 192.0.2.4:0 GigabitEthernet1.14
: 100.64.12.2 LDP nbr: 192.0.2.2:0 GigabitEthernet1.12
RP/0/0/CPU0:XR1#show mpls mldp root 192.0.2.22
Thu Dec 20 23:32:42.859 UTC
mLDP root database
Root node : 192.0.2.22
Metric : 2
Distance : 110
FEC count : 1
Path count : 1
Path(s) : 100.64.112.120 LDP nbr: 192.0.2.22:0
R1 and XR1 have defined roots.
To understand the background process, we can take a look at the debug, "debug mpls mldp all". As soon as the root is defined, the below outputs are kicked out.
MLDP-MFI: Enabled MLDP MFI client on Lspvif0; status = ok
MLDP: Reclaimed success lsp vif: Lspvif0 address: 0.0.0.0 application: MDT vrf_id: 1
MLDP: Enabled IPv4 on Lspvif0 unnumbered with Loopback0
MLDP: Enable pim on lsp vif: Lspvif0
MLDP: Add success lsp vif: Lspvif0 address: 0.0.0.0 application: MDT vrf_id: 1
MLDP-MDT: [mdt 100:100 0] wavl insert success
MLDP: LDP root 192.0.2.22 added
A new interface, the LSPvif0 is created, the LSPvif is the Label Switch Path virtual interface and is the source of all the traffic over the backbone. PIM is enabled on the interface and PIM neighbors are formed between all of the PE routers, forming the MP2MP MDT. The MP2MP MDT is always given the value of "0".
MLDP: nhop 100.64.14.4 added
MLDP-NBR: 192.0.2.4:0 mapped to next_hop: 100.64.14.4
MLDP: nhop 100.64.12.2 added
MLDP-NBR: 192.0.2.2:0 mapped to next_hop: 100.64.12.2
MLDP: Root 192.0.2.22 old paths: 0 new paths: 2
MLDP-DB: [mdt 100:100 0] Changing peer from none to 192.0.2.4:0
MLDP-DB: [mdt 100:100 0] Add accepting element nbr: 192.0.2.4:0
MLDP-MFI: For accepting element nbr: 192.0.2.4:0, [mdt 100:100 0] MFI allocated label 1021
MLDP: [mdt 100:100 0] label mappping msg sent to 192.0.2.4:0 success
MLDP-DB: [mdt 100:100 0] path to peer: 192.0.2.4:0 changed None:0.0.0.0 to GigabitEthernet1.14:100.64.14.4
MLDP-MFI: After the MFI call For accepting element nbr: 192.0.2.4:0, Bind local label 1021 to PSM ID: 8, returned: 1021
MLDP-DB: [mdt 100:100 0] Activate accepting element nbr: 192.0.2.4:0
The leaf (PE) now needs to signal to the root that is a leaf of the tree by sending a label mapping message towards the root via the IGP shortest path. The label allocated is label 1021.
MLDP-LDP: [mdt 100:100 0] label mapping from: 192.0.2.4:0 label: 4018 root: 192.0.2.22 Opaque_len: 14 sess_hndl: 0x6
MLDP-DB: [mdt 100:100 0] Set upstream label from no_label to 4018
In order to reach the root a label value has to be allocated to reach the root, this is the upstream label, label 4018 is allocated.
%LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif0, changed state to up
%PIM-5-NBRCHG: VRF MVPN: neighbor 192.0.2.7 UP on interface Lspvif0
%PIM-5-DRCHG: VRF MVPN: DR change from neighbor 0.0.0.0 to 192.0.2.7 on interface Lspvif0
%PIM-5-NBRCHG: VRF MVPN: neighbor 192.0.2.3 UP on interface Lspvif0
%PIM-5-NBRCHG: VRF MVPN: neighbor 192.0.2.21 UP on interface Lspvif0
%PIM-5-DRCHG: VRF MVPN: DR change from neighbor 192.0.2.7 to 192.0.2.21 on interface Lspvif0
The PIM neighbors are up inside the VRF to the other PE routers.
R1#sh ip pim vrf MVPN neighbor
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
100.64.201.15 GigabitEthernet1.201 23:50:08/00:01:28 v2 1 / DR S P G
192.0.2.21 Lspvif0 00:29:06/00:01:19 v2 1 / DR G
192.0.2.3 Lspvif0 00:29:08/00:01:38 v2 1 / S P G
192.0.2.7 Lspvif0 00:29:08/00:01:39 v2 1 / S P G
R3#sh ip pim vrf MVPN neighbor
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
100.64.211.17 GigabitEthernet1.211 23:50:20/00:01:26 v2 1 / DR S P G
192.0.2.21 Lspvif0 06:35:44/00:01:30 v2 1 / DR G
192.0.2.1 Lspvif0 00:29:27/00:01:21 v2 1 / S P G
192.0.2.7 Lspvif0 07:02:22/00:01:20 v2 1 / S P G
R7#sh ip pim vrf MVPN neighbor
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
100.64.214.18 GigabitEthernet1.214 23:50:38/00:01:40 v2 1 / DR S P G
192.0.2.21 Lspvif0 06:36:05/00:01:40 v2 1 / DR G
192.0.2.1 Lspvif0 00:29:48/00:01:31 v2 1 / S P G
192.0.2.3 Lspvif0 07:02:43/00:01:28 v2 1 / S P G
RP/0/0/CPU0:XR1#sh pim vrf CORE neighbor
Thu Dec 20 23:21:06.626 UTC
PIM neighbors in VRF CORE
Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,
E - ECMP Redirect capable
* indicates the neighbor created for this router
Neighbor Address Interface Uptime Expires DR pri Flags
100.64.204.11* GigabitEthernet0/0/0/0.204 23:06:13 00:01:16 1 B E
100.64.204.16 GigabitEthernet0/0/0/0.204 23:06:09 00:01:25 1 (DR) P
192.0.2.1 LmdtCORE 06:36:29 00:01:38 1 P
192.0.2.3 LmdtCORE 06:36:29 00:01:36 1 P
192.0.2.7 LmdtCORE 06:36:29 00:01:37 1 P
192.0.2.21* LmdtCORE 06:40:56 00:01:17 1 (DR)
The above outputs show the VRF only PIM neighbors, there are no SP core PIM neighbors, they are no longer needed since the traffic is forwarded via MPLS Labels.
R1#show mpls mldp database opaque_type mdt 100:100 0
LSM ID : 8 (RNR LSM ID: 9) Type: MP2MP Uptime : 00:33:02
FEC Root : 192.0.2.22
Opaque decoded : [mdt 100:100 0]
Opaque length : 11 bytes
Opaque value : 02 000B 0001000000010000000000
RNR active LSP : (this entry)
Upstream client(s) :
192.0.2.4:0 [Active]
Expires : Never Path Set ID : 8
Out Label (U) : 4018 Interface : GigabitEthernet1.14*
Local Label (D): 1021 Next Hop : 100.64.14.4
Replication client(s):
MDT (VRF MVPN)
Uptime : 00:33:02 Path Set ID : 9
Interface : Lspvif0
The MPLS MLDP data above shows the local label 1021 and the out label 4018.
R1#show mpls forwarding-table labels 1021 detail
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
1021 No Label [mdt 100:100 0][V] \
0 aggregate/MVPN
MAC/Encaps=0/0, MRU=0, Label Stack{}, via Ls0
VPN route: MVPN
No output feature configured
Broadcast
Looking at the forwarding table we see the local label 1021, you'll notice that there is no "No Label", this is the label that will be used to send over the SP backbone. There is no PHP process in mLDP, rather there is a different label, the [mdt 100:100 0][v], indicates multicast traffic. All other unicast traffic is forwarded by other labels.
R4#sh mpls forwarding-table labels 4018 detail
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
4018 91011 [mdt 100:100 0] 10970 Gi1.114 100.64.114.111
MAC/Encaps=18/22, MRU=1500, Label Stack{91011}
000C293B3AE6000C29565354810000728847 16383000
No output feature configured
Broadcast
To prove that label 4018 is received by R4 is then switched to label 91011 towards XR1 for MDT traffic.
RP/0/0/CPU0:XR1#show mpls mldp database mp2mp
Thu Dec 20 23:27:27.080 UTC
mLDP database
LSM-ID: 0x00001 (RNR LSM-ID: 0x00002) Type: MP2MP Uptime: 06:44:21
FEC Root : 192.0.2.22
Opaque decoded : [mdt 100:100 0]
RNR active LSP : (this entry)
Candidate RNR ID(s):
Upstream neighbor(s) :
192.0.2.22:0 [Active] Uptime: 06:44:21
Next Hop : 100.64.112.120
Interface : GigabitEthernet0/0/0/0.112
Local Label (D) : 91012 Remote Label (U): 92019
Downstream client(s):
LDP 192.0.2.4:0 Uptime: 00:36:32
Next Hop : 100.64.114.4
Interface : GigabitEthernet0/0/0/0.114
Remote label (D) : 4009 Local label (U) : 91011
PIM MDT Uptime: 06:44:21
Egress intf : LmdtCORE
Table ID : IPv4: 0xe0000011 IPv6: 0xe0800011
HLI : 0x00002
RPF ID : 3
Local Label : 91010 (internal)
IOS XR has similar outputs, labels 91010 through 91012 are allocated for MDT traffic and label 4019 is the remote label towards R4.
RP/0/0/CPU0:XR1#show mpls forwarding labels 91010 91012
Thu Dec 20 23:29:15.113 UTC
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
91010 92019 MLDP: 0x00001 Gi0/0/0/0.112 100.64.112.120 0
4009 MLDP: 0x00001 Gi0/0/0/0.114 100.64.114.4 0
91011 92019 MLDP: 0x00001 Gi0/0/0/0.112 100.64.112.120 0
91012 4009 MLDP: 0x00001 Gi0/0/0/0.114 100.64.114.4 0
Labels 91010 to 91012 are the local labels, label 92019 and 4009 are the out label. These labels are for the multicast traffic.
Now that we have verified everything, we can now begin testing ASM and SSM traffic.
R17
interface Loopback0
ip address 192.0.2.17 255.255.255.255
ip pim sparse-mode
ip igmp join-group 232.15.15.15 source 192.0.2.15
ip igmp join-group 227.1.2.3
ip igmp version 3
R18
interface Loopback0
ip address 192.0.2.18 255.255.255.255
ip pim sparse-mode
ip igmp join-group 232.16.16.16 source 192.0.2.16
ip igmp join-group 227.1.2.3
Now that we have have configured the customer side, we need to verify the MRIBs have been built.
R1#sh ip mroute vrf MVPN sparse
(*, 224.21.21.21), 07:11:47/00:03:25, RP 192.0.2.15, flags: S
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Lspvif0, Forward/Sparse, 01:06:05/00:03:25
(*, 227.1.2.3), 07:11:47/00:02:57, RP 192.0.2.15, flags: S
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Lspvif0, Forward/Sparse, 01:06:06/00:02:57
R1#sh ip mroute vrf MVPN ssm
(192.0.2.15, 232.15.15.15), 06:36:12/00:03:11, flags: sT
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Lspvif0, Forward/Sparse, 01:06:10/00:03:11
R3#sh ip mroute vrf MVPN sparse
(*, 227.1.2.3), 07:10:28/00:02:47, RP 192.0.2.15, flags: S
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.211, Forward/Sparse, 07:10:28/00:02:47
R3#sh ip mroute vrf MVPN ssm
(192.0.2.15, 232.15.15.15), 06:35:53/00:03:21, flags: sT
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.211, Forward/Sparse, 06:35:53/00:03:21
R7#sh ip mroute vrf MVPN sparse
(*, 227.1.2.3), 07:12:44/00:03:01, RP 192.0.2.15, flags: S
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.214, Forward/Sparse, 07:12:44/00:03:01
R7#sh ip mroute vrf MVPN ssm
(192.0.2.16, 232.16.16.16), 06:36:27/00:03:24, flags: sT
Incoming interface: Lspvif0, RPF nbr 192.0.2.21
Outgoing interface list:
GigabitEthernet1.214, Forward/Sparse, 06:36:27/00:03:24
IOS has a couple keywords that allow us to breakdown the ASM signaled traffic from the SSM signaled traffic.
RP/0/0/CPU0:XR1#show mrib vrf CORE route
Fri Dec 21 00:00:28.725 UTC
(*,224.21.21.21) RPF nbr: 192.0.2.1 Flags: C RPF
Up: 07:15:13
Incoming Interface List
LmdtCORE Flags: A LMI, Up: 07:15:13
Outgoing Interface List
GigabitEthernet0/0/0/0.204 Flags: F NS, Up: 07:15:13
(*,232.0.0.0/8) Flags: D P
Up: 23:45:44
(192.0.2.16,232.16.16.16) RPF nbr: 100.64.204.16 Flags: RPF
Up: 06:38:54
Incoming Interface List
GigabitEthernet0/0/0/0.204 Flags: A, Up: 06:38:54
Outgoing Interface List
LmdtCORE Flags: F NS LMI, Up: 06:38:54
XR doesn't have the nifty keywords that IOS has but it is easy to differentiate the ASM (*, G) from the SSM (S, G) traffic.
We need to make sure that the customers know about the C-RP, which is R15 in this case.
R17#sh ip pim rp map
PIM Group-to-RP Mappings
Group(s) 224.0.0.0/4
RP 192.0.2.15 (?), v2
Info source: 192.0.2.15 (?), via bootstrap, priority 0, holdtime 150
Uptime: 07:13:16, expires: 00:01:51
R1#sh ip pim vrf MVPN rp map
PIM Group-to-RP Mappings
Group(s) 224.0.0.0/4
RP 192.0.2.15 (?), v2
Info source: 192.0.2.15 (?), via bootstrap, priority 0, holdtime 150
Uptime: 1d00h, expires: 00:02:02
RP/0/0/CPU0:XR1#sh pim vrf CORE rp map
Fri Dec 21 00:00:01.217 UTC
PIM Group-to-RP Mappings
Group(s) 224.0.0.0/4
RP 192.0.2.15 (?), v2
Info source: 192.0.2.1 (?), elected via bsr, priority 0, holdtime 150
Uptime: 07:14:45, expires: 00:02:28
We see that R15 is the RP and it advertised via BSR.
Now we need to test that multicast traffic is working.
R15#ping 227.1.2.3 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 227.1.2.3, timeout is 2 seconds:
Reply to request 0 from 100.64.211.17, 40 ms
Reply to request 0 from 100.64.214.18, 43 ms
Reply to request 0 from 192.0.2.17, 42 ms
Reply to request 0 from 192.0.2.18, 41 ms
Reply to request 1 from 192.0.2.18, 11 ms
Reply to request 1 from 192.0.2.18, 16 ms
Reply to request 1 from 192.0.2.17, 13 ms
Reply to request 1 from 100.64.211.17, 13 ms
Reply to request 1 from 192.0.2.17, 13 ms
Reply to request 1 from 100.64.214.18, 11 ms
We'll first ping the ASM group that both R18 and R17 have signaled to join. We'll need to check the FHR, First Hop Router, R1 and XR1, to see that the ASM (*, G) has a (S, G) binding.
R1#sh ip mroute vrf MVPN
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route,
x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(192.0.2.15, 232.15.15.15), 06:42:26/00:02:53, flags: sT
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Lspvif0, Forward/Sparse, 01:12:25/00:02:53
(*, 224.21.21.21), 07:18:05/00:03:07, RP 192.0.2.15, flags: S
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Lspvif0, Forward/Sparse, 01:12:23/00:03:07
(*, 227.1.2.3), 07:18:05/stopped, RP 192.0.2.15, flags: S
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Lspvif0, Forward/Sparse, 01:12:24/00:02:33
(192.0.2.15, 227.1.2.3), 00:00:37/00:02:22, flags: T
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Lspvif0, Forward/Sparse, 00:00:37/00:02:52
(100.64.201.15, 227.1.2.3), 00:00:39/00:02:20, flags: T
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Lspvif0, Forward/Sparse, 00:00:39/00:02:50
R16#ping 227.1.2.3 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 227.1.2.3, timeout is 2 seconds:
Reply to request 0 from 100.64.214.18, 41 ms
Reply to request 0 from 192.0.2.17, 43 ms
Reply to request 0 from 100.64.211.17, 42 ms
Reply to request 0 from 192.0.2.18, 42 ms
Reply to request 1 from 192.0.2.17, 13 ms
Reply to request 1 from 192.0.2.18, 19 ms
Reply to request 1 from 192.0.2.17, 18 ms
Reply to request 1 from 100.64.211.17, 18 ms
Reply to request 1 from 100.64.214.18, 18 ms
Reply to request 1 from 192.0.2.18, 16 ms
RP/0/0/CPU0:XR1#show mrib vrf CORE route
Fri Dec 21 00:04:12.609 UTC
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
(*,224.21.21.21) RPF nbr: 192.0.2.1 Flags: C RPF
Up: 07:18:57
Incoming Interface List
LmdtCORE Flags: A LMI, Up: 07:18:57
Outgoing Interface List
GigabitEthernet0/0/0/0.204 Flags: F NS, Up: 07:18:57
(100.64.204.16,227.1.2.3) RPF nbr: 100.64.204.16 Flags: RPF
Up: 00:00:26
Incoming Interface List
GigabitEthernet0/0/0/0.204 Flags: A, Up: 00:00:26
Outgoing Interface List
LmdtCORE Flags: F NS LMI, Up: 00:00:26
(192.0.2.16,227.1.2.3) RPF nbr: 100.64.204.16 Flags: RPF
Up: 00:00:24
Incoming Interface List
GigabitEthernet0/0/0/0.204 Flags: A, Up: 00:00:24
Outgoing Interface List
LmdtCORE Flags: F NS LMI, Up: 00:00:24
(*,232.0.0.0/8) Flags: D P
Up: 23:49:28
(192.0.2.16,232.16.16.16) RPF nbr: 100.64.204.16 Flags: RPF
Up: 06:42:38
Incoming Interface List
GigabitEthernet0/0/0/0.204 Flags: A, Up: 06:42:38
Outgoing Interface List
LmdtCORE Flags: F NS LMI, Up: 06:42:38
We see that XR1 also has a (S, G) entry for the (*, 227.1.2.3) entry.
R7#sh ip mroute vrf MVPN sparse
(*, 227.1.2.3), 07:21:10/00:03:27, RP 192.0.2.15, flags: S
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.214, Forward/Sparse, 07:21:10/00:03:27
(192.0.2.15, 227.1.2.3), 00:00:06/00:02:53, flags: T
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.214, Forward/Sparse, 00:00:06/00:03:27
(100.64.201.15, 227.1.2.3), 00:00:08/00:02:51, flags: T
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.214, Forward/Sparse, 00:00:08/00:03:27
(192.0.2.16, 227.1.2.3), 00:02:37/00:00:22, flags: T
Incoming interface: Lspvif0, RPF nbr 192.0.2.21
Outgoing interface list:
GigabitEthernet1.214, Forward/Sparse, 00:02:37/00:03:27
(100.64.204.16, 227.1.2.3), 00:02:39/00:00:20, flags: T
Incoming interface: Lspvif0, RPF nbr 192.0.2.21
Outgoing interface list:
GigabitEthernet1.214, Forward/Sparse, 00:02:39/00:03:27
R3#sh ip mroute vrf MVPN sparse
(*, 227.1.2.3), 07:22:14/00:02:51, RP 192.0.2.15, flags: S
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.211, Forward/Sparse, 07:22:14/00:02:51
(192.0.2.16, 227.1.2.3), 00:00:05/00:02:54, flags: T
Incoming interface: Lspvif0, RPF nbr 192.0.2.21
Outgoing interface list:
GigabitEthernet1.211, Forward/Sparse, 00:00:05/00:03:26
(100.64.204.16, 227.1.2.3), 00:00:05/00:02:54, flags: T
Incoming interface: Lspvif0, RPF nbr 192.0.2.21
Outgoing interface list:
GigabitEthernet1.211, Forward/Sparse, 00:00:05/00:03:24
(192.0.2.15, 227.1.2.3), 00:01:09/00:01:50, flags: T
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.211, Forward/Sparse, 00:01:09/00:03:19
(100.64.201.15, 227.1.2.3), 00:01:11/00:01:48, flags: T
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.211, Forward/Sparse, 00:01:11/00:03:16
We check R3 and R7 to see there are (S, G) entries for the (*, 227.1.2.3) that was signaled. We see this for both R15 and R16.
R15#ping 232.15.15.15 source lo0 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 232.15.15.15, timeout is 2 seconds:
Packet sent with a source address of 192.0.2.15
Reply to request 0 from 192.0.2.17, 6 ms
Reply to request 0 from 192.0.2.17, 6 ms
Reply to request 1 from 192.0.2.17, 6 ms
Reply to request 1 from 192.0.2.17, 6 ms
We ping the SSM group sourcing it from the loopback and get replies back from R17.
R3#sh ip mroute vrf MVPN ssm
(192.0.2.15, 232.15.15.15), 06:48:52/00:03:09, flags: sT
Incoming interface: Lspvif0, RPF nbr 192.0.2.1
Outgoing interface list:
GigabitEthernet1.211, Forward/Sparse, 06:48:52/00:03:09
Checking R3 we see an entry in the VRF MRIB that is an (S, G) entry.
R16#ping 232.16.16.16 source lo0 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 232.16.16.16, timeout is 2 seconds:
Packet sent with a source address of 192.0.2.16
Reply to request 0 from 192.0.2.18, 13 ms
Reply to request 0 from 192.0.2.18, 15 ms
Reply to request 1 from 192.0.2.18, 6 ms
Reply to request 1 from 192.0.2.18, 6 ms
R7#sh ip mroute vrf MVPN ssm
(192.0.2.16, 232.16.16.16), 06:47:49/00:02:51, flags: sT
Incoming interface: Lspvif0, RPF nbr 192.0.2.21
Outgoing interface list:
GigabitEthernet1.214, Forward/Sparse, 06:47:49/00:02:51
The same thing is true for R16.
Now that we have tested there is reachability, let's take a look at the MLDP database summaries and the forwarding tables to make sure traffic has been signaled correctly and the flows are working correctly.
R1#show mpls mldp database | in Label
Out Label (U) : 4018 Interface : GigabitEthernet1.14*
Local Label (D): 1021 Next Hop : 100.64.14.4
R1#show mpls forwarding-table labels 1021
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
1021 [T] No Label [mdt 100:100 0][V] \
610 aggregate/MVPN
[T] Forwarding through a LSP tunnel.
View additional labelling info with the 'detail' option
RP/0/0/CPU0:XR1#sh mpls mldp database | in Label
Fri Dec 21 01:07:56.347 UTC
Local Label : 91013 (internal)
Local Label : 91014 (internal)
Local Label : 91015 (internal)
Local Label (D) : 91012 Remote Label (U): 92019
Local Label : 91010 (internal)
RP/0/0/CPU0:XR1#show mpls forwarding labels 91010 91015
Fri Dec 21 01:07:58.297 UTC
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
91010 92019 MLDP: 0x00001 Gi0/0/0/0.112 100.64.112.120 0
4009 MLDP: 0x00001 Gi0/0/0/0.114 100.64.114.4 0
91011 92019 MLDP: 0x00001 Gi0/0/0/0.112 100.64.112.120 0
91012 4009 MLDP: 0x00001 Gi0/0/0/0.114 100.64.114.4 0
91013 92020 MLDP: 0x00003 Gi0/0/0/0.112 100.64.112.120 0
91014 92021 MLDP: 0x00004 Gi0/0/0/0.112 100.64.112.120 0
91015 92022 MLDP: 0x00005 Gi0/0/0/0.112 100.64.112.120 0
The first hop routers signal a label for every MDT that is signaled for. The MP2MP and P2MP each have a label allocated.
R3#show mpls mldp database | in Label
Out Label (U) : None Interface : GigabitEthernet1.23*
Local Label (D): 3021 Next Hop : 100.64.23.2
Out Label (U) : None Interface : GigabitEthernet1.23*
Local Label (D): 3024 Next Hop : 100.64.23.2
Out Label (U) : None Interface : GigabitEthernet1.23*
Local Label (D): 3022 Next Hop : 100.64.23.2
Out Label (U) : None Interface : GigabitEthernet1.23*
Local Label (D): 3025 Next Hop : 100.64.23.2
Out Label (U) : None Interface : GigabitEthernet1.36*
Local Label (D): 3023 Next Hop : 100.64.36.6
Out Label (U) : 2009 Interface : GigabitEthernet1.23*
Local Label (D): 3020 Next Hop : 100.64.23.2
R3#show mpls forwarding-table labels 3020 - 3025
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
3020 [T] No Label [mdt 100:100 0][V] \
7686 aggregate/MVPN
3021 [T] No Label [mdt 100:100 1][V] \
1464 aggregate/MVPN
3022 [T] No Label [mdt 100:100 2][V] \
488 aggregate/MVPN
3023 [T] No Label [mdt 100:100 3][V] \
366 aggregate/MVPN
3024 [T] No Label [mdt 100:100 2][V] \
0 aggregate/MVPN
6018 [mdt 100:100 2][V] \
0 Gi1.36 100.64.36.6
3025 [T] No Label [mdt 100:100 3][V] \
0 aggregate/MVPN
[T] Forwarding through a LSP tunnel.
View additional labelling info with the 'detail' option
R7#sh mpls mldp database | in Label
Out Label (U) : None Interface : GigabitEthernet1.127*
Local Label (D): 7021 Next Hop : 100.64.127.12
Out Label (U) : None Interface : GigabitEthernet1.127*
Local Label (D): 7022 Next Hop : 100.64.127.12
Out Label (U) : None Interface : GigabitEthernet1.127*
Local Label (D): 7023 Next Hop : 100.64.127.12
Out Label (U) : 92018 Interface : GigabitEthernet1.127*
Local Label (D): 7020 Next Hop : 100.64.127.12
R7#show mpls forwarding-table labels 7020 - 7023
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
7020 [T] No Label [mdt 100:100 0][V] \
6832 aggregate/MVPN
7021 [T] No Label [mdt 100:100 1][V] \
1464 aggregate/MVPN
7022 [T] No Label [mdt 100:100 2][V] \
488 aggregate/MVPN
7023 [T] No Label [mdt 100:100 3][V] \
366 aggregate/MVPN
6009 [mdt 100:100 3][V] \
366 Gi1.67 100.64.67.6
[T] Forwarding through a LSP tunnel.
View additional labelling info with the 'detail' option
Once the multicast traffic is signaled, the MP2MP and P2MP labels are signaled and used to forward the traffic. The key thing to remember here is that Profile 1 is a direct replacement for Profile 0, leveraging MPLS LDP to encapsulate the traffic. Now both unicast and multicast traffic is LDP encapsulated. This is the easiest barrier to entry into Next Generation MVPN.
Thanks for stopping by!
Rob Riker, CCIE #50693
No comments:
Post a Comment