diff options
Diffstat (limited to 'nest')
-rw-r--r-- | nest/iface.c | 12 | ||||
-rw-r--r-- | nest/proto.c | 4 |
2 files changed, 3 insertions, 13 deletions
diff --git a/nest/iface.c b/nest/iface.c index b4ab70c3..298698a7 100644 --- a/nest/iface.c +++ b/nest/iface.c @@ -600,22 +600,10 @@ if_choose_router_id(struct iface_patt *mask, u32 old_id) if (a->scope <= SCOPE_LINK) continue; - /* FIXME: This should go away */ - if (a->flags & IA_PEER) - continue; - - /* FIXME: This should go away too */ - if (!mask && (a != i->addr)) - continue; - /* Check pattern if specified */ if (mask && !iface_patt_match(mask, i, a)) continue; - /* FIXME: This should go away too */ - if ((i->flags & IF_IGNORE) && !mask) - continue; - /* No pattern or pattern matched */ if (!b || ipa_to_u32(a->ip) < ipa_to_u32(b->ip)) b = a; diff --git a/nest/proto.c b/nest/proto.c index 019b846e..cfa6ff4b 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 @@ -363,6 +362,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; @@ -1084,6 +1085,7 @@ proto_notify_state(struct proto *p, unsigned ps) return; p->proto_state = ps; + p->last_state_change = now; switch (ps) { |