From 97d2875e999487bfe91f16c77c409ac0080541d3 Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Wed, 8 Mar 2023 21:38:18 +0100 Subject: Fixed bad filter re-evaluation with import table if filtered->accepted The import table feed wasn't resetting the table-specific route values like REF_FILTERED and thus made the route look like filtered even though it should have been re-evaluated as accepted. --- nest/proto.c | 3 +++ nest/rt-table.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'nest') diff --git a/nest/proto.c b/nest/proto.c index e37bc93a..6c6d4ed3 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -657,7 +657,10 @@ channel_reload_stopped(struct rt_export_request *req) /* Restart reload */ if (c->reload_pending) + { + c->reload_pending = 0; channel_request_reload(c); + } if (c->channel_state != CS_UP) channel_check_stopped(c); diff --git a/nest/rt-table.c b/nest/rt-table.c index 3428c122..218fcbe7 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -4406,8 +4406,10 @@ void channel_reload_export_bulk(struct rt_export_request *req, const net_addr *n for (uint i=0; isender == c->in_req.hook) { + /* Strip the table-specific information */ + rte new = rte_init_from(feed[i]); + /* Strip the later attribute layers */ - rte new = *feed[i]; while (new.attrs->next) new.attrs = new.attrs->next; -- cgit v1.2.3