summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2005-05-12 20:43:15 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2005-05-12 20:43:15 +0000
commite22861f3593055ad845fb9a68f28a02921ab4a73 (patch)
tree16db694856e50c127aad14ce0ed7f989bb37856e
parent688e938998d7cd153e787bb600806b0df2315826 (diff)
Every time a LSA is returned from a lookup lsa_age() it.
Also move the lsa_age() prototype to rde.h so that we can access it from the SPF code. OK norby@
-rw-r--r--usr.sbin/ospfd/rde.h3
-rw-r--r--usr.sbin/ospfd/rde_lsdb.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/usr.sbin/ospfd/rde.h b/usr.sbin/ospfd/rde.h
index 7ebba97a7db..6dff2d4a6f2 100644
--- a/usr.sbin/ospfd/rde.h
+++ b/usr.sbin/ospfd/rde.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.h,v 1.11 2005/05/12 19:10:12 norby Exp $ */
+/* $OpenBSD: rde.h,v 1.12 2005/05/12 20:43:13 claudio Exp $ */
/*
* Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
@@ -102,6 +102,7 @@ int lsa_check(struct rde_nbr *, struct lsa *, u_int16_t);
int lsa_self(struct rde_nbr *, struct lsa *, struct vertex *);
void lsa_add(struct rde_nbr *, struct lsa *);
void lsa_del(struct rde_nbr *, struct lsa_hdr *);
+void lsa_age(struct vertex *);
struct vertex *lsa_find(struct area *, u_int8_t, u_int32_t, u_int32_t);
struct vertex *lsa_find_net(struct area *area, u_int32_t);
int lsa_num_links(struct vertex *);
diff --git a/usr.sbin/ospfd/rde_lsdb.c b/usr.sbin/ospfd/rde_lsdb.c
index 3f426af9305..93683fc3f5a 100644
--- a/usr.sbin/ospfd/rde_lsdb.c
+++ b/usr.sbin/ospfd/rde_lsdb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde_lsdb.c,v 1.12 2005/05/12 19:10:12 norby Exp $ */
+/* $OpenBSD: rde_lsdb.c,v 1.13 2005/05/12 20:43:14 claudio Exp $ */
/*
* Copyright (c) 2004, 2005 Claudio Jeker <claudio@openbsd.org>
@@ -30,7 +30,6 @@
struct vertex *vertex_get(struct lsa *, struct rde_nbr *);
int lsa_router_check(struct lsa *, u_int16_t);
-void lsa_age(struct vertex *);
void lsa_timeout(int, short, void *);
void lsa_refresh(struct vertex *);
@@ -433,6 +432,7 @@ lsa_find_net(struct area *area, u_int32_t ls_id)
RB_FOREACH(v, lsa_tree, tree) {
if ((v->lsa->hdr.type == LSA_TYPE_NETWORK) &&
(v->lsa->hdr.ls_id == (ls_id))) {
+ lsa_age(v);
return (v);
}
}