Lines Matching defs:sch
205 cbq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
207 struct cbq_sched_data *q = qdisc_priv(sch);
218 if (TC_H_MAJ(prio ^ sch->handle) == 0 &&
359 cbq_enqueue(struct sk_buff *skb, struct Qdisc *sch,
362 struct cbq_sched_data *q = qdisc_priv(sch);
364 struct cbq_class *cl = cbq_classify(skb, sch, &ret);
371 qdisc_qstats_drop(sch);
378 sch->q.qlen++;
386 qdisc_qstats_drop(sch);
483 struct Qdisc *sch = q->watchdog.qdisc;
515 __netif_schedule(qdisc_root(sch));
679 cbq_dequeue_prio(struct Qdisc *sch, int prio)
681 struct cbq_sched_data *q = qdisc_priv(sch);
782 cbq_dequeue_1(struct Qdisc *sch)
784 struct cbq_sched_data *q = qdisc_priv(sch);
792 skb = cbq_dequeue_prio(sch, prio);
800 cbq_dequeue(struct Qdisc *sch)
803 struct cbq_sched_data *q = qdisc_priv(sch);
816 skb = cbq_dequeue_1(sch);
818 qdisc_bstats_update(sch, skb);
819 sch->q.qlen--;
853 if (sch->q.qlen) {
854 qdisc_qstats_overlimit(sch);
1026 cbq_reset(struct Qdisc *sch)
1028 struct cbq_sched_data *q = qdisc_priv(sch);
1156 static int cbq_init(struct Qdisc *sch, struct nlattr *opt,
1159 struct cbq_sched_data *q = qdisc_priv(sch);
1164 qdisc_watchdog_init(&q->watchdog, sch);
1183 err = tcf_block_get(&q->link.block, &q->link.filter_list, sch, extack);
1192 q->link.common.classid = sch->handle;
1193 q->link.qdisc = sch;
1194 q->link.q = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops,
1195 sch->handle, NULL);
1204 q->link.allot = psched_mtu(qdisc_dev(sch));
1319 static int cbq_dump(struct Qdisc *sch, struct sk_buff *skb)
1321 struct cbq_sched_data *q = qdisc_priv(sch);
1337 cbq_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
1339 struct cbq_sched_data *q = qdisc_priv(sch);
1346 cbq_dump_class(struct Qdisc *sch, unsigned long arg,
1372 cbq_dump_class_stats(struct Qdisc *sch, unsigned long arg,
1375 struct cbq_sched_data *q = qdisc_priv(sch);
1386 if (gnet_stats_copy_basic(qdisc_root_sleeping_running(sch),
1395 static int cbq_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
1401 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops,
1407 *old = qdisc_replace(sch, new, &cl->q);
1411 static struct Qdisc *cbq_leaf(struct Qdisc *sch, unsigned long arg)
1418 static void cbq_qlen_notify(struct Qdisc *sch, unsigned long arg)
1425 static unsigned long cbq_find(struct Qdisc *sch, u32 classid)
1427 struct cbq_sched_data *q = qdisc_priv(sch);
1432 static void cbq_destroy_class(struct Qdisc *sch, struct cbq_class *cl)
1434 struct cbq_sched_data *q = qdisc_priv(sch);
1446 static void cbq_destroy(struct Qdisc *sch)
1448 struct cbq_sched_data *q = qdisc_priv(sch);
1470 cbq_destroy_class(sch, cl);
1476 cbq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, struct nlattr **tca,
1480 struct cbq_sched_data *q = qdisc_priv(sch);
1521 qdisc_root_sleeping_running(sch),
1531 sch_tree_lock(sch);
1555 sch_tree_unlock(sch);
1575 if (TC_H_MAJ(classid ^ sch->handle) ||
1582 classid = TC_H_MAKE(sch->handle, 0x8000);
1613 err = tcf_block_get(&cl->block, &cl->filter_list, sch, extack);
1622 qdisc_root_sleeping_running(sch),
1634 cl->q = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, classid,
1643 cl->qdisc = sch;
1648 sch_tree_lock(sch);
1665 sch_tree_unlock(sch);
1667 qdisc_class_hash_grow(sch, &q->clhash);
1677 static int cbq_delete(struct Qdisc *sch, unsigned long arg)
1679 struct cbq_sched_data *q = qdisc_priv(sch);
1685 sch_tree_lock(sch);
1709 sch_tree_unlock(sch);
1711 cbq_destroy_class(sch, cl);
1715 static struct tcf_block *cbq_tcf_block(struct Qdisc *sch, unsigned long arg,
1718 struct cbq_sched_data *q = qdisc_priv(sch);
1727 static unsigned long cbq_bind_filter(struct Qdisc *sch, unsigned long parent,
1730 struct cbq_sched_data *q = qdisc_priv(sch);
1743 static void cbq_unbind_filter(struct Qdisc *sch, unsigned long arg)
1750 static void cbq_walk(struct Qdisc *sch, struct qdisc_walker *arg)
1752 struct cbq_sched_data *q = qdisc_priv(sch);
1765 if (arg->fn(sch, (unsigned long)cl, arg) < 0) {