cancel
Showing results forĀ 
Search instead forĀ 
Did you mean:Ā 
cancel
1128
Views
5
Helpful
3
Replies

MP-BGP and MPLS multipath load sharing

Hi,

I am trying to PoC MPLS multi path load sharing by using per-PE-per-VRF RDs in the network.

I have a simple lab setup with AS65000 which consists of SITE1 PE1&PE2 routers (10.250.0.101 and 10.250.0.102), route reflector RR in the middle (10.250.0.55) and SITE2 PE1&PE2 routers (10.250.0.201 and 10.250.0.202). PE routers only do iBGP peering with centralized route reflector and passing route to 10.1.1.0/24 prefix (learned from single CE router) with 100:1 and 100:2 RDs for specific VRF.

Route reflector gets routes with multiple RDs, makes copies of these routes in order to make local comparison to RD 55:55 configured, uses these routes and install multiple paths into its routing table (all PE routers and RR have "maximum-paths eibgp 4" configured):

RR#sh ip bgp vpnv4 all

BGP table version is 7, local router ID is 10.250.0.55

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: 55:55 (default for vrf VRF-A) VRF Router ID 10.250.0.55

* i10.1.1.0/24      10.250.0.102             0    100      0 65001 i

*>i                 10.250.0.101             0    100      0 65001 i

Route Distinguisher: 100:1

*>i10.1.1.0/24      10.250.0.101             0    100      0 65001 i

Route Distinguisher: 100:2

*>i10.1.1.0/24      10.250.0.102             0    100      0 65001 i

RR#sh ip route vrf VRF-A

<output omitted>

     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

B       10.1.1.0/24 [200/0] via 10.250.0.102, 00:45:52

                          [200/0] via 10.250.0.101, 00:46:22

BUT, for some reason RR doest reflects routes with multiple RDs down to SITE2 PE1&PE2 - its own clients:

RR#sh ip bgp vpnv4 all neighbors 10.250.0.201 advertised-routes

Total number of prefixes 0

RR#sh ip bgp vpnv4 all neighbors 10.250.0.202 advertised-routes

Total number of prefixes 0

Here comes RR BGP configuration:

router bgp 65000

no synchronization

bgp router-id 10.250.0.55

bgp cluster-id 1.1.1.1

bgp log-neighbor-changes

neighbor 10.250.0.101 remote-as 65000

neighbor 10.250.0.101 update-source Loopback0

neighbor 10.250.0.101 route-reflector-client

neighbor 10.250.0.101 soft-reconfiguration inbound

neighbor 10.250.0.102 remote-as 65000

neighbor 10.250.0.102 update-source Loopback0

neighbor 10.250.0.102 route-reflector-client

neighbor 10.250.0.102 soft-reconfiguration inbound

neighbor 10.250.0.201 remote-as 65000

neighbor 10.250.0.201 update-source Loopback0

neighbor 10.250.0.201 route-reflector-client

neighbor 10.250.0.201 soft-reconfiguration inbound

neighbor 10.250.0.202 remote-as 65000

neighbor 10.250.0.202 update-source Loopback0

neighbor 10.250.0.202 route-reflector-client

neighbor 10.250.0.202 soft-reconfiguration inbound

no auto-summary

!

address-family vpnv4

  neighbor 10.250.0.101 activate

  neighbor 10.250.0.101 send-community both

  neighbor 10.250.0.102 activate

  neighbor 10.250.0.102 send-community both

  neighbor 10.250.0.201 activate

  neighbor 10.250.0.201 send-community both

  neighbor 10.250.0.202 activate

  neighbor 10.250.0.202 send-community both

exit-address-family

!

address-family ipv4 vrf VRF-A

  maximum-paths eibgp 4

  no synchronization

  bgp router-id 10.250.0.55

  network 10.255.1.1 mask 255.255.255.255

exit-address-family

!

SITE1 PE1 configuration:

router bgp 65000

no synchronization

bgp router-id 10.250.0.101

bgp log-neighbor-changes

neighbor 10.250.0.55 remote-as 65000

neighbor 10.250.0.55 update-source Loopback0

neighbor 10.250.0.55 soft-reconfiguration inbound

no auto-summary

!

address-family vpnv4

  neighbor 10.250.0.55 activate

  neighbor 10.250.0.55 send-community both

exit-address-family

!

address-family ipv4 vrf VRF-A

  neighbor 10.1.101.2 remote-as 65001

  neighbor 10.1.101.2 activate

  neighbor 10.1.101.2 soft-reconfiguration inbound

  maximum-paths eibgp 4

  no synchronization

  bgp router-id 10.250.0.101

exit-address-family

!

SITE1 PE2 configuration is similar to SITE1 PE1. They both do eBGP peering with dualhomed CE router in AS65001 which announces 10.1.1.0/24 prefix into VRF-A table.

My question is: clearly, the issue is that RR doesn't reflect any routes to its clients (SITE2 PE1&PE2) for 10.1.1.0/24 prefix with 100:1 and 100:2 RDs that dont match it's locally configured RD 55:55 for VRF-A, although they are present in its BGP/RIB tables and used for multipathing. Is this an expected behavior or some feature limitation for specific platform or IOS version? Currently, in this test lab setup I run IOS 12.4(24)T8 on all the devices.

Please, let me know if any further details are needed to get an idea of why this well known and widely used feature is not working correctly in my case. Thanks a lot!

Regards,

Sergey

3 Replies 3

Ashish Panda
Cisco Employee
Cisco Employee

Hi Sergey,

I see that it not a standard RR configuration. its more like  a PE.

Do you have any special requirement to have VRFs configured on a RR? Normally it is not configured. Can you remove this and check.

regards

Ashish

Hi Ashish,

I tried to remove VRF and address family configurations completely from RR.

router bgp 65000

no synchronization

bgp router-id 10.250.0.55

bgp cluster-id 1.1.1.1

bgp log-neighbor-changes

neighbor 10.250.0.101 remote-as 65000

neighbor 10.250.0.101 update-source Loopback0

neighbor 10.250.0.101 route-reflector-client

neighbor 10.250.0.101 soft-reconfiguration inbound

neighbor 10.250.0.102 remote-as 65000

neighbor 10.250.0.102 update-source Loopback0

neighbor 10.250.0.102 route-reflector-client

neighbor 10.250.0.102 soft-reconfiguration inbound

neighbor 10.250.0.201 remote-as 65000

neighbor 10.250.0.201 update-source Loopback0

neighbor 10.250.0.201 route-reflector-client

neighbor 10.250.0.201 soft-reconfiguration inbound

neighbor 10.250.0.202 remote-as 65000

neighbor 10.250.0.202 update-source Loopback0

neighbor 10.250.0.202 route-reflector-client

neighbor 10.250.0.202 soft-reconfiguration inbound

no auto-summary

!

address-family vpnv4

  neighbor 10.250.0.101 activate

  neighbor 10.250.0.101 send-community both

  neighbor 10.250.0.102 activate

  neighbor 10.250.0.102 send-community both

  neighbor 10.250.0.201 activate

  neighbor 10.250.0.201 send-community both

  neighbor 10.250.0.202 activate

  neighbor 10.250.0.202 send-community both

exit-address-family

!

After this, RR doesn't accept any routes at all from S1PE1&S1PE2 routers, thus not reflecting any routes down to its clients S2PE1&S2PE2 as well:

S1PE1#sh ip bgp vpnv4 all

BGP table version is 6, local router ID is 10.250.0.101

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: 100:1 (default for vrf VRF-A) VRF Router ID 10.250.0.101

*> 10.1.1.0/24      10.1.101.2               0             0 65001 i

S1PE1#sh ip bgp vpnv4 all neighbors 10.250.0.55 advertised-routes

BGP table version is 6, local router ID is 10.250.0.101

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: 100:1 (default for vrf VRF-A) VRF Router ID 10.250.0.101

*> 10.1.1.0/24      10.1.101.2               0             0 65001 i

Total number of prefixes 1

S1PE2#sh ip bgp vpnv4 all

BGP table version is 6, local router ID is 10.250.0.102

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: 100:2 (default for vrf VRF-A) VRF Router ID 10.250.0.102

*> 10.1.1.0/24      10.1.201.2               0             0 65001 i

S1PE2#sh ip bgp vpnv4 all neighbors 10.250.0.55 advertised-routes

BGP table version is 6, local router ID is 10.250.0.102

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: 100:2 (default for vrf VRF-A) VRF Router ID 10.250.0.102

*> 10.1.1.0/24      10.1.201.2               0             0 65001 i

Total number of prefixes 1

RR#sh ip bgp vpnv4 all

RR#sh ip bgp vpnv4 all neighbors 10.250.0.101 routes

Total number of prefixes 0

RR#sh ip bgp vpnv4 all neighbors 10.250.0.102 routes

Total number of prefixes 0

Any feedback is appreciated. Thanks.

Regards,

Sergey

I got this working using the following RR configuration:

router bgp 65000

no synchronization

bgp router-id 10.250.0.55

bgp cluster-id 1.1.1.1

bgp log-neighbor-changes

neighbor 10.250.0.101 remote-as 65000

neighbor 10.250.0.101 update-source Loopback0

neighbor 10.250.0.101 soft-reconfiguration inbound

neighbor 10.250.0.102 remote-as 65000

neighbor 10.250.0.102 update-source Loopback0

neighbor 10.250.0.102 soft-reconfiguration inbound

neighbor 10.250.0.201 remote-as 65000

neighbor 10.250.0.201 update-source Loopback0

neighbor 10.250.0.201 soft-reconfiguration inbound

neighbor 10.250.0.202 remote-as 65000

neighbor 10.250.0.202 update-source Loopback0

neighbor 10.250.0.202 soft-reconfiguration inbound

no auto-summary

!

address-family vpnv4

  neighbor 10.250.0.101 activate

  neighbor 10.250.0.101 send-community both

  neighbor 10.250.0.101 route-reflector-client

  neighbor 10.250.0.102 activate

  neighbor 10.250.0.102 send-community both

  neighbor 10.250.0.102 route-reflector-client

  neighbor 10.250.0.201 activate

  neighbor 10.250.0.201 send-community both

  neighbor 10.250.0.201 route-reflector-client

  neighbor 10.250.0.202 activate

  neighbor 10.250.0.202 send-community both

  neighbor 10.250.0.202 route-reflector-client

exit-address-family

!

It turned out to be my mistake: "neighbor X.X.X.X route-reflector-client" configuration should go under VPNV4 address family, not under general BGP configuration section.

Thanks.