gateway recursive

Mikhail Mayorov mm at tagan.ru
Thu Aug 10 10:14:33 CEST 2017


On 10/08/17 01:28, Ondrej Zajicek wrote:
> On Mon, Aug 07, 2017 at 06:49:56PM +0300, Mikhail Mayorov wrote:
>> Hi all!
>>
>> Please help me with recursion to caclulate bgp_next_hop using IGP.
>> I have 2 router "A" and "B" connected to each other via iBGP. Each of the
>> routers has connection to the outside world in different AS and get full
>> view. "A" has a eBGP session to the neighbor "A2" and "B" has a eBGP session
>> to the neighbor "B2". I configure "gateway recursive; direct;" on iBGP.
>> In this case, all the routes from the A2 got to B via A are as unreachable.
> 
> Hi
> 
> Recursive routes are supposed to be resolved through IGP routes, they
> cannot be resolved through routes that are also recursive (to avoid
> multiple levels of recursion and cycles). You could set 'next hop self'
> so bgp_next_hop is directly 95.174.97.1, or just do not use
> 'gateway recursive' in this case.

Hi!

Now I have zebra(quagga) for eBGP and bird for OSPF (IGP). So as I use 
iBGP between borders and I configure "next hop self" on they. And I was 
planning to switch IGP to iGBP on all my routers. It's 3 borders + 30 NAS.
 From documentation on bird:
next hop self
Avoid calculation of the Next Hop attribute and always advertise our own 
source address as a next hop. This needs to be used only occasionally to 
circumvent misconfigurations of other routers. Default: disabled.

I want to throw away the crutch "next hop self". I may be wrong?!

I'm more interested in the principle of seeking this route (next_hop) 
and why it is not found. I understand the IGP table is the same table 
connects to protocol. Here I do not understand how this recursion works. 
Example:
I received an announcement net = 37.231.192.0/22, BGP.next_hop: 
188.43.24.90.
I have a config file explicitly specified "gateway recursive;".
If you search for route 188.43.24.90, we find:
188.43.24.88/30    via 95.174.97.1 on vlan8 [twix_ipv4 07.08.2017 
17:17:17] * (100) [i]
     Type: BGP unicast univ
     BGP.origin: IGP
     BGP.as_path:
     BGP.next_hop: 95.174.97.1
     BGP.med: 0
     BGP.local_pref: 500
     BGP.community: (49037,49037)

Why bird don't set gw = 95.174.97.1?! This host from local connected 
network!

-- 
Regards,
Mikhail V. Majorov


More information about the Bird-users mailing list