summaryrefslogtreecommitdiff
path: root/nest
diff options
context:
space:
mode:
Diffstat (limited to 'nest')
-rw-r--r--nest/iface.c12
-rw-r--r--nest/proto.c4
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)
{