summaryrefslogtreecommitdiff
path: root/nest
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2013-11-25 18:42:47 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2013-11-25 18:42:47 +0100
commit283c7dfada53a6dee6a8a17ecab492ffafd44b66 (patch)
tree5edfb9df61c3b625967f3c65317f27c5051a8a4d /nest
parent736e143fa50607fcd88132291e96089b899af979 (diff)
parent0bb4e37db317a1290bad24fe430cac6569a9bd8c (diff)
Merge branch 'master' into add-path
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)
{