From b3fceeba30bd6a685de0aa17dbe6bcfd77d1ca29 Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Tue, 19 Feb 2019 16:21:52 +0100 Subject: [PATCH] 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. --- nest/rt-table.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; -- 2.47.2