summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nest/rt-table.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c
index ae4bb74d..9952d91a 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -571,7 +571,8 @@ rt_notify_basic(struct channel *c, net *net, rte *new0, rte *old0, int refeed)
if (new)
new = export_filter(c, new, &new_free, 0);
- if (old && !(refeed || (old->lastmod <= c->last_tx_filter_change)))
+ if (old && !(refeed || ((old->lastmod <= c->last_tx_filter_change) &&
+ (p != old->sender->proto))))
old = export_filter(c, old, &old_free, 1);
if (!new && !old)