Lines Matching refs:tp

131 static int rsvp_classify(struct sk_buff *skb, const struct tcf_proto *tp,  in rsvp_classify()  argument
134 struct rsvp_head *head = rcu_dereference_bh(tp->root); in rsvp_classify()
225 static void rsvp_replace(struct tcf_proto *tp, struct rsvp_filter *n, u32 h) in rsvp_replace() argument
227 struct rsvp_head *head = rtnl_dereference(tp->root); in rsvp_replace()
252 static unsigned long rsvp_get(struct tcf_proto *tp, u32 handle) in rsvp_get() argument
254 struct rsvp_head *head = rtnl_dereference(tp->root); in rsvp_get()
274 static int rsvp_init(struct tcf_proto *tp) in rsvp_init() argument
280 rcu_assign_pointer(tp->root, data); in rsvp_init()
294 static void rsvp_delete_filter(struct tcf_proto *tp, struct rsvp_filter *f) in rsvp_delete_filter() argument
296 tcf_unbind_filter(tp, &f->res); in rsvp_delete_filter()
304 static bool rsvp_destroy(struct tcf_proto *tp, bool force) in rsvp_destroy() argument
306 struct rsvp_head *data = rtnl_dereference(tp->root); in rsvp_destroy()
319 RCU_INIT_POINTER(tp->root, NULL); in rsvp_destroy()
332 rsvp_delete_filter(tp, f); in rsvp_destroy()
342 static int rsvp_delete(struct tcf_proto *tp, unsigned long arg) in rsvp_delete() argument
344 struct rsvp_head *head = rtnl_dereference(tp->root); in rsvp_delete()
357 rsvp_delete_filter(tp, f); in rsvp_delete()
382 static unsigned int gen_handle(struct tcf_proto *tp, unsigned salt) in gen_handle() argument
384 struct rsvp_head *data = rtnl_dereference(tp->root); in gen_handle()
393 if (rsvp_get(tp, h) == 0) in gen_handle()
465 struct tcf_proto *tp, unsigned long base, in rsvp_change() argument
470 struct rsvp_head *data = rtnl_dereference(tp->root); in rsvp_change()
491 err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &e, ovr); in rsvp_change()
513 tcf_bind_filter(tp, &n->res, base); in rsvp_change()
516 tcf_exts_change(tp, &n->exts, &e); in rsvp_change()
517 rsvp_replace(tp, n, handle); in rsvp_change()
551 if ((f->handle = gen_handle(tp, h1 | (h2<<8))) == 0) in rsvp_change()
585 tcf_bind_filter(tp, &f->res, base); in rsvp_change()
587 tcf_exts_change(tp, &f->exts, &e); in rsvp_change()
636 static void rsvp_walk(struct tcf_proto *tp, struct tcf_walker *arg) in rsvp_walk() argument
638 struct rsvp_head *head = rtnl_dereference(tp->root); in rsvp_walk()
658 if (arg->fn(tp, (unsigned long)f, arg) < 0) { in rsvp_walk()
669 static int rsvp_dump(struct net *net, struct tcf_proto *tp, unsigned long fh, in rsvp_dump() argument