From: Ondrej Zajicek Date: Sun, 24 Nov 2013 21:22:24 +0000 (+0100) Subject: Last state change should track protocol state change. X-Git-Tag: v1.4.0~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ebc92935cb58c78286d91f0831de94cd4ae0f9e;p=thirdparty%2Fbird.git Last state change should track protocol state change. And not core state change, which is not much relevant (e.g. refeed in BGP). --- diff --git a/nest/proto.c b/nest/proto.c index 75ba10dd9..5876e5d48 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -48,7 +48,6 @@ static void proto_enqueue(list *l, struct proto *p) { add_tail(l, &p->n); - p->last_state_change = now; } static void @@ -362,6 +361,8 @@ proto_init(struct proto_config *c) q->proto_state = PS_DOWN; q->core_state = FS_HUNGRY; + q->last_state_change = now; + proto_enqueue(&initial_proto_list, q); if (p == &proto_unix_iface) initial_device_proto = q; @@ -1077,6 +1078,7 @@ proto_notify_state(struct proto *p, unsigned ps) return; p->proto_state = ps; + p->last_state_change = now; switch (ps) {