cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
5725
Views
10
Helpful
18
Replies

BGP routing table not showing all paths

Tauer Drumond
Level 1
Level 1

I have a router connected and peering EBGP with 2 differents ISPs....

I receive exactly the same prefixes from both of them, but, BGP routing table only shows one path through ISP 1

 

When I shutdown ISP 1, BGP routing table shows the path through neighbor 2...

 

Why am I not seeing two paths when both ISPs are UP?

2 Accepted Solutions

Accepted Solutions

 

So that is why you only see one route per prefix in the BGP routing table. 

 

You receive the routes from ISP1 and you advertise them to ISP2 which stops ISP2 advertising those routes back to you. 

 

When ISP1 goes down it stops advertising to you so you stop advertising the routes to ISP2 which means ISP2 will now advertise those prefixes to your router.

 

Jon

View solution in original post

Hi @Jon Marshall !

Sorry to hook here, but if I may ask:

I thought the ISP2 PE Router will learn the Routes announced by the CE Router,
then the ISP2 PE Router will (in this scenario) decide that the best route is through the CE Router.
Then ISP2 PE Route will announce that again back to CE Router, but CE Router will never ever learn the Routes due to the AS_PATH Loop Prevention.

So far I was not aware that we have a Split Horizon behavior in eBGP which will prevent announcing the route I learnt from a given neighbor back to the same neighbor.
Do you have any official documentation about this perhaps?

Thanks a lot and best regards!
Julian

View solution in original post

18 Replies 18

julian.bendix
Level 3
Level 3

Hi!

By default only the "best" route will be installed in the global routing table, even if you would have multiple equal-cost paths to a given destination.

If you have two eBGP neighbors within the same remote AS can load-share between more than one route by adding the following command to your BGP Config:
#maximum-paths <num>

If your eBGP neighbors are in different remote AS', then it is getting a little more tricky.

Read through the following document to get a good idea about that:

https://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13762-40.html

Hope that helps,

Julian

 

p.s. please always mark helpful posts or solution if applicable

Thanks for your answer, but its not the case. I'm talking about BGP Routing table, not the Global routing table. I only see one path to a given destination on BGP Routing Table... I assume it should be two paths.

We do not have sufficient detailed information to be able to provide answers for your issue. Would you provide us with these:

- a detailed description of the topology (hopefully including a drawing of the topology)

- the BGP configuration of your router (even better would be the complete configuration with sensitive information obscured).

- the output of the show command for the BGP routing table with ISP1 up, and then the output with ISP1 down.

 

HTH

 

Rick

HTH

Rick

Hi,

 

Can you share output of "show ip bgp x.x.x.x/x".  This is will show you how many valid routes you have for particular prefix. 

Out of which one would be choose best and inserted into routing table. 

 

Regards,

Sagar Bairagi

CCIE#57252

I'm attaching the outputs you ask

 

My router is in AS65020

 

I'm considering ISP 1 = 172.19.254.177 (AS65120)

I'm considering ISP 2 = 172.19.254.165 (AS65002)

 

A prefix example I'm receiving 10.11.3.0/24

Thank you for the information I requested. It does provide the information we need to answer your question. Let us start by reviewing a basic behavior of BGP. When BGP learns the same prefix from 2 neighbors, and when the prefix advertisement is not equally attractive from both neighbors then BGP will choose the best path and use only that path.

 

With that in mind we can then say that when you use the command show ip bgp then bgp will show the paths that it is using and not all of the paths learned. If you want to see all of the paths you could use the command show ip bgp all.

 

When we look at the advertisement from ISP1 we see that it has 4 AS numbers in its path. When we look at the advertisement from ISP2 we see that it has 8 AS numbers in its path. So the advertisements are not equally attractive. When ISP1 is up your BGP will use its advertisement. And when ISP1 is not up then your BGP will use the advertisement from ISP2.

 

HTH

 

Rick

HTH

Rick

Thank you for you answer!
But, when I isuse the command "show ip bgp all" it still shows only paths through ISP 1. The paths through ISP 2 only appear when ISP 1 is down
I'm suspecting that bgp is blocking the prefixes from ISP 2 because they contain our own AS number, so they do not enter into the bgp routing table. 

But, I dont know how to make sure of that

 

If the router was dropping the prefixes because your AS was in the path then it would drop them even when the other ISP was down. 

 

Are you sure you are not advertising the routes back to ISP2 ? 

 

So when everything is up what does this command show - 

 

"sh ip bgp neighbors 172.19.254.165 advertised-routes" 

 

Jon

Yes, I'm advertising the prefixes back to ISP 2 172.19.254.165

 

Look at prefix 10.11.3.0/24 (the output is on the attachment)

I`m receiving this prefix from 172.16.254.177 and advertising it to 172.19.254.165

 

 

 

So that is why you only see one route per prefix in the BGP routing table. 

 

You receive the routes from ISP1 and you advertise them to ISP2 which stops ISP2 advertising those routes back to you. 

 

When ISP1 goes down it stops advertising to you so you stop advertising the routes to ISP2 which means ISP2 will now advertise those prefixes to your router.

 

Jon

Yes, you`re right!

 

So, is there a way to stop the split horizon mechanism, so I can receive this prefix from ISP 2 too.....

because ISP 2 receives this prefix from AS65000 and the convergence is faster when ISP 1 goes down

 

And yes, I would disable split horizon mechanism in a controlled way

 

You can filter which prefixes you advertise to ISP2 so just advertise the subnets local to your site and filter out the routes you are receiving from ISP1, that way you should receive the routes from both ISPs. 

 

Jon

Actually,

theres another AS connected to AS65002 (ISP 2) that should receive the prefixes from me (AS65020) and receive the same prefix from another AS, lets say AS65135)

So, I`d be the redundant path to this topology (I should advertise and receive the prefixes), so other neighbors know me as a alternative path to that prefix

 

It's difficult to comment without knowing your full topology but you generally cannot advertise and receive the same prefixes on the same interface. 

 

Jon

Review Cisco Networking for a $25 gift card