From: Maria Matejka Date: Tue, 3 Oct 2023 09:26:46 +0000 (+0200) Subject: Merge commit '93509af4' into HEAD X-Git-Tag: v3.0.0~351^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=198fb23a3a74aa650700c795c55aa5dd0cd02bbb;p=thirdparty%2Fbird.git Merge commit '93509af4' into HEAD --- 198fb23a3a74aa650700c795c55aa5dd0cd02bbb diff --cc nest/proto.c index 5b00cc9d9,a7419c961..5ddfb31e1 --- a/nest/proto.c +++ b/nest/proto.c @@@ -343,7 -289,7 +343,8 @@@ struct roa_subscription struct settle settle; struct channel *c; struct rt_export_request req; + struct f_trie* trie; + struct channel_feeding_request cfr[2]; }; static void @@@ -364,23 -310,10 +365,25 @@@ channel_roa_out_changed(struct settle * CD(c, "Feeding triggered by RPKI change"); + /* TODO feed by trie */ + - c->refeed_pending = 1; - channel_stop_export(c); + /* Refeed already pending */ + if ((s->cfr[0].state == CFRS_PENDING) || (s->cfr[1].state == CFRS_PENDING)) + return; + + /* First refeed inactive */ + if (s->cfr[0].state == CFRS_INACTIVE) + { + s->cfr[0].type = CFRT_AUXILIARY; + channel_request_feeding(c, &s->cfr[0]); + } + else + { + /* Second refeed MUST be inactive */ + ASSERT_DIE(s->cfr[1].state == CFRS_INACTIVE); + s->cfr[1].type = CFRT_AUXILIARY; + channel_request_feeding(c, &s->cfr[1]); + } } static void