Hi all,
I've found myself spending an inordinate amount of time trying to get the basic Inter-AS and CSC working in Lab 4 and it's making me want to pack this whole thing in! I'm having real issues, apparently centred around XR2, where I cannot get reachability through to the R7 and R8 loopbacks inside vrf FOO. There are prefixes and labels being advertised out but the traffic just doesn't get there. If anyone can shed some light on this I'd really appreciate it
RP/0/3/CPU0:XR2#sh ip ro vrf FOO 172.16.0.7
Sat Oct 25 12:30:46.058 UTC
Routing entry for 172.16.0.7/32
Known via "bgp 1000", distance 20, metric 0
Tag 3000, type external
Installed Oct 25 12:23:46.953 for 00:06:59
Routing Descriptor Blocks
172.16.207.7, from 172.16.207.7
Route metric is 0
No advertising protos.
RP/0/3/CPU0:XR2#sh bgp vrf FOO
Sat Oct 25 12:35:15.380 UTC
BGP VRF FOO, state: Active
BGP Route Distinguisher: 10.0.0.20:1
VRF ID: 0x60000003
BGP router identifier 10.0.0.20, local AS number 1000
BGP table state: Active
Table ID: 0xe0000003
BGP main routing table version 170
Status codes: s suppressed, d damped, h history, * valid, > best
i - internal, r RIB-failure, S stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.0.0.20:1 (default for vrf FOO)
*> 172.16.0.1/32 10.0.0.1 0 2000 i
*>i172.16.0.2/32 10.0.0.2 0 100 0 i
*> 172.16.0.3/32 10.0.0.3 0 2000 i
*> 172.16.0.4/32 10.0.0.4 0 0 2000 i
*>i172.16.0.5/32 10.0.0.5 0 100 0 i
*> 172.16.0.6/32 10.0.0.1 0 2000 ?
*> 172.16.0.7/32 172.16.207.7 0 0 3000 i
*> 172.16.0.8/32 172.16.208.8 0 0 3000 i
*>i172.16.0.19/32 10.0.0.19 0 100 0 i
*> 172.16.0.20/32 0.0.0.0 0 32768 i
*> 172.16.46.0/24 10.0.0.1 0 2000 ?
*> 172.16.78.0/24 172.16.207.7 0 0 3000 i
* 172.16.208.8 0 0 3000 i
*> 172.16.207.0/24 172.16.207.7 0 0 3000 i
*> 172.16.208.0/24 172.16.208.8 0 0 3000 i
RP/0/3/CPU0:XR2#sh bgp vrf FOO 172.16.0.7
Sat Oct 25 12:35:57.173 UTC
BGP routing table entry for 172.16.0.7/32, Route Distinguisher: 10.0.0.20:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 169 169
Local Label: 16010
Last Modified: Oct 25 12:08:13.531 for 00:27:43
Paths: (1 available, best #1)
Advertised to PE update-groups (with more than one peer):
0.3
Advertised to PE peers (in unique update groups):
10.0.0.4
Advertised to CE update-groups (with more than one peer):
0.1
Path #1: Received by speaker 0
3000
172.16.207.7 from 172.16.207.7 (172.16.0.7)
Received Label 3
Origin IGP, metric 0, localpref 100, valid, external, best, import-candidate
Extended community: RT:1000:1
As you can see XR2 is learning the prefixes and is being given label 3 to use. However when it comes to using that label it's a different matter.
RP/0/3/CPU0:XR2#sh mpls forwarding vrf FOO
Sat Oct 25 12:29:18.248 UTC
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
16006 Aggregate FOO: Per-VRF Aggr[V] \
FOO 4680
16009 Aggregate 172.16.207.0/24[V] FOO 0
16012 Aggregate 172.16.208.0/24[V] FOO 0
16013 Pop 172.16.78.0/24[V] 172.16.207.7 0
16014 19 172.16.0.1/32[V] 10.0.0.1 0
16015 19 172.16.0.2/32[V] 10.0.0.2 0
16016 21 172.16.0.3/32[V] 10.0.0.3 0
16017 21 172.16.0.4/32[V] 10.0.0.4 0
16018 22 172.16.0.5/32[V] 10.0.0.5 0
16019 28 172.16.0.6/32[V] 10.0.0.1 0
16020 16007 172.16.0.19/32[V] 10.0.0.19 0
16021 29 172.16.46.0/24[V] 10.0.0.1 0
If I add a static route inside vrf FOO for the R7/R8 loopbacks then I get a forwarding entry however obviously this isn't a solution in the lab and anyway the CSC still doesn't work.
Doing a debug I can see R5, directly connected, is trying to send traffic to XR2 with a label of 16010 however this doesn't appear in the mpls forwarding table above. XR2 is actively advertising this label out! Output below is from another PE router
R1(config-subif)#do sh mpls fo vrf FOO 172.16.0.7
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
30 16010 172.16.0.7/32[V] 9522 Fa0/0.13 10.0.13.3
This is confirmed on XR2
RP/0/3/CPU0:XR2#sh bgp vrf FOO labels | include 172.16.0.7
Sat Oct 25 13:01:11.580 UTC
*> 172.16.0.7/32 172.16.207.7 3 16010
I'm completely stuck now. The outputs do look similar for XR2s loopback inside vrf FOO however that works as expected.
Here is the BGP config from XR2:
router bgp 1000
address-family ipv4 unicast
network 10.0.0.20/32
!
address-family vpnv4 unicast
!
address-family ipv6 unicast
network 2001:10::20/128
!
neighbor 10.0.0.2
remote-as 1000
update-source Loopback0
address-family ipv4 unicast
!
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 10.0.0.4
remote-as 2000
ebgp-multihop 255
update-source Loopback0
address-family vpnv4 unicast
route-policy PASS in
route-policy PASS out
next-hop-unchanged
!
!
neighbor 10.0.0.5
remote-as 1000
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 10.0.0.19
remote-as 1000
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 2001:10::19
remote-as 1000
update-source Loopback0
address-family ipv6 unicast
!
!
vrf FOO
rd 10.0.0.20:1
address-family ipv4 unicast
network 172.16.0.20/32
allocate-label all
!
neighbor 172.16.207.7
remote-as 3000
address-family ipv4 labeled-unicast
route-policy PASS in
route-policy PASS out
!
!
neighbor 172.16.208.8
remote-as 3000
address-family ipv4 labeled-unicast
route-policy PASS in
route-policy PASS out
!
!
!
!
And the static routes for good measure
router static
vrf FOO
address-family ipv4 unicast
172.16.0.7/32 GigabitEthernet0/4/0/0.207
172.16.0.8/32 GigabitEthernet0/4/0/0.208
! 172.16.207.7/32 GigabitEthernet0/4/0/0.207
! 172.16.208.8/32 GigabitEthernet0/4/0/0.208
!
!
!
R7 BGP config
R7(config-router-af)#do sh run | s bgp
mpls bgp forwarding
router bgp 3000
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 172.16.0.6 remote-as 3000
neighbor 172.16.0.6 update-source Loopback0
neighbor 172.16.0.8 remote-as 3000
neighbor 172.16.0.8 update-source Loopback0
neighbor 172.16.207.20 remote-as 1000
!
address-family ipv4
network 172.16.0.7 mask 255.255.255.255
network 172.16.78.0 mask 255.255.255.0
neighbor 172.16.0.8 activate
neighbor 172.16.0.8 send-label
neighbor 172.16.207.20 activate
neighbor 172.16.207.20 send-label
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 172.16.0.6 activate
neighbor 172.16.0.6 send-community extended
neighbor 172.16.0.8 activate
neighbor 172.16.0.8 send-community extended
exit-address-family
!
address-family ipv4 vrf BAR
network 192.168.0.7 mask 255.255.255.255
exit-address-family