Lines Matching refs:tp
59 struct tcf_proto *tp; member
128 static int route4_classify(struct sk_buff *skb, const struct tcf_proto *tp, in route4_classify() argument
131 struct route4_head *head = rcu_dereference_bh(tp->root); in route4_classify()
200 !(TC_H_MAJ(id^tp->q->handle)))) { in route4_classify()
230 static unsigned long route4_get(struct tcf_proto *tp, u32 handle) in route4_get() argument
232 struct route4_head *head = rtnl_dereference(tp->root); in route4_get()
259 static int route4_init(struct tcf_proto *tp) in route4_init() argument
267 rcu_assign_pointer(tp->root, head); in route4_init()
280 static bool route4_destroy(struct tcf_proto *tp, bool force) in route4_destroy() argument
282 struct route4_head *head = rtnl_dereference(tp->root); in route4_destroy()
308 tcf_unbind_filter(tp, &f->res); in route4_destroy()
316 RCU_INIT_POINTER(tp->root, NULL); in route4_destroy()
321 static int route4_delete(struct tcf_proto *tp, unsigned long arg) in route4_delete() argument
323 struct route4_head *head = rtnl_dereference(tp->root); in route4_delete()
351 tcf_unbind_filter(tp, &f->res); in route4_delete()
380 static int route4_set_parms(struct net *net, struct tcf_proto *tp, in route4_set_parms() argument
394 err = tcf_exts_validate(net, tp, tb, est, &e, ovr); in route4_set_parms()
459 f->tp = tp; in route4_set_parms()
463 tcf_bind_filter(tp, &f->res, base); in route4_set_parms()
466 tcf_exts_change(tp, &f->exts, &e); in route4_set_parms()
475 struct tcf_proto *tp, unsigned long base, in route4_change() argument
480 struct route4_head *head = rtnl_dereference(tp->root); in route4_change()
513 f->tp = fold->tp; in route4_change()
518 err = route4_set_parms(net, tp, base, f, handle, head, tb, in route4_change()
531 netif_keep_dst(qdisc_dev(tp->q)); in route4_change()
554 tcf_unbind_filter(tp, &fold->res); in route4_change()
564 static void route4_walk(struct tcf_proto *tp, struct tcf_walker *arg) in route4_walk() argument
566 struct route4_head *head = rtnl_dereference(tp->root); in route4_walk()
589 if (arg->fn(tp, (unsigned long)f, arg) < 0) { in route4_walk()
600 static int route4_dump(struct net *net, struct tcf_proto *tp, unsigned long fh, in route4_dump() argument