summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd/rde.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/ospfd/rde.c')
-rw-r--r--usr.sbin/ospfd/rde.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.sbin/ospfd/rde.c b/usr.sbin/ospfd/rde.c
index 792ea264ab9..fe8c05bc566 100644
--- a/usr.sbin/ospfd/rde.c
+++ b/usr.sbin/ospfd/rde.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.c,v 1.90 2011/01/17 17:20:26 claudio Exp $ */
+/* $OpenBSD: rde.c,v 1.91 2011/01/18 20:46:06 claudio Exp $ */
/*
* Copyright (c) 2004, 2005 Claudio Jeker <claudio@openbsd.org>
@@ -1150,12 +1150,16 @@ rde_asext_get(struct kroute *rr)
rdeconf->rtr_id.s_addr);
}
+ v = lsa_find(NULL, LSA_TYPE_EXTERNAL, an->ls_id,
+ rdeconf->rtr_id.s_addr);
lsa = orig_asext_lsa(rr, an->ls_id, DEFAULT_AGE);
lsa_merge(nbrself, lsa, v);
if (oan != an) {
+ v = lsa_find(NULL, LSA_TYPE_EXTERNAL, oan->ls_id,
+ rdeconf->rtr_id.s_addr);
lsa = orig_asext_lsa(&oan->r, oan->ls_id, DEFAULT_AGE);
- lsa_merge(nbrself, lsa, NULL);
+ lsa_merge(nbrself, lsa, v);
}
}