summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nest/proto.c1
-rw-r--r--sysdep/unix/krt.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/nest/proto.c b/nest/proto.c
index cbafeb3..99a4e85 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -321,6 +321,7 @@ proto_notify_state(struct proto *p, unsigned ps)
DBG("%s: Scheduling meal\n", p->name);
if (p->proto->priority) /* FIXME: Terrible hack to get synchronous device/kernel startup! */
{
+ p->proto_state = ps;
p->core_state = FS_FEEDING;
proto_feed(p);
return;
diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c
index d44a57d..5fbd52c 100644
--- a/sysdep/unix/krt.c
+++ b/sysdep/unix/krt.c
@@ -41,7 +41,7 @@ krt_flush_routes(struct krt_proto *p)
{
rta *a = e->attrs;
if (a->source != RTS_DEVICE && a->source != RTS_INHERIT)
- krt_set_notify(&p->p, e->net, e, NULL);
+ krt_set_notify(&p->p, e->net, NULL, e);
}
}
FIB_WALK_END;
@@ -221,7 +221,7 @@ krt_start(struct proto *P)
{
struct krt_proto *p = (struct krt_proto *) P;
- p->accum_time = 0;
+ p->accum_time = KRT_CF->route_scan_time - KRT_CF->scan_time;
krt_if_start(p);
krt_scan_start(p);