From: Maria Matejka Date: Thu, 2 Nov 2023 13:43:15 +0000 (+0100) Subject: Merge branch 'thread-next' into HEAD X-Git-Tag: v3.0.0~351^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Fpartial-reload;p=thirdparty%2Fbird.git Merge branch 'thread-next' into HEAD --- c6fba7d7e669dce3a9272132b1aa9524632cc5e3 diff --cc nest/proto.c index e569ab769,8b949c9cd..bbf41ab14 --- a/nest/proto.c +++ b/nest/proto.c @@@ -687,15 -564,15 +686,17 @@@ channel_start_export(struct channel *c ASSERT(c->channel_state == CS_UP); + pool *p = rp_newf(c->proto->pool, c->proto->pool->domain, "Channel %s.%s export", c->proto->name, c->name); + c->out_req = (struct rt_export_request) { - .name = mb_sprintf(c->proto->pool, "%s.%s", c->proto->name, c->name), + .name = mb_sprintf(p, "%s.%s", c->proto->name, c->name), .list = proto_work_list(c->proto), - .pool = c->proto->pool, + .pool = p, .feed_block_size = c->feed_block_size, - .addr = c->out_subprefix, - .addr_mode = c->out_subprefix ? TE_ADDR_IN : TE_ADDR_NONE, + .prefilter = { + .mode = c->out_subprefix ? TE_ADDR_IN : TE_ADDR_NONE, + .addr = c->out_subprefix, + }, .trace_routes = c->debug | c->proto->debug, .dump_req = channel_dump_export_req, .log_state_change = channel_export_log_state_change, diff --cc nest/route.h index 65da04a1a,6b9a0dc1c..fe100a366 --- a/nest/route.h +++ b/nest/route.h @@@ -319,10 -300,11 +319,10 @@@ struct rt_pending_export struct rt_export_request { struct rt_export_hook *hook; /* Table part of the export */ - char *name; /* Network prefilter address */ - const char *name; - const net_addr *addr; /* Network prefilter address */ ++ char *name; u8 trace_routes; - u8 addr_mode; /* Network prefilter mode (TE_ADDR_*) */ uint feed_block_size; /* How many routes to feed at once */ + struct rt_prefilter prefilter; event_list *list; /* Where to schedule export events */ pool *pool; /* Pool to use for allocations */