diff options
author | Maria Matejka <mq@ucw.cz> | 2023-03-08 21:38:18 +0100 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2023-04-04 17:00:58 +0200 |
commit | 97d2875e999487bfe91f16c77c409ac0080541d3 (patch) | |
tree | da69c481133162c2c7621095ba04ca49aa77b880 /proto/pipe/pipe.c | |
parent | aa5fc3b99d9bada123cb4b7030fa0c8ba5fae2ea (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.c | 7 |
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); |