diff options
author | Pavel Machek <pavel@ucw.cz> | 2000-03-29 11:02:00 +0200 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2000-03-29 11:02:00 +0200 |
commit | 0a06a9b8b3dbd59c850303c49eea97c12e1ac0ff (patch) | |
tree | 12b400d160861aaee231becc25eb81f49d4372f4 /nest | |
parent | 8d2e3eba92e339f0635e0cb2fbfb49482b26295a (diff) | |
download | bird-0a06a9b8b3dbd59c850303c49eea97c12e1ac0ff.tar bird-0a06a9b8b3dbd59c850303c49eea97c12e1ac0ff.zip |
f_run gets one more parameter to distinguish between in and out modes.
Diffstat (limited to 'nest')
-rw-r--r-- | nest/rt-table.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c index d3fcf64..687e940 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -141,7 +141,7 @@ do_rte_announce(struct announce_hook *a, net *net, rte *new, rte *old, ea_list * else if (ok) rte_trace_out(D_FILTERS, p, new, "forced accept by protocol"); else if (p->out_filter == FILTER_REJECT || - p->out_filter && f_run(p->out_filter, &new, &tmpa, rte_update_pool) > F_ACCEPT) + p->out_filter && f_run(p->out_filter, &new, &tmpa, rte_update_pool, 0) > F_ACCEPT) { rte_trace_out(D_FILTERS, p, new, "filtered out"); new = NULL; @@ -155,7 +155,7 @@ do_rte_announce(struct announce_hook *a, net *net, rte *new, rte *old, ea_list * else { ea_list *tmpb = p->make_tmp_attrs ? p->make_tmp_attrs(old, rte_update_pool) : NULL; - if (f_run(p->out_filter, &old, &tmpb, rte_update_pool) > F_ACCEPT) + if (f_run(p->out_filter, &old, &tmpb, rte_update_pool, 0) > F_ACCEPT) old = NULL; } } @@ -387,7 +387,7 @@ rte_update(rtable *table, net *net, struct proto *p, rte *new) if (p->in_filter) { ea_list *old_tmpa = tmpa; - int fr = f_run(p->in_filter, &new, &tmpa, rte_update_pool); + int fr = f_run(p->in_filter, &new, &tmpa, rte_update_pool, 0); if (fr > F_ACCEPT) { rte_trace_in(D_FILTERS, p, new, "filtered out"); @@ -695,7 +695,7 @@ rt_show_net(struct cli *c, net *n, struct rt_show_data *d) struct ea_list *tmpa = NULL; ee = e; rte_update_lock(); /* We use the update buffer for filtering */ - if (d->filter == FILTER_ACCEPT || f_run(d->filter, &ee, &tmpa, rte_update_pool) <= F_ACCEPT) + if (d->filter == FILTER_ACCEPT || f_run(d->filter, &ee, &tmpa, rte_update_pool, 0) <= F_ACCEPT) { rt_show_rte(c, ia, e, d); ia[0] = 0; |