summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2007-06-12 06:30:08 +0000
committerclaudio <claudio@openbsd.org>2007-06-12 06:30:08 +0000
commit224bc664f8fc787c924560bb5dc7a827dde7610b (patch)
tree6baea29882b28f89a8ebacac1df6c9599a5bd902
parentAllow checkin without locking (after rcs -U). Matches GNU's behaviour. (diff)
downloadwireguard-openbsd-224bc664f8fc787c924560bb5dc7a827dde7610b.tar.xz
wireguard-openbsd-224bc664f8fc787c924560bb5dc7a827dde7610b.zip
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);