diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2007-06-12 06:30:09 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2007-06-12 06:30:09 +0000 |
commit | a2eda39c28fae0f6d8ff485406dd0c30a02997c8 (patch) | |
tree | ad41e38abe49f71e01e286a86cedc64bed2e6c06 | |
parent | de6b92ce5ff6ca234e79eb384d7c62f17a8d75df (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.c | 4 |
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); |