Hi,
I noticed that the currect git version of bird always disables a BGP
protocol instance when the neighbor address is unreachable. This is
caused by changing the line
if (!p->neigh)
to
if (!p->neigh || (p->neigh->scope == SCOPE_HOST))
in bgp.c; while formerly, the protocol was only disabled when the
address was invalid, the new version also considers the address invalid
when the neighbor isn't found. This problem occurs because SCOPE_HOST is
equivalent to 0, but the scope is set to 0 by neigh_find() when a
neighbor isn't found; I guess it is unintended that SCOPE_HOST is the
same as an invalid scope.

This bug currently blocks me fixing the problems you mentioned
concerning my link-local v6 peering patch.

Matthias Schiffer

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to