cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2955
Views
5
Helpful
20
Replies

2 eBGP upstreams on one router, iBGP to second but no routes

dhdsp_2
Level 1
Level 1

Hi everyone,

i have one router connected to 2 eBGP upstream providers - doing its job for years. After setting up iBGP to a second router (which is not connected to any eBGP yet) I was expecting to see 2 complete routing tables (sh ip bgp all)  on router 2. I do not, the table only shows my own networks. So the routing entries learnt by eBGP on router1 are not transfered to router2 via iBGP.

What could be wrong here ?

Router1 (7206VXR, ip:x.x.x6)

---------------------------

router bgp 123456

no synchronization

bgp log-neighbor-changes

neighbor x.x.x.8 remote-as 123456

neighbor x.x.x.8 next-hop-self

...

Router2 (ASR1004, ip: x.x.x.8)

-----------------------------

router bgp 123456

bgp log-neighbor-changes

neighbor x.x.x.6 remote-as 123456

!

address-family ipv4

  neighbor x.x.x.6 activate

  neighbor x.x.x.6 next-hop-self

exit-address-family

...

TIA

Peter

2 Accepted Solutions

Accepted Solutions

Hello Peter,

this makes the difference!

>> distribute-list prefix My-Networks out

you should apply the filter at neighbor level to UPSTR1 and UPSTR2 neighbor(s)  the filter applied at the BGP process level applies also to the iBGP session to router2 and this explains why no other routes are sent to router2

So you should apply the filter on neighbor command and then you have to remove the above command (at process level)

After all this you should see only the best routes propagated to router2  = you will not see double paths just one path for each prefix depending on router1 choicies

Hope to help

Giuseppe

View solution in original post

Hello Peter,

yes if the outbound route-map is like the one you have showed you should be fine, verify that all the eBGP sessions have the outbound filter applied

if it is so, you can just delete at process level

Hope to help

Giuseppe

View solution in original post

20 Replies 20

you have a remote-as on Router1 that doesn't match Router2. What does "show ip bgp summ" display?

Ooops... that was a manual search/replace mistake. Soryy for the inconvenience

on router2:

----------------

#sh ip bgp summ

BGP router identifier y.y.y.y , local AS number 123456

BGP table version is 162, main routing table version 162

5 network entries using 680 bytes of memory

5 path entries using 280 bytes of memory

1/1 BGP path/bestpath attribute entries using 128 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 1088 total bytes of memory

BGP activity 25331/25323 prefixes, 55671/55666 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

x.x.x.6     4        123456     673     286      162    0    0 04:14:13        5

Note: I see router identifier - here replaced by y.y.y.y which is in fact the ip address of an ethernet interface not related to the iBGP Connection - router 2 has 8 ethernet interfaces...

Hi Peter,

On router1, what is the output of below command?

sh ip bgp neighbour x.x.x.8 advertised-routes

Warm regards,

Ameya Oke

Hi Ameya,

the output of "sh ip bgp neighbors x.x.x.8 advertised-routes" shows exactly 5 networks, exactly those networks that are declared  in my "router bgp 123456" part as "network a.b.c.d".

At least that part is workink Only I was expecting to see the eBGP learnt routes - 2 complete internet eBGP tables.

In the mean time I found out that the "router identifier" shown in "sh ip bgp summ", is in deed the IP Address of an Interface running OSPF to another network. Router2 and router2 are NOT talking OSPF.

Hi Peter,

This concludes that there is some issue on router1 itself as it is not able to advertise any EBGP prefixes to Router2.

Do you see all the prefixes in BGP table of Router1 populating in routing table of Router1?

Have your configured any Route MAPs on router 1 which could be blocking the prefixes from being advertised?

Ameya Oke

"sh ip bgp" on router1 shows thousands of routes (>400.000 prefixes, double paths from 2 upstream).

The eBGP sessions DO have route maps, the iBGP session does NOT have a route map.

Hi,

Have you configured "no synchronization" on router2?

Ameya Oke

"no synchronisation" is NOT configured on router2.

Router2 only has these statements:

router bgp 123456

bgp log-neighbor-changes

neighbor x.x.x.6 remote-as 123456

address-family ipv4

  neighbor x.x.x.6 activate

  neighbor x.x.x.6 next-hop-self

exit-address-family

!

address-family ipv6

  network YYYY:YYYY::/32

exit-address-family

Hello Peter,

until you have added router2, router1 was speaking eBGP with the upstream providers and no iBGP.

I would like to check the following show commands

on router1

show ip bgp summary

show ip bgp A.B.C.D

where A.B.C.D is a prefix learned from an upstream provider

Two possible reasons for what you see are:

a) eBGP neighbors are configured under a VRF so they are not in the same IP routing table, but in this case the two upstream neighbors are only shown in the output of

show ip bgp vpnv4 all sum

and not in show show ip bgp sum

b) the route-maps applied inbound on received BGP advertisements set the well-known BGP community no-advertise, this was acceptable until router1 was the only one speaking BGP, it is not useful now that there is another iBGP speaker, the well known BGP community no-export should be used instead of no-advertise.

Edit:

no synchronization is the default setting in modern IOS images, it shouldn't be an issue, it depends on IOS version on router1 and what is set on router1. You may need to add no sync on router1 to see the routes propagated.

Hope to help

Giuseppe

Hi Giuseppe,

sh ip bgp summ router1

------------------------------------

BGP router identifier y.y.y.y, local AS number 123456

BGP table version is 104368921, main routing table version 104368921

412270 network entries using 48235590 bytes of memory

2463039 path entries using 128078028 bytes of memory

281109/69350 BGP path/bestpath attribute entries using 34857516 bytes of memory

124867 BGP AS-PATH entries using 3389824 bytes of memory

3146 BGP community entries using 189498 bytes of memory

14 BGP route-map cache entries using 448 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 214750904 total bytes of memory

1231517 received paths for inbound soft reconfiguration

BGP activity 5536360/5114639 prefixes, 47916534/45444052 paths, scan interval 60                                                 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

YYYY::YYYY:YY:Y:YYYY:1

                4  (UPSTR1) 8867035  352638        0    0    0 34w6d    (NoNeg)

YYYY:YYYY:YYYY:YYYY::1

                4 123456    4547   41130        0    0    0 17:12:55 Active

x.x.x.8     4 123456   23567   22307 104368921    0    0 00:07:35        0

z.z.z.z   4 (UPSTR1) 48196906  904866 104368847    0    0 48w5d      407705

s.s.s.s   4  (UPSTR1)       0       0        0    0    0 never    Active

p.p.p.p   4  (UPSTR1)       0       0        0    0    0 never    Active

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

c.c.c.c    4  (UPSTR2) 35321014  562191 104368847    0    0 39w5d      411905

h.h.h.h    4  (UPSTR2) 34951653  562190 104368847    0    0 39w5d      411907

i.i.i.i 4 (INACTIVECUST)       0  657302        0    0    0 never    Active

And here the path for a learnt route:

---------------------------------------------------

#sh ip bgp d.d.d.0

BGP routing table entry for d.d.d.0/24, version 14645476

Paths: (2 available, best #1, table Default-IP-Routing-Table)

  Not advertised to any peer

  (UPSTR1) 8469

    x.x.x.137 from x.x.x.137 (x.x.x.239)

      Origin IGP, localpref 200, valid, external, best

  (UPSTR1) 8469, (received-only)

    x.x.x.137 from x.x.x.137 (x.x.x.239)

      Origin IGP, localpref 100, valid, external

Hello Peter,

on router1 do

router bgp 123456

no sync

let's see if this changes the behaviour, the upstream providers are defined in global routing table, I don't see BGP communities associated to the show ip bgp d.d.d.0 (unless output is truncated)

Edit:

I see in your original post that no sync is already in place on router1 have you tried to clear the iBGP session  to router2? It is really strange we are running out of possible reasons for this behaviour.

Hope to help

Giuseppe

Hi Giuseppe,

on router1 "no sync" has always been in the config and communities are not defined (although I see a neighbour send community statement for UPSTR2)

I found another statement on router1:

Router bgp 20810

...

distribute-list prefix My-Networks out

...

no auto-summary

Hello Peter,

this makes the difference!

>> distribute-list prefix My-Networks out

you should apply the filter at neighbor level to UPSTR1 and UPSTR2 neighbor(s)  the filter applied at the BGP process level applies also to the iBGP session to router2 and this explains why no other routes are sent to router2

So you should apply the filter on neighbor command and then you have to remove the above command (at process level)

After all this you should see only the best routes propagated to router2  = you will not see double paths just one path for each prefix depending on router1 choicies

Hope to help

Giuseppe

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