Monday, March 5, 2018
IOS and XR Multicast VPN with Profile 1 - MLDP MP2MP PIM Default MDT with BSR and AutoRP
Multipoint GRE tunnels between the PEs was the first flavor of mVPN. Since LDP is deployed in the SP core, we can leverage the LSPs that have been built in the core. The default MDT uses LDP for transport and not GRE tunnels between the PEs. The idea is to enable mLDP as the transport. Default MDT-mLDP, also referred to as Multi-Directional Inclusive - Provider Multicast Service Interface (MI-PMSI) or Profile 1. The end result is MP2MP bidirectional LDP adjacencies that allow the PEs to exchange PIM communication from the customers, instead of the traffic being forwarded over mGRE.
BSR is used in the customer network and Auto RP is used in the SP network.
This is configured on all the IOS XE routers. This is used to inform the SP routers that LDP is used for PIM transport.
ip pim mpls source Loopback0
One device in the SP core needs to be configured as the root of the MP2MP tree. This is configured under the VRF process for the address families that mLDP applies to. Specify the VPN ID at this point as well.
IOS-XE
mdt default mpls mldp x.x.x.x
IOS-XR
mdt default mldp ipv4 x.x.x.x
IOS XE PE routers
vrf definition MCAST
rd 1:1
vpn id 1:1
!
address-family ipv4
mdt default mpls mldp 172.16.100.1
*Mar 5 23:49:35.292: MLDP: Reevaluating peers for nhop: 10.1.9.1
*Mar 5 23:49:36.239: %LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif1, changed state to up
*Mar 5 23:49:36.703: %PIM-5-DRCHG: VRF MCAST: DR change from neighbor 0.0.0.0 to 172.16.100.9 on interface Lspvif1
*Mar 5 23:49:56.565: %PIM-5-NBRCHG: VRF MCAST: neighbor 172.16.100.3 UP on interface Lspvif1
*Mar 5 23:50:26.520: %PIM-5-NBRCHG: VRF MCAST: neighbor 172.16.100.110 UP on interface Lspvif1
R9#sh mpls mldp neighbors
MLDP peer ID : 172.16.100.1:0, uptime 1d07h Up,
Target Adj : No
Session hndl : 1
Upstream count : 1
Branch count : 0
Path count : 1
Path(s) : 10.1.9.1 LDP GigabitEthernet1.19
Nhop count : 1
Nhop list : 10.1.9.1
R9#sh mpls mldp root
Root node : 172.16.100.1
Metric : 20
Distance : 115
Interface : GigabitEthernet1.19 (via unicast RT)
FEC count : 1
Path count : 1
Path(s) : 10.1.9.1 LDP nbr: 172.16.100.1:0 GigabitEthernet1.19
R9#sh mpls mldp bindings
System ID: 1
Type: MP2MP, Root Node: 172.16.100.1, Opaque Len: 14
Opaque value: [mdt 1:1 0]
lsr: 172.16.100.1:0, remote binding[U]: 37, local binding[D]: 44 active
R9#show mpls forwarding-table labels 44 detail
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
44 No Label [mdt 1:1 0][V] 244 aggregate/MCAST
MAC/Encaps=0/0, MRU=0, Label Stack{}, via Ls1
VPN route: MCAST
No output feature configured
Broadcast
As you can see on R9, the label value of 44 is bound to the mLDP configuration and after pinging 224.1.1.1 from R5, we see that 244 bytes of traffic were label switched. This indicates that traffic is supported and forwarded.
IOS XR PE routers
mpls ldp
mldp
!
vrf MCAST
vpn id 1:1
address-fammily ipv4 unicast
!
route-policy MDT_mLDP
set core-tree mldp
end-policy
!
multicast-routing
vrf MCAST
address-family ipv4
mdt default mldp ipv4 172.16.100.1
!
router pim
vrf MCAST
address-family ipv4
rpf topology route-policy MDT_mLDP
RP/0/0/CPU0:XR9#sh mpls mldp root
Tue Mar 6 00:13:47.947 UTC
mLDP root database
Root node : 172.16.100.1
Metric : 30
Distance : 115
FEC count : 1
Path count : 1
Path(s) : 10.11.19.11 LDP nbr: 172.16.100.11:0
RP/0/0/CPU0:XR9#sh mpls mldp bindings
Tue Mar 6 00:14:00.916 UTC
mLDP MPLS Bindings database
LSP-ID: 0x00001 Paths: 2 Flags: Pk
0x00001 MP2MP 172.16.100.1 [mdt 1:1 0]
Local Label: 24025 Remote: 24021 NH: 10.11.19.11 Inft: GigabitEthernet0/0/0/0.1119 Active
Local Label: 24024 Remote: 1048577 Inft: LmdtMCAST RPF-ID: 3 TIDv4/v6: 0xE0000011/0xE0800011
Even though IOS XR PEs are configured, it doesn't appear that Profile 1 is supported in the data plane on IOS XRv for either XRv 5.3 or XRv 6.0. As I added the configuration to XR9 and XR8 and tested R5 multicast group pings, neither R13 or R14 interface addresses responded.
I received this message from the console after enabling "debug mpls mldp all"
RP/0/0/CPU0:Mar 6 00:28:18.084 : mpls_ldp[1049]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00001 [mdt 1:1 0] MP2MP 172.16.100.1, Add PIM MDT branch remote label no_label, local label no_label
RP/0/0/CPU0:Mar 6 00:28:20.153 : config[65738]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'Rob'. Use 'show configuration commit changes 1000000028' to view the changes.
RP/0/0/CPU0:XR8(config-pim-MCAST-ipv4)#RP/0/0/CPU0:Mar 6 00:28:28.453 : netio[312]: %PKT_INFRA-PAK-3-OWNERSHIP_PROCESS_FREE : Client with pid 434260 tried to access freed packet b0c08a0c (pak pid -434260) : pkg/bin/netio : (PID=434260) : -Traceback= e7de732 f7f6997 e7d18b4 f475f26 4225597 422265e d17d445 d17b518 42219ee d1c7050
This indicates to me either there is an issue on the device or other problem that inhibits XR from forwarding the traffic. IOSXR 9ks do this as well for L2VPN data plane forwarding. This tells me that data plane support is not available for this profile.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment