• Home
  • Raw
  • Download

Lines Matching refs:tp

29 				    const struct tcf_proto *tp,  in mall_classify()  argument
32 struct cls_mall_head *head = rcu_dereference_bh(tp->root); in mall_classify()
45 static int mall_init(struct tcf_proto *tp) in mall_init() argument
68 static void mall_destroy_hw_filter(struct tcf_proto *tp, in mall_destroy_hw_filter() argument
74 struct tcf_block *block = tp->chain->block; in mall_destroy_hw_filter()
76 tc_cls_common_offload_init(&cls_mall.common, tp, head->flags, extack); in mall_destroy_hw_filter()
80 tc_setup_cb_destroy(block, tp, TC_SETUP_CLSMATCHALL, &cls_mall, false, in mall_destroy_hw_filter()
84 static int mall_replace_hw_filter(struct tcf_proto *tp, in mall_replace_hw_filter() argument
90 struct tcf_block *block = tp->chain->block; in mall_replace_hw_filter()
98 tc_cls_common_offload_init(&cls_mall.common, tp, head->flags, extack); in mall_replace_hw_filter()
106 mall_destroy_hw_filter(tp, head, cookie, NULL); in mall_replace_hw_filter()
111 err = tc_setup_cb_add(block, tp, TC_SETUP_CLSMATCHALL, &cls_mall, in mall_replace_hw_filter()
117 mall_destroy_hw_filter(tp, head, cookie, NULL); in mall_replace_hw_filter()
127 static void mall_destroy(struct tcf_proto *tp, bool rtnl_held, in mall_destroy() argument
130 struct cls_mall_head *head = rtnl_dereference(tp->root); in mall_destroy()
135 tcf_unbind_filter(tp, &head->res); in mall_destroy()
138 mall_destroy_hw_filter(tp, head, (unsigned long) head, extack); in mall_destroy()
146 static void *mall_get(struct tcf_proto *tp, u32 handle) in mall_get() argument
148 struct cls_mall_head *head = rtnl_dereference(tp->root); in mall_get()
163 struct tcf_proto *tp, unsigned long base, in mall_change() argument
168 struct cls_mall_head *head = rtnl_dereference(tp->root); in mall_change()
210 err = tcf_exts_validate_ex(net, tp, tb, tca[TCA_RATE], in mall_change()
217 tcf_bind_filter(tp, &new->res, base); in mall_change()
222 err = mall_replace_hw_filter(tp, new, (unsigned long)new, in mall_change()
232 rcu_assign_pointer(tp->root, new); in mall_change()
237 tcf_unbind_filter(tp, &new->res); in mall_change()
247 static int mall_delete(struct tcf_proto *tp, void *arg, bool *last, in mall_delete() argument
250 struct cls_mall_head *head = rtnl_dereference(tp->root); in mall_delete()
257 static void mall_walk(struct tcf_proto *tp, struct tcf_walker *arg, in mall_walk() argument
260 struct cls_mall_head *head = rtnl_dereference(tp->root); in mall_walk()
267 if (arg->fn(tp, head, arg) < 0) in mall_walk()
273 static int mall_reoffload(struct tcf_proto *tp, bool add, flow_setup_cb_t *cb, in mall_reoffload() argument
276 struct cls_mall_head *head = rtnl_dereference(tp->root); in mall_reoffload()
278 struct tcf_block *block = tp->chain->block; in mall_reoffload()
288 tc_cls_common_offload_init(&cls_mall.common, tp, head->flags, extack); in mall_reoffload()
301 err = tc_setup_cb_reoffload(block, tp, add, cb, TC_SETUP_CLSMATCHALL, in mall_reoffload()
310 static void mall_stats_hw_filter(struct tcf_proto *tp, in mall_stats_hw_filter() argument
315 struct tcf_block *block = tp->chain->block; in mall_stats_hw_filter()
317 tc_cls_common_offload_init(&cls_mall.common, tp, head->flags, NULL); in mall_stats_hw_filter()
326 static int mall_dump(struct net *net, struct tcf_proto *tp, void *fh, in mall_dump() argument
338 mall_stats_hw_filter(tp, head, (unsigned long)head); in mall_dump()