diff options
author | Martin Mares <mj@ucw.cz> | 1998-10-17 13:05:18 +0200 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1998-10-17 13:05:18 +0200 |
commit | 47b793064c25c8adcab48cacc018be1675f2448a (patch) | |
tree | c6924c3fb31bf8cd7d650ad8e6c52c395457eca9 /nest/protocol.h | |
parent | d92882be9b1bfcc1a8e8a7bd552bdec4831694aa (diff) | |
download | bird-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.h | 3 |
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 |