summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2022-04-10 18:55:15 +0200
committerMaria Matejka <mq@ucw.cz>2022-05-04 15:37:41 +0200
commitf2f3163f6c3fba7f9ef03640d7b2f6323873d2cc (patch)
treed0f3129250e783d347c63f649b02880abf569c1d /proto
parentde86040b2cf4ec9bfbb64f0e208a19d4d7e51adc (diff)
Filters always allocate from tmp_linpool
Diffstat (limited to 'proto')
-rw-r--r--proto/mrt/mrt.c2
-rw-r--r--proto/static/static.c11
2 files changed, 2 insertions, 11 deletions
diff --git a/proto/mrt/mrt.c b/proto/mrt/mrt.c
index 760cfa73..c595f298 100644
--- a/proto/mrt/mrt.c
+++ b/proto/mrt/mrt.c
@@ -525,7 +525,7 @@ mrt_rib_table_dump(struct mrt_table_dump_state *s, net *n, int add_path)
continue;
}
- if (f_run(s->filter, &rt, s->linpool, 0) <= F_ACCEPT)
+ if (f_run(s->filter, &rt, 0) <= F_ACCEPT)
mrt_rib_table_entry(s, rt);
if (rt != rt0)
diff --git a/proto/static/static.c b/proto/static/static.c
index 3a0d9257..42febcd4 100644
--- a/proto/static/static.c
+++ b/proto/static/static.c
@@ -47,8 +47,6 @@
#include "static.h"
-static linpool *static_lp;
-
static inline struct rte_src * static_get_source(struct static_proto *p, uint i)
{ return i ? rt_get_source(&p->p, i) : p->p.main_source; }
@@ -114,7 +112,7 @@ static_announce_rte(struct static_proto *p, struct static_route *r)
net_copy(e->net->n.addr, r->net);
/* Evaluate the filter */
- f_eval_rte(r->cmds, &e, static_lp);
+ f_eval_rte(r->cmds, &e);
/* Remove the temporary node */
e->net = NULL;
@@ -122,10 +120,6 @@ static_announce_rte(struct static_proto *p, struct static_route *r)
rte_update2(p->p.main_channel, r->net, e, src);
r->state = SRS_CLEAN;
-
- if (r->cmds)
- lp_flush(static_lp);
-
return;
withdraw:
@@ -485,9 +479,6 @@ static_start(struct proto *P)
struct static_config *cf = (void *) P->cf;
struct static_route *r;
- if (!static_lp)
- static_lp = lp_new(&root_pool);
-
if (p->igp_table_ip4)
rt_lock_table(p->igp_table_ip4);