summaryrefslogtreecommitdiffstats
path: root/nest/protocol.h
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1998-10-17 13:05:18 +0200
committerMartin Mares <mj@ucw.cz>1998-10-17 13:05:18 +0200
commit47b793064c25c8adcab48cacc018be1675f2448a (patch)
treec6924c3fb31bf8cd7d650ad8e6c52c395457eca9 /nest/protocol.h
parentd92882be9b1bfcc1a8e8a7bd552bdec4831694aa (diff)
downloadbird-47b793064c25c8adcab48cacc018be1675f2448a.tar
bird-47b793064c25c8adcab48cacc018be1675f2448a.zip
Solve chicken-and-egg problems with protocol startup. We now queue all inactive
protocols and don't send route/interface updates to them and when they come up, we resend the whole route/interface tables privately. Removed the "scan interface list after protocol start" work-around.
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 92bcbbe..ec4408f 100644
--- a/nest/protocol.h
+++ b/nest/protocol.h
@@ -58,6 +58,7 @@ 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);
@@ -79,6 +80,6 @@ struct proto {
void *proto_new(struct protocol *, unsigned size);
-extern list proto_list;
+extern list proto_list, inactive_proto_list;
#endif