Neighbor cache is unware of addresses added or removed without taking the interface down

Ondrej Zajicek santiago at crfreenet.org
Mon Dec 12 00:27:50 CET 2011


On Thu, Dec 08, 2011 at 01:25:16AM +0100, Matthias Schiffer wrote:
> Hi,
> when playing with bird I noticed the following problem:
> 
> When I add or remove addresses to/from an interface without taking the interface down when doing so,
> the neighbor cache isn't notified, causing BGP sessions not to start even though the neighbor has become reachable,
> or BGP sessions that already found their neighbor not to look for it on other interfaces after the address has disappeared.

Thanks for bugreport, it is interesting that nobody noticed this before :-)

> The attached patch fixes this by updating the neighbor cache on every interface address update; I've only tested it
> with BGP though, I don't know if it has any side effects concerning other protocols.

The patch is OK even for other protocols (only the BGP and static uses
sticky neighbor cache entries), thanks. I didn't want to completely remove
neigh_if_up() / neigh_if_down(), so i did some modifications to that
(attached) and merged that.

-- 
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."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: neigh.patch
Type: text/x-diff
Size: 5330 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20111212/41254fc1/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20111212/41254fc1/attachment-0001.asc>


More information about the Bird-users mailing list