Lines Matching refs:f

46 	struct basic_filter *f;  in basic_classify()  local
48 list_for_each_entry_rcu(f, &head->flist, link) { in basic_classify()
49 __this_cpu_inc(f->pf->rcnt); in basic_classify()
50 if (!tcf_em_tree_match(skb, &f->ematches, NULL)) in basic_classify()
52 __this_cpu_inc(f->pf->rhit); in basic_classify()
53 *res = f->res; in basic_classify()
54 r = tcf_exts_exec(skb, &f->exts, res); in basic_classify()
65 struct basic_filter *f; in basic_get() local
67 list_for_each_entry(f, &head->flist, link) { in basic_get()
68 if (f->handle == handle) { in basic_get()
69 return f; in basic_get()
89 static void __basic_delete_filter(struct basic_filter *f) in __basic_delete_filter() argument
91 tcf_exts_destroy(&f->exts); in __basic_delete_filter()
92 tcf_em_tree_destroy(&f->ematches); in __basic_delete_filter()
93 tcf_exts_put_net(&f->exts); in __basic_delete_filter()
94 free_percpu(f->pf); in __basic_delete_filter()
95 kfree(f); in __basic_delete_filter()
100 struct basic_filter *f = container_of(to_rcu_work(work), in basic_delete_filter_work() local
104 __basic_delete_filter(f); in basic_delete_filter_work()
112 struct basic_filter *f, *n; in basic_destroy() local
114 list_for_each_entry_safe(f, n, &head->flist, link) { in basic_destroy()
115 list_del_rcu(&f->link); in basic_destroy()
116 tcf_unbind_filter(tp, &f->res); in basic_destroy()
117 idr_remove(&head->handle_idr, f->handle); in basic_destroy()
118 if (tcf_exts_get_net(&f->exts)) in basic_destroy()
119 tcf_queue_work(&f->rwork, basic_delete_filter_work); in basic_destroy()
121 __basic_delete_filter(f); in basic_destroy()
131 struct basic_filter *f = arg; in basic_delete() local
133 list_del_rcu(&f->link); in basic_delete()
134 tcf_unbind_filter(tp, &f->res); in basic_delete()
135 idr_remove(&head->handle_idr, f->handle); in basic_delete()
136 tcf_exts_get_net(&f->exts); in basic_delete()
137 tcf_queue_work(&f->rwork, basic_delete_filter_work); in basic_delete()
148 struct basic_filter *f, unsigned long base, in basic_set_parms() argument
155 err = tcf_exts_validate(net, tp, tb, est, &f->exts, flags, extack); in basic_set_parms()
159 err = tcf_em_tree_validate(tp, tb[TCA_BASIC_EMATCHES], &f->ematches); in basic_set_parms()
164 f->res.classid = nla_get_u32(tb[TCA_BASIC_CLASSID]); in basic_set_parms()
165 tcf_bind_filter(tp, &f->res, base); in basic_set_parms()
168 f->tp = tp; in basic_set_parms()
253 struct basic_filter *f; in basic_walk() local
255 list_for_each_entry(f, &head->flist, link) { in basic_walk()
256 if (!tc_cls_stats_dump(tp, arg, f)) in basic_walk()
264 struct basic_filter *f = fh; in basic_bind_class() local
266 tc_cls_bind_class(classid, cl, q, &f->res, base); in basic_bind_class()
273 struct basic_filter *f = fh; in basic_dump() local
277 if (f == NULL) in basic_dump()
280 t->tcm_handle = f->handle; in basic_dump()
286 if (f->res.classid && in basic_dump()
287 nla_put_u32(skb, TCA_BASIC_CLASSID, f->res.classid)) in basic_dump()
291 struct tc_basic_pcnt *pf = per_cpu_ptr(f->pf, cpu); in basic_dump()
302 if (tcf_exts_dump(skb, &f->exts) < 0 || in basic_dump()
303 tcf_em_tree_dump(skb, &f->ematches, TCA_BASIC_EMATCHES) < 0) in basic_dump()
308 if (tcf_exts_dump_stats(skb, &f->exts) < 0) in basic_dump()