01-19-2020 10:58 AM
Hello,
We have an ASR9006 in the heart of the network which supports 4 eBGP links to 4 different transits with each a fullview.
Our 4 transits are very substantially identical at the AS-Path level of the routes, and therefore, in upload, only the last forwarder settles in the FIB (about 95% of the routes).
Is it possible to force BGP to install all routes of the RIB into the FIB in order to have loadbalancing?
Even better, to install all the roads having a localpref greater than 90?
I use the option "router bgp address-family ipv4 unicast maximum-paths ebgp 2" but this only applies to eBGP having the same AS.
An idea ?
Many thanks
01-19-2020 01:04 PM
Hello
LB is possible be it in ebgp/ibgp peering
Can you elaborate on you current topology or maybe supply a diagram of your network?
01-19-2020 01:08 PM - edited 01-19-2020 01:09 PM
Hmm ok.
LAN => AS X => AS1 => AS1 => AS2 => AS3
Import: Import all routes from all AS (~800k per BGP Peer (AS1+1+2+3))
Export: Export my route to all AS (1+2+3)
Do you want more details?
01-19-2020 03:41 PM
Hello
Post a topology digaram please as it not clear n the currnet topology regards the ASR bgp peering.
Is the ASR just a single/mutiple router with 4 ebgp/ibgp peerings?
01-20-2020 12:04 AM
My config is very simple :
ASR support 4 eBGP Link only, two to same AS1 (on two different routers), one to AS2 and one to AS3.
Today, when I take the routes from AS1, I can see the two routes in my FIB because I have the BGP option maximum-paths:
RP/0/RSP0/CPU0:core1#show ip route B 1.0.0.0/24 [20/0] via AS1.x.x.141, 10:07:25 [20/0] via AS1.x.x.221, 10:07:25
Now, I also want to put the routes of AS2 and AS3 in my FIB to have even more loadbalancing:
RP/0/RSP0/CPU0:core1#show bgp ipv4 un 1.0.0.0/24 brief Network Next Hop Metric LocPrf Weight Path * 1.0.0.0/24 AS3.y.y.213 100 10 AS3 a 13335 i *> AS1.x.x.141 100 10 AS1 a 13335 i * AS1.x.x.221 100 10 AS1 a 13335 i * AS2.z.z.9 100 10 AS1 a 13335 i
I would like all the RIB routes to be pushed into the FIB, like this (it's a example):
B 1.0.0.0/24 [20/0] via AS1.x.x.141, 10:07:25 [20/0] via AS1.x.x.221, 10:07:25
[20/0] via AS2
[20/0] via AS3
01-20-2020 01:15 AM
Hello
You can use the weight path attribute on your single bgp router and append a value to each isp peer link with preference given to link with the higher weight
Lastly append you max prefix to allow these extra prefixes
01-20-2020 01:37 AM
I'm not sure I understand correctly.
I already have a weight of 10 and a local-pref of 100 on all of my route-policies.
Even pushing maximum-paths ebgp 3 , it's the best routes of AS1 that installs and not AS2 and AS3 ?
Conversely, is it possible to tell BGP to ignore the route comparison by AS-Path?
The best solution is to put 4 default route and do not incoming route by BGP?
route-policy AS1-IN set weight 10
set local-preference 100 pass end-policy ! route-policy AS2-IN set weight 10
set local-preference 100 pass end-policy ! route-policy AS3-IN set weight 10
set local-preference 100 pass end-policy ! router bgp address-family ipv4 unicast maximum-paths ebgp 3 !
01-20-2020 01:54 AM
Hello
@Channels wrote:
I'm not sure I understand correctly.
I already have a weight of 10 and a local-pref of 100 on all of my route-policies.
Apologies I may be mis understanding you if the below assumption is incorrect lease explain.
I assume by having multiple prefixes to the same destination you mean populating the bgp rib not the global routing table
Only the best route is entered into the global route table unless the paths are equal then you would have multiple entries
In this topology local preference wont work on a single router, However weight PA will
Setting the same weight value on all links wont provide you any path preference, they need to be different
@Channels wrote:
Conversely, is it possible to tell BGP to ignore the route comparison by AS-Path?
Weight PA take precedence over AS-path
01-20-2020 02:11 AM - edited 01-20-2020 02:13 AM
"Only the best route is entered into the global route table unless the paths are equal then you would have multiple entries"
Obviously, not in my case, it's weird.
I have removed localpref and set weight.
A real example :
Network Next Hop Metric LocPrf Weight Path
* 1.0.0.0/24 134.90.140.x 100 198330 13335 i
* 134.90.140.y 100 198330 13335 i
*> 192.168.98.9 100 43142 13335 i
RP/0/RSP0/CPU0:core1#show ip bgp 1.0.0.0/24
Path #1: Received by speaker 0
Not advertised to any peer
198330 13335, (aggregated by 13335 141.101.67.1)
134.90.140.x from 134.90.140.x (134.90.140.x)
Origin IGP, localpref 100, weight 100, valid, external, group-best
Received Path ID 0, Local Path ID 0, version 0
Community: 65000:100
Origin-AS validity: valid
Path #2: Received by speaker 0
Not advertised to any peer
198330 13335, (aggregated by 13335 141.101.67.1), (received-only)
134.90.140.x from 134.90.140.x (134.90.140.x)
Origin IGP, localpref 100, valid, external
Received Path ID 0, Local Path ID 0, version 0
Community: 65000:100
Origin-AS validity: valid
Path #3: Received by speaker 0
Not advertised to any peer
198330 13335, (aggregated by 13335 141.101.67.1)
134.90.140.y from 134.90.140.y (134.90.140.y)
Origin IGP, localpref 100, weight 100, valid, external
Received Path ID 0, Local Path ID 0, version 0
Community: 65000:110
Origin-AS validity: valid
Path #4: Received by speaker 0
Not advertised to any peer
198330 13335, (aggregated by 13335 141.101.67.1), (received-only)
134.90.140.y from 134.90.140.y (134.90.140.y)
Origin IGP, localpref 100, valid, external
Received Path ID 0, Local Path ID 0, version 0
Community: 65000:110
Origin-AS validity: valid
Path #5: Received by speaker 0
Not advertised to any peer
43142 13335, (aggregated by 13335 141.101.67.1)
192.168.98.9 from 192.168.98.9 (10.0.1.2)
Origin IGP, localpref 100, weight 100, valid, external, best, group-best
Received Path ID 0, Local Path ID 1, version 114655870
Community: 13335:10019 13335:19020 13335:20050 13335:20500 13335:20530
Origin-AS validity: valid
Path #6: Received by speaker 0
Not advertised to any peer
43142 13335, (aggregated by 13335 141.101.67.1), (received-only)
192.168.98.9 from 192.168.98.9 (10.0.1.2)
Origin IGP, localpref 100, valid, external
Received Path ID 0, Local Path ID 0, version 0
Community: 13335:10019 13335:19020 13335:20050 13335:20500 13335:20530
Origin-AS validity: valid
I have :
RP/0/RSP0/CPU0:core1#show ip route
B 1.0.0.0/24 [20/0] via 192.168.98.9, 00:00:09
I want :
RP/0/RSP0/CPU0:core1#show ip route
B 1.0.0.0/24 [20/0] via 192.168.98.9, 00:00:09
via 134.90.140.x
via 134.90.140.y
01-20-2020 02:17 AM - edited 01-20-2020 02:21 AM
Hello
@Channels wrote:
"Only the best route is entered into the global route table unless the paths are equal then you would have multiple entries"
Obviously, not in my case, it's weird.
I have removed localpref and set weight.
A real example :
Network Next Hop Metric LocPrf Weight Path
* 1.0.0.0/24 134.90.140.x 100 198330 13335 i
* 134.90.140.y 100 198330 13335 i
*> 192.168.98.9 100 43142 13335 i
RP/0/RSP0/CPU0:core1#show ip bgp 1.0.0.0/24 <----------------------Local bgp adj-rib In
Path #1: Received by speaker 0
Not advertised to any peer
198330 13335, (aggregated by 13335 141.101.67.1)
134.90.140.x from 134.90.140.x (134.90.140.x)
Origin IGP, localpref 100, weight 100, valid, external, group-best
Received Path ID 0, Local Path ID 0, version 0
Community: 65000:100
Origin-AS validity: valid
Path #2: Received by speaker 0
Not advertised to any peer
198330 13335, (aggregated by 13335 141.101.67.1), (received-only)
134.90.140.x from 134.90.140.x (134.90.140.x)
Origin IGP, localpref 100, valid, external
Received Path ID 0, Local Path ID 0, version 0
Community: 65000:100
Origin-AS validity: valid
Path #3: Received by speaker 0
Not advertised to any peer
198330 13335, (aggregated by 13335 141.101.67.1)
134.90.140.y from 134.90.140.y (134.90.140.y)
Origin IGP, localpref 100, weight 100, valid, external
Received Path ID 0, Local Path ID 0, version 0
Community: 65000:110
Origin-AS validity: valid
Path #4: Received by speaker 0
Not advertised to any peer
198330 13335, (aggregated by 13335 141.101.67.1), (received-only)
134.90.140.y from 134.90.140.y (134.90.140.y)
Origin IGP, localpref 100, valid, external
Received Path ID 0, Local Path ID 0, version 0
Community: 65000:110
Origin-AS validity: valid
Path #5: Received by speaker 0
Not advertised to any peer
43142 13335, (aggregated by 13335 141.101.67.1)
192.168.98.9 from 192.168.98.9 (10.0.1.2)
Origin IGP, localpref 100, weight 100, valid, external, best, group-best
Received Path ID 0, Local Path ID 1, version 114655870
Community: 13335:10019 13335:19020 13335:20050 13335:20500 13335:20530
Origin-AS validity: valid
Path #6: Received by speaker 0
Not advertised to any peer
43142 13335, (aggregated by 13335 141.101.67.1), (received-only)
192.168.98.9 from 192.168.98.9 (10.0.1.2)
Origin IGP, localpref 100, valid, external
Received Path ID 0, Local Path ID 0, version 0
Community: 13335:10019 13335:19020 13335:20050 13335:20500 13335:20530
Origin-AS validity: valid
RP/0/RSP0/CPU0:core1#show ip route <----------------Local rtr route table
B 1.0.0.0/24 [20/0] via 192.168.98.9, 00:00:09
As i said the bgp table has multiple entries - sh ip bgp
And the route table which the router actually users for routing has a single entry - sh ip route
So please confirm do you wish to have multipe route table entries?
01-20-2020 02:20 AM
Yes so it is not possible to put all Local bgp adj-rib into local rtr route table unless it comes from the same AS?
01-20-2020 02:37 AM
Hello
@Channels wrote:
Yes so it is not possible to put all Local bgp adj-rib into local rtr route table unless it comes from the same AS?
No exactly correct you could i guess manipulate various bgp PAs but the end result is that the prefixes need to be equal with the bgp selection process to have multiple entries to the same prefix destination in the route table
01-20-2020 02:41 AM
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide