summaryrefslogtreecommitdiff
path: root/nest/rt-table.c
diff options
context:
space:
mode:
Diffstat (limited to 'nest/rt-table.c')
-rw-r--r--nest/rt-table.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c
index a1900532..85afe838 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;