Lines Matching refs:tp

44 	struct tcf_proto	*tp;  member
279 static int flow_classify(struct sk_buff *skb, const struct tcf_proto *tp, in flow_classify() argument
282 struct flow_head *head = rcu_dereference_bh(tp->root); in flow_classify()
363 struct tcf_proto *tp, unsigned long base, in flow_change() argument
367 struct flow_head *head = rtnl_dereference(tp->root); in flow_change()
409 err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &e, ovr); in flow_change()
413 err = tcf_em_tree_validate(tp, tb[TCA_FLOW_EMATCHES], &t); in flow_change()
431 fnew->tp = fold->tp; in flow_change()
477 baseclass = TC_H_MAKE(tp->q->handle, baseclass); in flow_change()
483 fnew->tp = tp; in flow_change()
491 tcf_exts_change(tp, &fnew->exts, &e); in flow_change()
492 tcf_em_tree_change(tp, &fnew->ematches, &t); in flow_change()
494 netif_keep_dst(qdisc_dev(tp->q)); in flow_change()
540 static int flow_delete(struct tcf_proto *tp, unsigned long arg) in flow_delete() argument
549 static int flow_init(struct tcf_proto *tp) in flow_init() argument
557 rcu_assign_pointer(tp->root, head); in flow_init()
561 static bool flow_destroy(struct tcf_proto *tp, bool force) in flow_destroy() argument
563 struct flow_head *head = rtnl_dereference(tp->root); in flow_destroy()
573 RCU_INIT_POINTER(tp->root, NULL); in flow_destroy()
578 static unsigned long flow_get(struct tcf_proto *tp, u32 handle) in flow_get() argument
580 struct flow_head *head = rtnl_dereference(tp->root); in flow_get()
589 static int flow_dump(struct net *net, struct tcf_proto *tp, unsigned long fh, in flow_dump() argument
650 static void flow_walk(struct tcf_proto *tp, struct tcf_walker *arg) in flow_walk() argument
652 struct flow_head *head = rtnl_dereference(tp->root); in flow_walk()
658 if (arg->fn(tp, (unsigned long)f, arg) < 0) { in flow_walk()