summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde_decide.c
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2003-12-23 15:59:03 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2003-12-23 15:59:03 +0000
commit65786a071b6f926546c1b07376f6d628891b1bbc (patch)
treee41098be94ba77ae59113901c2345b4c1ea5b728 /usr.sbin/bgpd/rde_decide.c
parent3dab34f1895745a9201171eed92e94260820c897 (diff)
Send updates to the main process so they can be added to the kernel
routing table. OK henning@
Diffstat (limited to 'usr.sbin/bgpd/rde_decide.c')
-rw-r--r--usr.sbin/bgpd/rde_decide.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/bgpd/rde_decide.c b/usr.sbin/bgpd/rde_decide.c
index 9f9d5472e8f..53b629a2126 100644
--- a/usr.sbin/bgpd/rde_decide.c
+++ b/usr.sbin/bgpd/rde_decide.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: rde_decide.c,v 1.1 2003/12/17 11:46:54 henning Exp $ */
+/* $OpenBSD: rde_decide.c,v 1.2 2003/12/23 15:59:02 claudio Exp $ */
/*
- * Copyright (c) 2003 Claudio Jeker <cjeker@diehard.n-r-g.com>
+ * Copyright (c) 2003 Claudio Jeker <claudio@openbsd.org>
* Copyright (c) 2003 Henning Brauer <henning@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -200,6 +200,7 @@ prefix_evaluate(struct prefix *p, struct pt_entry *pte)
if (pte->active != xp) {
/* need to generate an update */
if (pte->active != NULL) {
+ ENSURE(pte->active->aspath != NULL);
ENSURE(pte->active->aspath->active_cnt > 0);
pte->active->aspath->active_cnt--;
}
@@ -208,6 +209,7 @@ prefix_evaluate(struct prefix *p, struct pt_entry *pte)
* XXX send update with remove for pte->active and add for xp
* but remember that xp may be ineligible or NULL.
*/
+ rde_send_kroute(xp, pte->active);
if (xp != NULL || xp->aspath->state == NEXTHOP_UNREACH)
pte->active = NULL;