From: Martin Mares Date: Mon, 19 Oct 1998 17:45:29 +0000 (+0000) Subject: Proto struct now contain (down | starting | up) state. X-Git-Tag: v1.2.0~1827 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f184ea6f7e1233403d06fa4615cb9f27f9d9a839;p=thirdparty%2Fbird.git Proto struct now contain (down | starting | up) state. --- diff --git a/nest/proto.c b/nest/proto.c index f142a77dc..076013023 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -71,10 +71,12 @@ static void proto_start(struct proto *p) { rem_node(&p->n); + p->state = PRS_STARTING; if (p->start) p->start(p); if_feed_baby(p); rt_feed_baby(p); + p->state = PRS_UP; add_tail(&proto_list, &p->n); } diff --git a/nest/protocol.h b/nest/protocol.h index 9a0ea98dd..f138d865f 100644 --- a/nest/protocol.h +++ b/nest/protocol.h @@ -59,6 +59,7 @@ struct proto { unsigned debug; /* Debugging flags */ pool *pool; /* Local objects */ unsigned preference; /* Default route preference */ + unsigned state; /* PRS_... */ 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); @@ -80,6 +81,10 @@ struct proto { /* Hic sunt protocol-specific data */ }; +#define PRS_DOWN 0 /* Inactive */ +#define PRS_STARTING 1 +#define PRS_UP 2 + void *proto_new(struct protocol *, unsigned size); extern list proto_list, inactive_proto_list;