cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1449
Views
0
Helpful
6
Replies

BGP routes not getting advertised

bapatsubodh
Level 1
Level 1

Hi,

We have three routers connected by serial link back to back. Router_A-->Router_B--->Router_C.

Each router has fastethernet enabled. All routers are in same AS. We have BGP relationship established between Router_A and Router_B

and Router_B and Router_C. Ethernet subnet is published by using network command in all routers. Problem is Router_C is not learning Router_A subnets. Similarly Router_A is not learning Router_C subnets.

I checked on Router_B it is learning routes from both Router_A and also from Router_B.

When I checked advertised-subnets to that neighbor on Router_B, it  is not advertising subnets learned from either Router_A or Router_C. Naturally that neighbor will not learn about those subnets.

Do we need to establish neighbor relationship between Router_A and Router_C also ? I have given no sync, no auto-summary and also next-hop-self conmmands. ( there is no external AS all routers are in same AS)

What I was expecting is that subnets may be learned and may be due to some reason those may not end up in routing table ( best route ) but even that is also not taking place !!

Please share the experience.

Thanks

Subodh

6 Replies 6

Jerry Ye
Cisco Employee
Cisco Employee

Since you are doing iBGP between Router_A, Router_B, and Router_C, you have two (2) choices to get the routes advertise between Router_A and Router_C

1) Form a iBGP peer session between Router_A and Router_C

2) Make Router_B a router-reflector (Router_A and Router_C will be route-reflector-client)

In iBGP, you need to have full mess peering relationship between all the routers, or you have to use route-reflector.

HTH,

jerry

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Subdoh,

as Jerry has noted you are  facing the well known iBGP split horizon rule: a router is not allowed to send to a third iBGP neighbor what one of its iBGP neighbors has sent to it.

This is a safety measure because the AS path attribute is left unchanged within a single AS domain and so there is a lack of information on where a BGP advertisement has been reflected.

So a full mesh of iBGP neighbors would be required.

iBGP is widely used because some changes have been introduced to allow for scalability:

BGP route reflector servers ( use additional BGP attributes Originator-id and cluster-list can reflect advertisements of clients)

and / OR

BGP confederations (introduces mini ASes that use a separate AS path BGP attribute to track history of BGP advertisement they act as a single AS to outer world where only standard AS path attribute is sent)

in a small lab you could add an iBGP session between RA and RC but making RB a route-reflector server is a better solution

RB

router bgp xx

neigh RA route-reflector-client

neigh RB route-reflector-client

Hope to help

Giuseppe

Hi All,

Can we enable next-hop-self on router_A and router_B so that reachability will happen to get the routes?

Regards

Sameer

hi

just follow this config example:

10.1.1.0/24--RA---10.2.2.0/24--RB--20.2.2.0/24--RC--20.1.1.0/24

router A:

router bgp 100

network 10.1.1.0 mask 255.255.255.0

neighbor 10.1.1.x remote-as 100    ----- router B address

Router B:

network 10.2.2.0 mask 255.255.255.0

network 20.2.2.0 mask 255.255.255.0

neighbor 10.1.1.x remote-as 100      -- router A address

neighbor 10.1.1.x route-reflector-client

neighbor 20.2.2.x remote-as 100      -- router C address

neighbor 20.2.2.x route-reflector-client

router C:

router bgp 100

network 20.1.1.0 mask 255.255.255.0

neighbor 20.2.2.x remote-as 100    ----- router B address

this wil work

you also can ue next hop self from RB to RA and RC

in this case you don't need to advertise the networks between B--C and B--A in trouter B

good luck

if helpful Rate

Hello Sameer,

you cannot solve this problem using next-hop-self it is NOT a question of BGP next-hop reachability it is a question of how iBGP works as explained in first two posts of this thread.

simply RB cannot propagate to RC what it learns from RA this is the iBGP split horizon rule.

Hope to help

Giuseppe

mledet
Level 1
Level 1

You'll need to form neighbor relationships between all of your routers. 

i.e.

A -> B

A -> C

B -> C

iBGP doesn't pass on routes learned via iBGP.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card