Lines Matching defs:sch

30 multiq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
32 struct multiq_sched_data *q = qdisc_priv(sch);
60 multiq_enqueue(struct sk_buff *skb, struct Qdisc *sch,
66 qdisc = multiq_classify(skb, sch, &ret);
71 qdisc_qstats_drop(sch);
79 sch->q.qlen++;
83 qdisc_qstats_drop(sch);
87 static struct sk_buff *multiq_dequeue(struct Qdisc *sch)
89 struct multiq_sched_data *q = qdisc_priv(sch);
104 netdev_get_tx_queue(qdisc_dev(sch), q->curband))) {
108 qdisc_bstats_update(sch, skb);
109 sch->q.qlen--;
118 static struct sk_buff *multiq_peek(struct Qdisc *sch)
120 struct multiq_sched_data *q = qdisc_priv(sch);
136 netdev_get_tx_queue(qdisc_dev(sch), curband))) {
148 multiq_reset(struct Qdisc *sch)
151 struct multiq_sched_data *q = qdisc_priv(sch);
159 multiq_destroy(struct Qdisc *sch)
162 struct multiq_sched_data *q = qdisc_priv(sch);
171 static int multiq_tune(struct Qdisc *sch, struct nlattr *opt,
174 struct multiq_sched_data *q = qdisc_priv(sch);
179 if (!netif_is_multiqueue(qdisc_dev(sch)))
186 qopt->bands = qdisc_dev(sch)->real_num_tx_queues;
193 sch_tree_lock(sch);
205 sch_tree_unlock(sch);
214 child = qdisc_create_dflt(sch->dev_queue,
216 TC_H_MAKE(sch->handle,
219 sch_tree_lock(sch);
227 sch_tree_unlock(sch);
235 static int multiq_init(struct Qdisc *sch, struct nlattr *opt,
238 struct multiq_sched_data *q = qdisc_priv(sch);
246 err = tcf_block_get(&q->block, &q->filter_list, sch, extack);
250 q->max_bands = qdisc_dev(sch)->num_tx_queues;
258 return multiq_tune(sch, opt, extack);
261 static int multiq_dump(struct Qdisc *sch, struct sk_buff *skb)
263 struct multiq_sched_data *q = qdisc_priv(sch);
280 static int multiq_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
283 struct multiq_sched_data *q = qdisc_priv(sch);
289 *old = qdisc_replace(sch, new, &q->queues[band]);
294 multiq_leaf(struct Qdisc *sch, unsigned long arg)
296 struct multiq_sched_data *q = qdisc_priv(sch);
302 static unsigned long multiq_find(struct Qdisc *sch, u32 classid)
304 struct multiq_sched_data *q = qdisc_priv(sch);
312 static unsigned long multiq_bind(struct Qdisc *sch, unsigned long parent,
315 return multiq_find(sch, classid);
323 static int multiq_dump_class(struct Qdisc *sch, unsigned long cl,
326 struct multiq_sched_data *q = qdisc_priv(sch);
333 static int multiq_dump_class_stats(struct Qdisc *sch, unsigned long cl,
336 struct multiq_sched_data *q = qdisc_priv(sch);
347 static void multiq_walk(struct Qdisc *sch, struct qdisc_walker *arg)
349 struct multiq_sched_data *q = qdisc_priv(sch);
356 if (!tc_qdisc_stats_dump(sch, band + 1, arg))
361 static struct tcf_block *multiq_tcf_block(struct Qdisc *sch, unsigned long cl,
364 struct multiq_sched_data *q = qdisc_priv(sch);