In this post we'll be taking a look at the next mLDP profile, Profile 9 leveraging BGP AD to discover the PE routers. The configuration for the profile is very straightforward. This migration from profile 1 to profile 9 is the same as migrating from profile 0 to profile 3. Enabling BGP AD for PE discovery.
R1, R3 and R7
vrf definition MVPN
address-family ipv4
mdt auto-discovery mldp
XR1
multicast-routing
!
vrf CORE
address-family ipv4
bgp auto-discovery mldp
With the configuration in place, we can now take a look at verifying R1 and XR1 BGPs MVPN tables.
R1#show bgp ipv4 mvpn all | b Network
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf MVPN)
*> [1][100:100][192.0.2.1]/12
0.0.0.0 32768 ?
*>i [1][100:100][192.0.2.3]/12
192.0.2.3 0 100 0 ?
*>i [1][100:100][192.0.2.7]/12
192.0.2.7 0 100 0 ?
*>i [1][100:100][192.0.2.21]/12
192.0.2.21 100 0 i
*>i [3][100:100][100.64.204.16][227.1.2.3][192.0.2.21]/22
192.0.2.21 100 0 i
*> [3][100:100][192.0.2.15][232.15.15.15][192.0.2.1]/22
0.0.0.0 32768 ?
*>i [3][100:100][192.0.2.16][227.1.2.3][192.0.2.21]/22
192.0.2.21 100 0 i
*>i [3][100:100][192.0.2.16][232.16.16.16][192.0.2.21]/22
RP/0/0/CPU0:XR1#sh bgp ipv4 mvpn | b Network
Fri Dec 21 21:30:12.543 UTC
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf CORE)
*>i[1][192.0.2.1]/40 192.0.2.1 0 100 0 ?
*>i[1][192.0.2.3]/40 192.0.2.3 0 100 0 ?
*>i[1][192.0.2.7]/40 192.0.2.7 0 100 0 ?
*> [1][192.0.2.21]/40 0.0.0.0 0 i
*> [3][32][100.64.204.16][32][227.1.2.3][192.0.2.21]/120
0.0.0.0 0 i
*>i[3][32][192.0.2.15][32][232.15.15.15][192.0.2.1]/120
192.0.2.1 0 100 0 ?
*> [3][32][192.0.2.16][32][227.1.2.3][192.0.2.21]/120
0.0.0.0 0 i
*> [3][32][192.0.2.16][32][232.16.16.16][192.0.2.21]/120
0.0.0.0 0 i
Processed 8 prefixes, 8 paths
We can see that all of the PE routers have discovered each other and populated the MRIB.
R1#show bgp ipv4 mvpn all route-type 1 192.0.2.3
BGP routing table entry for [1][100:100][192.0.2.3]/12, version 76
Paths: (1 available, best #1, table MVPNv4-BGP-Table, not advertised to EBGP peer)
Not advertised to any peer
Refresh Epoch 1
Local
192.0.2.3 (metric 3) from 192.0.2.22 (192.0.2.22)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Community: no-export
Extended Community: RT:100:100
Originator: 192.0.2.3, Cluster list: 192.0.2.22
PMSI Attribute: Flags: 0x0, Tunnel type: 7, length 24, label: exp-null, tunnel parameters: 0800 0104 C000 0216 000E 0200 0B00 0100 0000 0100 0000 0000
rx pathid: 0, tx pathid: 0x0
Expanding a Type 1 route shows tunnel type 7 which is an mLDP MP2MP LSP connection. Which is the default MDT equivalent.
R1#show bgp ipv4 mvpn all route-type 3 100.64.204.16 227.1.2.3 192.0.2.21
BGP routing table entry for [3][100:100][100.64.204.16][227.1.2.3][192.0.2.21]/22, version 93
Paths: (1 available, best #1, table MVPNv4-BGP-Table, not advertised to EBGP peer)
Not advertised to any peer
Refresh Epoch 1
Local
192.0.2.21 (metric 3) from 192.0.2.22 (192.0.2.22)
Origin IGP, localpref 100, valid, internal, best
Community: no-export
Extended Community: RT:100:100
Originator: 192.0.2.21, Cluster list: 192.0.2.22
PMSI Attribute: Flags: 0x0, Tunnel type: 2, length 24, label: exp-null, tunnel parameters: 0600 0104 C000 0215 000E 0200 0B00 0100 0000 0100 0000 0003
rx pathid: 0, tx pathid: 0x0
Also on R1, we expand a Type 3 route and showing a tunnel type 2, which is an mLDP P2MP LSP. The difference between the two is the P2MP is traffic from a source to a receiver, where MP2MP is connections between the PEs.
There is currently no multicast flows in the network, only one MDT exists, the default MDT. However ASM and SSM traffic has been signal which is why the Type 3 routes show up and the Tunnel type of 2 has been setup.
R1#show mpls mldp database | in MP2MP|P2MP|Label
LSM ID : A Type: P2MP Uptime : 21:06:01
LSM ID : 8 (RNR LSM ID: 9) Type: MP2MP Uptime : 22:58:24
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
R1 is a first hop router, it will forward traffic over a signaled LSP to the PE routers that requested it. The local label that is applied is label 1021.
R3#sh mpls mldp database | in MP2MP|P2MP|Label|FEC Root
LSM ID : 4 Type: P2MP Uptime : 21:22:14
FEC Root : 192.0.2.1
Out Label (U) : None Interface : GigabitEthernet1.23*
Local Label (D): 3021 Next Hop : 100.64.23.2
LSM ID : 6 Type: P2MP Uptime : 21:20:07
FEC Root : 192.0.2.21
Out Label (U) : None Interface : GigabitEthernet1.23*
Local Label (D): 3022 Next Hop : 100.64.23.2
LSM ID : 7 Type: P2MP Uptime : 21:14:28
FEC Root : 192.0.2.21
Out Label (U) : None Interface : GigabitEthernet1.36*
Local Label (D): 3023 Next Hop : 100.64.36.6
LSM ID : 1 (RNR LSM ID: 2) Type: MP2MP Uptime : 1d05h
FEC Root : 192.0.2.22
Out Label (U) : 2009 Interface : GigabitEthernet1.23*
Local Label (D): 3020 Next Hop : 100.64.23.2
R3's MLDP database shows 3 P2MP entries, 1 for each signaled group, 227.1.2.3, 232.15.15.15 and 232.16.16.16. The MP2MP entry is to connect all the PE routers together.
R3#show mpls forwarding-table labels 3020 - 3023
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
RP/0/0/CPU0:XR1#sh mpls mldp database | in "MP2MP|P2MP|Label"
Fri Dec 21 21:52:06.343 UTC
LSM-ID: 0x00003 Type: P2MP Uptime: 21:06:41
Local Label : 91013 (internal)
LSM-ID: 0x00004 Type: P2MP Uptime: 21:06:41
Local Label : 91014 (internal)
LSM-ID: 0x00005 Type: P2MP Uptime: 21:01:02
Local Label : 91015 (internal)
LSM-ID: 0x00001 (RNR LSM-ID: 0x00002) Type: MP2MP Uptime: 1d05h
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 21:52:34.942 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
R7#sh mpls mldp database | in MP2MP|P2MP|Label|FEC Root
LSM ID : 3 Type: P2MP Uptime : 21:20:41
FEC Root : 192.0.2.21
Out Label (U) : None Interface : GigabitEthernet1.127*
Local Label (D): 7021 Next Hop : 100.64.127.12
LSM ID : 4 Type: P2MP Uptime : 21:20:41
FEC Root : 192.0.2.21
Out Label (U) : None Interface : GigabitEthernet1.127*
Local Label (D): 7022 Next Hop : 100.64.127.12
LSM ID : 5 Type: P2MP Uptime : 21:15:02
FEC Root : 192.0.2.21
Out Label (U) : None Interface : GigabitEthernet1.127*
Local Label (D): 7023 Next Hop : 100.64.127.12
LSM ID : 1 (RNR LSM ID: 2) Type: MP2MP Uptime : 1d05h
FEC Root : 192.0.2.22
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
You'll notice in the MPLS MLDP databases, the FEC Roots point to both R1 and XR1 on R3 and only XR1 on R7. This is because R18 didn't signal traffic from R15 as it's source.
We'll test ASM traffic first from R15 and R15 to 227.1.2.3.
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 192.0.2.18, 41 ms
Reply to request 0 from 192.0.2.17, 46 ms
Reply to request 0 from 100.64.211.17, 45 ms
Reply to request 0 from 100.64.214.18, 43 ms
Reply to request 1 from 100.64.214.18, 7 ms
Reply to request 1 from 192.0.2.18, 11 ms
Reply to request 1 from 192.0.2.17, 7 ms
Reply to request 1 from 192.0.2.17, 7 ms
Reply to request 1 from 100.64.211.17, 7 ms
Reply to request 1 from 192.0.2.18, 7 ms
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, 8 ms
Reply to request 0 from 192.0.2.17, 17 ms
Reply to request 0 from 192.0.2.18, 15 ms
Reply to request 0 from 192.0.2.17, 10 ms
Reply to request 0 from 100.64.211.17, 10 ms
Reply to request 0 from 192.0.2.18, 8 ms
Reply to request 1 from 192.0.2.18, 9 ms
Reply to request 1 from 192.0.2.17, 16 ms
Reply to request 1 from 100.64.211.17, 15 ms
Reply to request 1 from 192.0.2.18, 13 ms
Reply to request 1 from 100.64.214.18, 12 ms
Reply to request 1 from 192.0.2.17, 11 ms
R7#show mpls forwarding-table labels 7019 - 7023
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
7019 No Label 100.64.214.0/24[V] \
0 aggregate/MVPN
7020 [T] No Label [mdt 100:100 0][V] \
7198 aggregate/MVPN
7021 [T] No Label [mdt 100:100 1][V] \
1464 aggregate/MVPN
7022 [T] No Label [mdt 100:100 2][V] \
732 aggregate/MVPN
7023 [T] No Label [mdt 100:100 3][V] \
610 aggregate/MVPN
6009 [mdt 100:100 3][V] \
610 Gi1.67 100.64.67.6
R3#show mpls forwarding-table labels 3020 - 3023
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
3020 [T] No Label [mdt 100:100 0][V] \
8052 aggregate/MVPN
3021 [T] No Label [mdt 100:100 1][V] \
1464 aggregate/MVPN
3022 [T] No Label [mdt 100:100 2][V] \
732 aggregate/MVPN
3023 [T] No Label [mdt 100:100 3][V] \
610 aggregate/MVPN
The above outputs show incremented bytes label switched which shows that traffic has been forwarded via MPLS.
R15#ping 232.15.15.15 source lo0
Type escape sequence to abort.
Sending 1, 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, 8 ms
Reply to request 0 from 192.0.2.17, 9 ms
R3#show mpls forwarding-table labels 3020 - 3023
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
3020 [T] No Label [mdt 100:100 0][V] \
8052 aggregate/MVPN
3021 [T] No Label [mdt 100:100 1][V] \
2196 aggregate/MVPN
3022 [T] No Label [mdt 100:100 2][V] \
732 aggregate/MVPN
3023 [T] No Label [mdt 100:100 3][V] \
610 aggregate/MVPN
After sending traffic to the SSM groups, we can see the associated labels, 3021 in this case has incremented label switched counters.
R16#ping 232.16.16.16 source lo0
Type escape sequence to abort.
Sending 1, 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, 8 ms
Reply to request 0 from 192.0.2.18, 8 ms
R7#show mpls forwarding-table labels 7019 - 7023
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
7019 No Label 100.64.214.0/24[V] \
0 aggregate/MVPN
7020 [T] No Label [mdt 100:100 0][V] \
7198 aggregate/MVPN
7021 [T] No Label [mdt 100:100 1][V] \
1952 aggregate/MVPN
7022 [T] No Label [mdt 100:100 2][V] \
732 aggregate/MVPN
7023 [T] No Label [mdt 100:100 3][V] \
610 aggregate/MVPN
6009 [mdt 100:100 3][V] \
610 Gi1.67 100.64.67.6
After sending traffic to the SSM groups, we can see the associated labels, 7021 in this case has incremented label switched counters.
Thanks for stopping by!
Rob Riker, CCIE #50693
No comments:
Post a Comment