ā01-04-2010 08:30 AM - edited ā03-04-2019 07:06 AM
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
ā01-04-2010 08:42 AM
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
ā01-04-2010 09:25 AM
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
ā01-04-2010 10:14 PM
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
ā01-04-2010 11:01 PM
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
ā01-05-2010 02:05 AM
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
ā01-05-2010 07:22 AM
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.
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