From f184ea6f7e1233403d06fa4615cb9f27f9d9a839 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Mon, 19 Oct 1998 17:45:29 +0000 Subject: Proto struct now contain (down | starting | up) state. --- nest/proto.c | 2 ++ nest/protocol.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/nest/proto.c b/nest/proto.c index f142a77d..07601302 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 9a0ea98d..f138d865 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; -- cgit v1.2.3