cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2805
Views
10
Helpful
19
Replies

eBGP Load-Balancing

john.pepper
Level 1
Level 1

Hi,

We have site with a pair of 2 x 6800 VSS switches connected to a separate carrier using two routers - both running eBGP.  See attached.

This carrier is passing us all our global BGP routes (5,000+) via their backbone as they have links into our two European Data Centres.  So we see the full BGP AS paths of all our routes coming into our 6800 VSS switch.  This all works fine.

The problem is we want load-balancing across the two carrier routers.  And whilst our 6800 switch is seeing dual routes for all destinations it's only installing the route with the shortest AS path into the routing table - so not all prefixes show 2 hops out.  This is due to the differing AS path lengths being learned via our two Data Centres. And BGP only installing one route in the routing table where the AS Paths are different.

What we would like to do is influence all BGP routes being sent from the carrier routers to our 6800.  So that routes learned by our 6800 see equal BGP attributes. And therefore installs both learned routes into the routing table.

We have looked at manipulating the AS path from our Data Centres into the carrier network.  But with 5,000+ routes sent this isn't very scalable.

Has anyone come across this issue and has some suggestions.  Would we be better looking at setting the Local Pref from the carrier routers to us.  Or is there a way of resetting the BGP attributes so they're equal when we learn them via BGP?

Appreciate any help.

Thanks

John

19 Replies 19

if  a prefix is being learned from two different ebgp peers (as path must be of same length but doesn't need to be identical) then multipathing works fine using this command"  bgp best-path as-path multipath-relax " . Now as we know this command can't be used in conjunction with "bgp bestpath as-path ignore", so if you just use "bgp bestpath as-path ignore" assuming everything else is similar up to step 9 which is multipathing it still won't work, it just skips that and elects best route based on lowest router-id, unfortunately this does not permit multipathing regardless of AS path and will instead entirely prevent it.

Jon - Thanks for the update. It's not your virtual lab. I don't think this is documented anywhere but after doing some research on the internet and reading this is what others have discovered as well. I reached the same conclusion in my lab. I think logic may be if as-path is being ignored, algorithm in step 9 detects that one of the attributes is being skipped and therefore doesn't take any action and ultimately decision  is based on lowest router-id. But it shouldn't that way or cisco should document that.


I was only able to make it work with prepending of as-path so they are equal in conjunction with using command " bgp best-path as-path multipath-relax " and "maximum-paths 2 "

 Network          Next Hop            Metric LocPrf Weight Path
*> 50.50.50.0/24    12.12.12.2                             0 200 100 i
*m                  13.13.13.3                             0 300 100 i
*> 60.60.60.0/24    12.12.12.2                             0 200 100 i
*m                  13.13.13.3                             0 300 100 I

Thanks for testing that.

Looks like we came to the same conclusion ie. with the "bgp bestpath as-path ignore" command it just carries on going through all the steps and ignores maximum paths.

Jon

Just for your info when I did the lab I didn't use an IGP, just BGP so that step didn't come into it.

Jon

The problem with the "bgp bestpath as-path multipath-relax" command is, as far as I know, it expects the AS path length to be the same just the AS numbers within the path can be different and this does not match your scenario as I understand it.

My experience with using this command in production, it only installed multiple routes if AS path lengths were the same.  I.e. my experience corresponds with your understanding.

It will be interesting to see how this command and as-path ignore work in combination on a production system.

Joe

You can't use both commands at the same time which kind of makes sense I suppose.

The confusing part for me was why with the "bgp bestpath as-path ignore" and maximum paths of 2 it did not work.

I am guessing there must be some sort of check made somewhere ie. to use maximum paths you must take into account the AS path but can't find it documented anywhere yet.

Jon