I'm doing some tests in my lab preparing for CCIE R&S and I'm diving into how MPLS works and I ran into a issue with getting traceroute to display the label path in it's output. I have not found out why this is not working.
I can ping fine between the CE's.
this is the setup.
CE1 – PE1 – P1 – P2 – PE2 – CE2
P1/P2 only have OSPF enabled with OSPF mpls autoconfig for area 0
CE-PE protocol is BGP
here is the PE2 BGP config:
router bgp 100
bgp router-id 80.2.2.2
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 80.1.1.1 remote-as 100
neighbor 80.1.1.1 update-source Loopback0
!
address-family ipv4
redistribute ospf 1
neighbor 80.1.1.1 activate
neighbor 80.1.1.1 send-community
exit-address-family
!
address-family vpnv4
neighbor 80.1.1.1 activate
neighbor 80.1.1.1 send-community extended
exit-address-family
!
address-family ipv4 vrf CPE2
redistribute connected
redistribute ospf 1010
neighbor 192.168.99.20 remote-as 20
neighbor 192.168.99.20 activate
neighbor 192.168.99.20 next-hop-self
exit-address-family
IP VRF:
ip vrf CPE2
rd 20:20
route-target export 200:200
route-target export 700:700
route-target import 100:100
route-target import 700:700
and here are show commands
PE2#show ip bgp vpnv4 vrf CPE2
BGP table version is 31, local router ID is 80.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 20:20 (default for vrf CPE2)
*>i 192.168.1.0 80.1.1.1 0 100 0 ?
*>i 192.168.10.0 80.1.1.1 0 100 0 10 ?
*> 192.168.20.0 192.168.99.20 0 0 20 ?
*> 192.168.99.0 0.0.0.0 0 32768 ?
* 192.168.99.20 0 0 20 ?
*>i 192.168.100.1/32 80.1.1.1 0 100 0 10 ?
*> 192.168.100.2/32 192.168.99.20 0 0 20 ?
and here is the mpls forwarding table
PE2# show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
1200 Pop Label 10.1.2.2/32 0 Et0/0 10.50.1.2
1201 Pop Label 10.10.10.0/24 0 Et0/0 10.50.1.2
1202 Pop Label 10.10.8.0/24 0 Et0/0 10.50.1.2
1203 Pop Label 10.10.7.0/24 0 Et0/0 10.50.1.2
1204 Pop Label 10.10.2.0/24 0 Et0/0 10.50.1.2
1205 Pop Label 10.10.1.0/24 0 Et0/0 10.50.1.2
1206 202 80.1.1.1/32 0 Et0/0 10.50.1.2
1207 203 10.1.1.1/32 0 Et0/0 10.50.1.2
1208 204 10.40.2.0/24 0 Et0/0 10.50.1.2
1209 205 10.10.9.0/24 0 Et0/0 10.50.1.2
1210 206 10.10.6.0/24 0 Et0/0 10.50.1.2
1211 207 10.10.5.0/24 0 Et0/0 10.50.1.2
1212 208 10.40.1.0/24 0 Et0/0 10.50.1.2
1213 No Label 192.168.20.0/24[V] \
0 Et1/0 192.168.99.20
1214 No Label 192.168.99.0/24[V] \
3420 aggregate/CPE2
1215 No Label 192.168.100.2/32[V] \
696 Et1/0 192.168.99.20
PE2# show ip bgp vpnv4 vrf CPE2 192.168.100.2
BGP routing table entry for 20:20:192.168.100.2/32, version 12
Paths: (1 available, best #1, table CPE2)
Advertised to update-groups:
3
Refresh Epoch 2
20
192.168.99.20 from 192.168.99.20 (192.168.100.2)
Origin incomplete, metric 0, localpref 100, valid, external, best
Extended Community: RT:200:200 RT:700:700
mpls labels in/out 1215/nolabel
rx pathid: 0, tx pathid: 0x0
CPE2#traceroute 192.168.100.1 source lo0
Type escape sequence to abort.
Tracing the route to 192.168.100.1
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.99.2 1 msec 0 msec 0 msec
2 * * *
3 * * *
4 * * *
5 192.168.1.111 [AS 100] 1 msec * 0 msec
the Loopbacks of CE1 / CE2 are 192.168.100.1 and 192.168.100.2
So you see that I have the local lable for 192.168.100.2 – that is going from PE2->CE2 non mpls – but what I don't see are labels for the 192.168.100.1 that is going to go over the P routers. the BGP points to 8.1.1.1 and that has a label.
so is this normal – or do I have to make some changes to get the router to create labels for every route – perhaps I'm missing some point here.
- benni
Best Answer
but what I don't see are labels for the 192.168.100.1 that is going to go over the P routers. the BGP points to 8.1.1.1 and that has a label
- If you have configured PE1 as 8.1.1.1 withnext-hop-self
then that is how the routes should look.I suggesst you read more about BGP behaviour for MPBGP sessions and sending labeled updates for IPV4 unicast and VPNV4 etc.