Fixes a bug related to mixed up neighbor events in BGP.

Neighbor events related to received route next hops got mixed up with
sticky neighbor node for an IP of the BGP peer. If a neighbor for a next
hop disappears, BGP session is shut down.
This commit is contained in:
Ondrej Zajicek 2013-08-13 20:42:43 +02:00
parent 00192d5ab8
commit b21955e058

View file

@ -743,6 +743,9 @@ bgp_neigh_notify(neighbor *n)
{ {
struct bgp_proto *p = (struct bgp_proto *) n->proto; struct bgp_proto *p = (struct bgp_proto *) n->proto;
if (! (n->flags & NEF_STICKY))
return;
if (n->scope > 0) if (n->scope > 0)
{ {
if ((p->p.proto_state == PS_START) && (p->start_state == BSS_PREPARE)) if ((p->p.proto_state == PS_START) && (p->start_state == BSS_PREPARE))