summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2007-06-12 06:30:09 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2007-06-12 06:30:09 +0000
commita2eda39c28fae0f6d8ff485406dd0c30a02997c8 (patch)
treead41e38abe49f71e01e286a86cedc64bed2e6c06
parentde6b92ce5ff6ca234e79eb384d7c62f17a8d75df (diff)
When calculating as_ext routes only respect the connected flag for rt_nodes
with d_type DT_NET. Without this directly connected DT_RTRs use the wrong nexthop and fail to install the as_ext route because the nexthop is not directly reachable.
-rw-r--r--usr.sbin/ospfd/rde_spf.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/ospfd/rde_spf.c b/usr.sbin/ospfd/rde_spf.c
index 0984a4ec80f..597e01b6741 100644
--- a/usr.sbin/ospfd/rde_spf.c
+++ b/usr.sbin/ospfd/rde_spf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde_spf.c,v 1.60 2007/04/10 13:26:39 claudio Exp $ */
+/* $OpenBSD: rde_spf.c,v 1.61 2007/06/12 06:30:08 claudio Exp $ */
/*
* Copyright (c) 2005 Esben Norby <norby@openbsd.org>
@@ -322,7 +322,7 @@ asext_calc(struct vertex *v)
if (rn->invalid)
continue;
- if (rn->connected) {
+ if (rn->connected && r->d_type == DT_NET) {
if (v->lsa->data.asext.fw_addr != 0)
calc_nexthop_add(v, NULL,
v->lsa->data.asext.fw_addr);