diff options
Diffstat (limited to 'nest')
-rw-r--r-- | nest/proto.c | 2 | ||||
-rw-r--r-- | nest/protocol.h | 1 | ||||
-rw-r--r-- | nest/rt-table.c | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/nest/proto.c b/nest/proto.c index 21460e56..cd6a3faa 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -1220,7 +1220,7 @@ proto_start(struct proto *p) p->gr_recovery = 1; if (p->cf->loop_order != DOMAIN_ORDER(the_bird)) - p->loop = birdloop_new(p->pool, p->cf->loop_order, p->pool->name); + p->loop = birdloop_new(p->pool, p->cf->loop_order, p->pool->name, p->cf->loop_max_latency); p->iface_sub.target = proto_event_list(p); diff --git a/nest/protocol.h b/nest/protocol.h index fe987d17..01153162 100644 --- a/nest/protocol.h +++ b/nest/protocol.h @@ -106,6 +106,7 @@ struct proto_config { u32 debug, mrtdump; /* Debugging bitfields, both use D_* constants */ u32 router_id; /* Protocol specific router ID */ uint loop_order; /* Launch a birdloop on this locking level; use DOMAIN_ORDER(the_bird) for mainloop */ + btime loop_max_latency; /* Request this specific maximum latency of loop; zero to default */ list channels; /* List of channel configs (struct channel_config) */ struct iface *vrf; /* Related VRF instance, NULL if global */ diff --git a/nest/rt-table.c b/nest/rt-table.c index 54aa90a6..b18727b1 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -2907,7 +2907,7 @@ rt_setup(pool *pp, struct rtable_config *cf) } /* Start the service thread */ - t->loop = birdloop_new(p, DOMAIN_ORDER(service), mb_sprintf(p, "Routing table %s", t->name)); + t->loop = birdloop_new(p, DOMAIN_ORDER(service), mb_sprintf(p, "Routing table %s", t->name), 0); birdloop_enter(t->loop); birdloop_flag_set_handler(t->loop, &t->fh); birdloop_leave(t->loop); |