summaryrefslogtreecommitdiffstats
path: root/nest/protocol.h
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1998-10-18 13:13:16 +0200
committerMartin Mares <mj@ucw.cz>1998-10-18 13:13:16 +0200
commit5b22683d2f27fcc5954cc9d4d58e55e539414d53 (patch)
tree028d2f41b2a4ab6c888f567619c4c4ca62ea50b3 /nest/protocol.h
parent570ce189d77fc40841e8e9f8f86ea3c3840aa450 (diff)
downloadbird-5b22683d2f27fcc5954cc9d4d58e55e539414d53.tar
bird-5b22683d2f27fcc5954cc9d4d58e55e539414d53.zip
After contemplating about RIP route timeouts for a long time, I've implemented
protocol callbacks for route insertion and deletion from the central table. RIP should maintain its own per-protocol queue of existing routes, scan it periodically and call rte_discard() for routes that have timed out.
Diffstat (limited to 'nest/protocol.h')
-rw-r--r--nest/protocol.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/nest/protocol.h b/nest/protocol.h
index ec4408f..6059f7c 100644
--- a/nest/protocol.h
+++ b/nest/protocol.h
@@ -58,7 +58,6 @@ struct proto {
unsigned debug; /* Debugging flags */
pool *pool; /* Local objects */
unsigned preference; /* Default route preference */
- int ready; /* Already initialized */
void (*if_notify)(struct proto *, unsigned flags, struct iface *new, struct iface *old);
void (*rt_notify)(struct proto *, struct network *net, struct rte *new, struct rte *old);
@@ -69,6 +68,8 @@ struct proto {
int (*rta_same)(struct rtattr *, struct rtattr *);
int (*rte_better)(struct rte *, struct rte *);
+ int (*rte_insert)(struct network *, struct rte *);
+ int (*rte_remove)(struct network *, struct rte *);
/* Reconfigure function? */
/* Interface patterns */