summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2009-06-29 14:13:49 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2009-06-29 14:13:49 +0000
commit39530e19e67aab97f0ff8c02bed4cb7f5e283b27 (patch)
treec9de7fde073788f96b9579fe5680b47f8c8b0025 /usr.sbin/bgpd
parent37e56b6c697496cf0243fccf185fe1d0ea763f94 (diff)
Protect the other rde_send_kroute() with a F_RIB_NOFIB check.
Diffstat (limited to 'usr.sbin/bgpd')
-rw-r--r--usr.sbin/bgpd/rde_rib.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/bgpd/rde_rib.c b/usr.sbin/bgpd/rde_rib.c
index dae2a0b546b..78dc203ec8d 100644
--- a/usr.sbin/bgpd/rde_rib.c
+++ b/usr.sbin/bgpd/rde_rib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde_rib.c,v 1.115 2009/06/07 00:30:23 claudio Exp $ */
+/* $OpenBSD: rde_rib.c,v 1.116 2009/06/29 14:13:48 claudio Exp $ */
/*
* Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org>
@@ -839,7 +839,6 @@ prefix_bypeer(struct rib_entry *re, struct rde_peer *peer, u_int32_t flags)
return (NULL);
}
-/* XXX this completely wrong somewhat */
void
prefix_updateall(struct rde_aspath *asp, enum nexthop_state state,
enum nexthop_state oldstate)
@@ -860,7 +859,8 @@ prefix_updateall(struct rde_aspath *asp, enum nexthop_state state,
* or other internal infos. This will not change
* the routing decision so shortcut here.
*/
- if (p == p->rib->active)
+ if ((p->rib->flags & F_RIB_NOFIB) == 0 &&
+ p == p->rib->active)
rde_send_kroute(p, NULL);
continue;
}