BGP strict bind socket error

Ondrej Zajicek santiago at crfreenet.org
Thu Jan 9 18:14:59 CET 2020


On Tue, Jan 07, 2020 at 12:45:43PM -0800, Ben Tremblay wrote:
> Hi all,
> 
> I have encountered a problem with how BIRD opens the listening socket for strict bind BGP.
> 
> In particular, BIRD sometimes tries to open the listening socket for
> the protocol when the configured local IP is not yet present on the
> interface. It seems that BIRD will try to bind the BGP socket to the
> configured IP if any address exists on the protocol interface that can be
> used to reach the neighbor. Let me give an example to clarify.

Hi

Yes, there is this issue with strict bind that availability of local IP
is not explicitly monitored.

Generally, listening socket is started when associated protocol is
started/ready. Which means always for multihop BGP, and when peer IP is
reachable for direct BGP. But as you noted, it is possible that peer IP
is reachable without local IP is reachable, which makes problem with
combination with strict bind.


> So, I have two questions:
> 
>     1. Is this correct behaviour?

Well, i would not call that correct but also not a bug. Perhaps rough
edge / flaw. We should fix that.


>     2. Can I configure BIRD so that my protocol is able to recover after suffering a socket error like this?

Probably not. I would suggest the workaround with nonlocal_bind sysctl.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."


More information about the Bird-users mailing list