2013年7月3日星期三

Importing a BGP route from a VRF which isnt the best path


Question:

Ok so we are in the middle Catalyst 3560V2 Price of designing our new service provider network to offer IPVPN's and leased line internet, now i have a problem which im hoping you might be able to help out with. In summary importing multiple default routes into a premium leased line internet VRF and Buget DSL internet with the DSL internet using the "budget" internet transit carrier.

So we are recieving 2 default routes from our IP Transit:

PE1:
show ip bgp vpnv4 vrf IP_Transit
BGP table version is 7, local router ID is 169.254.0.0
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: 4445:2001 (default for vrf IP_Transit)
* i 0.0.0.0          169.254.0.1              0    100      0 1 i
*>                   Primary Inet Peer                          0 2  i

PE2
show ip bgp vpnv4 vrf IP_Transit
BGP table version is 8, local router ID is 169.254.0.1
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: 4445:2001 (default for vrf IP_Transit)
* i 0.0.0.0          169.254.0.0              0    100      0 2 i
*>                   1.1.1.1                                0 1 i

When importing a default between IP_Transit vrf and DIA (direct internet access)  import map removed for the moment. Also one way importing for the moment.

PE1
ip vrf DIA
rd 4445:2000
route-target export 4445:2000
route-target import 4445:2000
route-target import 4445:2001

ip vrf IP_Transit
rd 4445:2001
route-target export 4445:2001
route-target import 4445:2001

PE2
ip vrf DIA
rd 4445:2000
route-target export 4445:2000
route-target import 4445:2000
route-target import 4445:2001

ip vrf IP_Transit
rd 4445:2001
route-target export 4445:2001
route-target import 4445:2001

I only get the best path being imported:

PE1
show ip bgp vpnv4 vrf DIA
     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 4445:2000 (default for vrf DIA)
*>  0.0.0.0          Primary Inet Peer                          0 2 i

PE2
show ip bgp vpnv4 vrf DIA
    Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 4445:2000 (default for vrf DIA)
*>  0.0.0.0          1.1.1.1                                0 1 i

^--- Is there a reason why i wouldnt see both routes since PE1&2  are importing there best paths within this vrf?----^

So what I actually want for this VRF (DIA) is for PE2 to use PE1 for 0.0.0.0/0 rather than its EBGP neighbor, but we dont have that in the BGP table for me to apply a route-map to.

I would just apply a route-map statement to the IP_Transit VRF to set local preference to 0.0.0.0/0 on PE1 however will face the same issue when I create a Budget DSL Internet VRF which would use the economy provider with backup to PE1

For reference a Customers bgp table (Global) connecting the PE1 (10.173.100.0) & 2 (10.173.100.2) 

show ip bgp
BGP table version is 34, local router ID is 192.168.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, x best-external, f RT-Filter
Origin codes: i - IGP, e - EGP, ? - incomplete

  Network          Next Hop            Metric LocPrf Weight Path
0.0.0.0          10.173.100.2           200             0 4445 1 i
*>                  10.173.100.0           100             0 4445 2 i

Answer:

the use of different route distinguisher on different PE nodes is quite common.

>> do you know if there is a logical reason why when you import a route between vrfs (IP_Transit -> DIA) on PE1 the route doesn't appear on PE2 requiring you to import the routes on PE2 as well?

This is to be expected the imported route in vrf DIA is not re-advertised in vpnv4 address-family so each device has to perform the necessary import action.
Importing is an action that has local node scope.

The reason for this is routing loop avoidance.

PE2 should import the best path from VRF IP_transit to VRF DIA, if the direct eBGP session with AS2 fails it should be able to pick up the route learned by PE1 and propagated in vpnv4 to PE2.

You should test what happens Catalyst 3560V2 in case of this type of failure to validate your design.

没有评论:

发表评论