From: Ondrej Zajicek (work) Date: Tue, 19 Feb 2019 15:26:09 +0000 (+0100) Subject: Nest: Prevent withdraws from propagation back to source protocol (for accepted mode) X-Git-Tag: v2.0.4~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a8ca7abbcf6452fa56d0c1c6ddcf7d5bd6876ed;p=thirdparty%2Fbird.git Nest: Prevent withdraws from propagation back to source protocol (for accepted mode) Update for one of previous patches, handles the the issue for first-accepted mode of route propagation. --- diff --git a/nest/rt-table.c b/nest/rt-table.c index a19005322..85afe8386 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -621,7 +621,7 @@ rt_notify_basic(struct channel *c, net *net, rte *new0, rte *old0, int refeed) static void rt_notify_accepted(struct channel *c, net *net, rte *new_changed, rte *old_changed, rte *before_old, int feed) { - // struct proto *p = c->proto; + struct proto *p = c->proto; rte *r; rte *new_best = NULL; @@ -698,7 +698,9 @@ rt_notify_accepted(struct channel *c, net *net, rte *new_changed, rte *old_chang */ /* Hack for changed filters */ - if (old_changed && (old_changed->lastmod <= c->last_tx_filter_change)) + if (old_changed && + (p != old_changed->sender->proto) && + (old_changed->lastmod <= c->last_tx_filter_change)) { old_best = old_changed; goto found;