Multihop BGP cannot use direct gateway mode - misidentification of multihop sessions?

Sergey Popovich popovich_sergei at mail.ru
Wed Aug 13 11:18:26 CEST 2014


В письме от 13 августа 2014 11:03:21 пользователь Ondrej Zajicek написал:
> On Wed, Aug 13, 2014 at 10:52:49AM +0300, Sergey Popovich wrote:
> > commit f3e59178506dab9d54cf19ec701f8d9a7fe283f9
> > Author: Ondrej Zajicek <>
> > Date:   Sun Nov 24 12:37:24 2013 +0100
> > 
> >     Enables multihop mode for IBGP by default.
> > 
> > Now multihop enabled by default for iBGP sessions (which is your case),
> > but
> > can not be turned off with gateway direct so parse error is returned.
> 
> Hi
> 
> Multihop is now enabled by default for IBGP, but it *can* be turned off.
> See below.
> 
> > > > From this, gateway direct should be the default for a direct session
> > > > in
> > > > any case. It would appear to me that bird is somehow misidentifying
> > > > the
> > > > session as a multihop session.
> 
> Whether the session is multihop or direct is not detected, but it is
> configured. In older versions, direct was the universal default. In the
> current one, direct is the default for EBGP and multihop is the default
> for IBGP.
> 
> > BIRD by default uses multihop for iBGP sessions since commit
> > f3e59178506dab.> 
> > >From my point of view the core of the problem is that multi hop could
> > 
> > not be turned off in iBGP configurations, but this is also true on
> > othe platforms (cisco, juniper, ...).
> 
> Both IBGP and EBGP can be explicitly configured in BIRD to use either
> direct or multihop mode (options 'direct' and 'multihop').
> 
> The problem here is to mix it with 'gateway direct|recursive' option,
> which configures something related but slightly different - just the
> aspect of gateway resolution. You generally don't need to use this
> ('gateway ...') option as its default depend on direct/multihop session
> mode. Combination 'multihop' and 'gateway direct' is forbidden, so this
> option is useful mainly to set 'gateway recursive' together with 'direct'
> mode.
> 
> 
> In short, the default values depends in this direction:
> 
> EBGP|IBGP  ->  direct|multihop  ->  gateway direct|recursive
> 
> Changing former would change the default value for later, but not otherwise.

Thanks for pointing Ondrej, so using 'direct' (not 'gateway direct') is 
opposite to the 'multihop' and

protocol bgp bgp1 {
   ...
   direct;
   ...
}

is enought to turn on 'gateway direct' by default as described in docs
(but could be turned into 'gateway recursive' on demand).

Thanks again.

-- 
SP5474-RIPE
Sergey Popovich




More information about the Bird-users mailing list