Lines Matching refs:sch
34 prio_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in prio_classify() argument
36 struct prio_sched_data *q = qdisc_priv(sch); in prio_classify()
43 if (TC_H_MAJ(skb->priority) != sch->handle) { in prio_classify()
70 prio_enqueue(struct sk_buff *skb, struct Qdisc *sch) in prio_enqueue() argument
75 qdisc = prio_classify(skb, sch, &ret); in prio_enqueue()
80 qdisc_qstats_drop(sch); in prio_enqueue()
88 sch->q.qlen++; in prio_enqueue()
92 qdisc_qstats_drop(sch); in prio_enqueue()
96 static struct sk_buff *prio_peek(struct Qdisc *sch) in prio_peek() argument
98 struct prio_sched_data *q = qdisc_priv(sch); in prio_peek()
110 static struct sk_buff *prio_dequeue(struct Qdisc *sch) in prio_dequeue() argument
112 struct prio_sched_data *q = qdisc_priv(sch); in prio_dequeue()
119 qdisc_bstats_update(sch, skb); in prio_dequeue()
120 sch->q.qlen--; in prio_dequeue()
128 static unsigned int prio_drop(struct Qdisc *sch) in prio_drop() argument
130 struct prio_sched_data *q = qdisc_priv(sch); in prio_drop()
138 sch->q.qlen--; in prio_drop()
147 prio_reset(struct Qdisc *sch) in prio_reset() argument
150 struct prio_sched_data *q = qdisc_priv(sch); in prio_reset()
154 sch->q.qlen = 0; in prio_reset()
158 prio_destroy(struct Qdisc *sch) in prio_destroy() argument
161 struct prio_sched_data *q = qdisc_priv(sch); in prio_destroy()
168 static int prio_tune(struct Qdisc *sch, struct nlattr *opt) in prio_tune() argument
170 struct prio_sched_data *q = qdisc_priv(sch); in prio_tune()
186 sch_tree_lock(sch); in prio_tune()
198 sch_tree_unlock(sch); in prio_tune()
204 child = qdisc_create_dflt(sch->dev_queue, in prio_tune()
206 TC_H_MAKE(sch->handle, i + 1)); in prio_tune()
208 sch_tree_lock(sch); in prio_tune()
218 sch_tree_unlock(sch); in prio_tune()
225 static int prio_init(struct Qdisc *sch, struct nlattr *opt) in prio_init() argument
227 struct prio_sched_data *q = qdisc_priv(sch); in prio_init()
238 if ((err = prio_tune(sch, opt)) != 0) in prio_init()
244 static int prio_dump(struct Qdisc *sch, struct sk_buff *skb) in prio_dump() argument
246 struct prio_sched_data *q = qdisc_priv(sch); in prio_dump()
263 static int prio_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new, in prio_graft() argument
266 struct prio_sched_data *q = qdisc_priv(sch); in prio_graft()
272 *old = qdisc_replace(sch, new, &q->queues[band]); in prio_graft()
277 prio_leaf(struct Qdisc *sch, unsigned long arg) in prio_leaf() argument
279 struct prio_sched_data *q = qdisc_priv(sch); in prio_leaf()
285 static unsigned long prio_get(struct Qdisc *sch, u32 classid) in prio_get() argument
287 struct prio_sched_data *q = qdisc_priv(sch); in prio_get()
295 static unsigned long prio_bind(struct Qdisc *sch, unsigned long parent, u32 classid) in prio_bind() argument
297 return prio_get(sch, classid); in prio_bind()
305 static int prio_dump_class(struct Qdisc *sch, unsigned long cl, struct sk_buff *skb, in prio_dump_class() argument
308 struct prio_sched_data *q = qdisc_priv(sch); in prio_dump_class()
315 static int prio_dump_class_stats(struct Qdisc *sch, unsigned long cl, in prio_dump_class_stats() argument
318 struct prio_sched_data *q = qdisc_priv(sch); in prio_dump_class_stats()
329 static void prio_walk(struct Qdisc *sch, struct qdisc_walker *arg) in prio_walk() argument
331 struct prio_sched_data *q = qdisc_priv(sch); in prio_walk()
342 if (arg->fn(sch, prio + 1, arg) < 0) { in prio_walk()
350 static struct tcf_proto __rcu **prio_find_tcf(struct Qdisc *sch, in prio_find_tcf() argument
353 struct prio_sched_data *q = qdisc_priv(sch); in prio_find_tcf()