On Fri, Aug 10, 2018 at 11:23:56PM +0200, J. Kendzorra wrote:
Hi,
upon a reboot of a system running BFD I recently noticed BFD breaking with error "Cannot assign requested address" once the system came back. Restarting the BFD protocol in question solved the problem. Hence, apparently the system's network wasn't fully up and running at the time bird started; according to systemd documentation (https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/), one possible fix is to change bird.service from After=network.target to After=network-online.target Wants=network-online.target Alternatively, IP_FREEBIND on the BFD tx socket would allow binding to an IP address that does not (yet) exist which seems more elegant since it doesn't need to take into account that different systems may define "online" differently. I'm wondering whether there's something I'm missing as to why IP_FREEBIND shouldn't be used?
Hi Generally, BIRD should not try to use an address before it notices that the address is available/active. If BIRD tries to bind the socket before that, then it is a bug. Which BIRD version it is? It is an IPv6 address? Which protocol caused the BFD session or it is static one? I would suspect that the issue is related to IPv6 DAD. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@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."