From: Ondrej Zajicek (work) Date: Tue, 19 Feb 2019 15:21:52 +0000 (+0100) Subject: Nest: Prevent withdraws from propagation back to source protocol (for accepted mode) X-Git-Tag: v1.6.6~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3fceeba30bd6a685de0aa17dbe6bcfd77d1ca29;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 68ee59b4c..e06563f63 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -484,7 +484,7 @@ rt_notify_basic(struct announce_hook *ah, net *net, rte *new0, rte *old0, int re static void rt_notify_accepted(struct announce_hook *ah, net *net, rte *new_changed, rte *old_changed, rte *before_old, int feed) { - // struct proto *p = ah->proto; + struct proto *p = ah->proto; struct proto_stats *stats = ah->stats; rte *r; @@ -563,7 +563,9 @@ rt_notify_accepted(struct announce_hook *ah, net *net, rte *new_changed, rte *ol */ /* Hack for changed filters */ - if (old_changed && (old_changed->lastmod <= ah->last_out_filter_change)) + if (old_changed && + (p != old_changed->sender->proto) && + (old_changed->lastmod <= ah->last_out_filter_change)) { old_best = old_changed; goto found;