Lines Matching refs:f
136 struct cls_fl_filter *f; in fl_classify() local
177 f = rhashtable_lookup_fast(&head->ht, in fl_classify()
180 if (f && !tc_skip_sw(f->flags)) { in fl_classify()
181 *res = f->res; in fl_classify()
182 return tcf_exts_exec(skb, &f->exts, res); in fl_classify()
203 struct cls_fl_filter *f = container_of(head, struct cls_fl_filter, rcu); in fl_destroy_filter() local
205 tcf_exts_destroy(&f->exts); in fl_destroy_filter()
206 kfree(f); in fl_destroy_filter()
261 static void fl_hw_update_stats(struct tcf_proto *tp, struct cls_fl_filter *f) in fl_hw_update_stats() argument
271 offload.cookie = (unsigned long)f; in fl_hw_update_stats()
272 offload.exts = &f->exts; in fl_hw_update_stats()
301 struct cls_fl_filter *f, *next; in fl_destroy() local
306 list_for_each_entry_safe(f, next, &head->filters, list) { in fl_destroy()
307 fl_hw_destroy_filter(tp, (unsigned long)f); in fl_destroy()
308 list_del_rcu(&f->list); in fl_destroy()
309 call_rcu(&f->rcu, fl_destroy_filter); in fl_destroy()
320 struct cls_fl_filter *f; in fl_get() local
322 list_for_each_entry(f, &head->filters, list) in fl_get()
323 if (f->handle == handle) in fl_get()
324 return (unsigned long) f; in fl_get()
610 struct cls_fl_filter *f, struct fl_flow_mask *mask, in fl_set_parms() argument
625 f->res.classid = nla_get_u32(tb[TCA_FLOWER_CLASSID]); in fl_set_parms()
626 tcf_bind_filter(tp, &f->res, base); in fl_set_parms()
629 err = fl_set_key(net, tb, &f->key, &mask->key); in fl_set_parms()
634 fl_set_masked_key(&f->mkey, &f->key, mask); in fl_set_parms()
636 tcf_exts_change(tp, &f->exts, &e); in fl_set_parms()
766 struct cls_fl_filter *f = (struct cls_fl_filter *) arg; in fl_delete() local
768 if (!tc_skip_sw(f->flags)) in fl_delete()
769 rhashtable_remove_fast(&head->ht, &f->ht_node, in fl_delete()
771 list_del_rcu(&f->list); in fl_delete()
772 fl_hw_destroy_filter(tp, (unsigned long)f); in fl_delete()
773 tcf_unbind_filter(tp, &f->res); in fl_delete()
774 call_rcu(&f->rcu, fl_destroy_filter); in fl_delete()
781 struct cls_fl_filter *f; in fl_walk() local
783 list_for_each_entry_rcu(f, &head->filters, list) { in fl_walk()
786 if (arg->fn(tp, (unsigned long) f, arg) < 0) { in fl_walk()
841 struct cls_fl_filter *f = (struct cls_fl_filter *) fh; in fl_dump() local
845 if (!f) in fl_dump()
848 t->tcm_handle = f->handle; in fl_dump()
854 if (f->res.classid && in fl_dump()
855 nla_put_u32(skb, TCA_FLOWER_CLASSID, f->res.classid)) in fl_dump()
858 key = &f->key; in fl_dump()
869 fl_hw_update_stats(tp, f); in fl_dump()
953 nla_put_u32(skb, TCA_FLOWER_FLAGS, f->flags); in fl_dump()
955 if (tcf_exts_dump(skb, &f->exts)) in fl_dump()
960 if (tcf_exts_dump_stats(skb, &f->exts) < 0) in fl_dump()