summaryrefslogtreecommitdiff
path: root/proto/pipe/pipe.c
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2023-03-08 21:38:18 +0100
committerMaria Matejka <mq@ucw.cz>2023-04-04 17:00:58 +0200
commit97d2875e999487bfe91f16c77c409ac0080541d3 (patch)
treeda69c481133162c2c7621095ba04ca49aa77b880 /proto/pipe/pipe.c
parentaa5fc3b99d9bada123cb4b7030fa0c8ba5fae2ea (diff)
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.
Diffstat (limited to 'proto/pipe/pipe.c')
-rw-r--r--proto/pipe/pipe.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/proto/pipe/pipe.c b/proto/pipe/pipe.c
index 9d1bb6ce..b2083010 100644
--- a/proto/pipe/pipe.c
+++ b/proto/pipe/pipe.c
@@ -62,12 +62,9 @@ pipe_rt_notify(struct proto *P, struct channel *src_ch, const net_addr *n, rte *
if (new)
{
- rte e0 = {
- .attrs = new->attrs,
- .src = new->src,
- .generation = new->generation + 1,
- };
+ rte e0 = rte_init_from(new);
+ e0.generation = new->generation + 1;
ea_unset_attr(&e0.attrs, 0, &ea_gen_hostentry);
rte_update(dst, n, &e0, new->src);