Lines Matching defs:sch

831 qdisc_peek_len(struct Qdisc *sch)
836 skb = sch->ops->peek(sch);
838 qdisc_warn_nonwc("qdisc_peek_len", sch);
863 hfsc_find_class(u32 classid, struct Qdisc *sch)
865 struct hfsc_sched *q = qdisc_priv(sch);
920 hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
924 struct hfsc_sched *q = qdisc_priv(sch);
981 sch_tree_lock(sch);
1008 sch_tree_unlock(sch);
1018 parent = hfsc_find_class(parentid, sch);
1023 if (classid == 0 || TC_H_MAJ(classid ^ sch->handle) != 0)
1025 if (hfsc_find_class(classid, sch))
1035 err = tcf_block_get(&cl->block, &cl->filter_list, sch, extack);
1061 cl->qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops,
1071 sch_tree_lock(sch);
1083 sch_tree_unlock(sch);
1085 qdisc_class_hash_grow(sch, &q->clhash);
1092 hfsc_destroy_class(struct Qdisc *sch, struct hfsc_class *cl)
1094 struct hfsc_sched *q = qdisc_priv(sch);
1104 hfsc_delete_class(struct Qdisc *sch, unsigned long arg,
1107 struct hfsc_sched *q = qdisc_priv(sch);
1116 sch_tree_lock(sch);
1124 sch_tree_unlock(sch);
1126 hfsc_destroy_class(sch, cl);
1131 hfsc_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
1133 struct hfsc_sched *q = qdisc_priv(sch);
1139 if (TC_H_MAJ(skb->priority ^ sch->handle) == 0 &&
1140 (cl = hfsc_find_class(skb->priority, sch)) != NULL)
1161 cl = hfsc_find_class(res.classid, sch);
1177 cl = hfsc_find_class(TC_H_MAKE(TC_H_MAJ(sch->handle), q->defcls), sch);
1185 hfsc_graft_class(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
1193 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops,
1199 *old = qdisc_replace(sch, new, &cl->qdisc);
1204 hfsc_class_leaf(struct Qdisc *sch, unsigned long arg)
1215 hfsc_qlen_notify(struct Qdisc *sch, unsigned long arg)
1228 hfsc_search_class(struct Qdisc *sch, u32 classid)
1230 return (unsigned long)hfsc_find_class(classid, sch);
1234 hfsc_bind_tcf(struct Qdisc *sch, unsigned long parent, u32 classid)
1237 struct hfsc_class *cl = hfsc_find_class(classid, sch);
1249 hfsc_unbind_tcf(struct Qdisc *sch, unsigned long arg)
1256 static struct tcf_block *hfsc_tcf_block(struct Qdisc *sch, unsigned long arg,
1259 struct hfsc_sched *q = qdisc_priv(sch);
1307 hfsc_dump_class(struct Qdisc *sch, unsigned long arg, struct sk_buff *skb,
1332 hfsc_dump_class_stats(struct Qdisc *sch, unsigned long arg,
1356 hfsc_walk(struct Qdisc *sch, struct qdisc_walker *arg)
1358 struct hfsc_sched *q = qdisc_priv(sch);
1368 if (!tc_qdisc_stats_dump(sch, (unsigned long)cl, arg))
1375 hfsc_schedule_watchdog(struct Qdisc *sch)
1377 struct hfsc_sched *q = qdisc_priv(sch);
1393 hfsc_init_qdisc(struct Qdisc *sch, struct nlattr *opt,
1396 struct hfsc_sched *q = qdisc_priv(sch);
1400 qdisc_watchdog_init(&q->watchdog, sch);
1412 err = tcf_block_get(&q->root.block, &q->root.filter_list, sch, extack);
1417 q->root.cl_common.classid = sch->handle;
1419 q->root.qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops,
1420 sch->handle, NULL);
1430 qdisc_class_hash_grow(sch, &q->clhash);
1436 hfsc_change_qdisc(struct Qdisc *sch, struct nlattr *opt,
1439 struct hfsc_sched *q = qdisc_priv(sch);
1446 sch_tree_lock(sch);
1448 sch_tree_unlock(sch);
1484 hfsc_reset_qdisc(struct Qdisc *sch)
1486 struct hfsc_sched *q = qdisc_priv(sch);
1499 hfsc_destroy_qdisc(struct Qdisc *sch)
1501 struct hfsc_sched *q = qdisc_priv(sch);
1515 hfsc_destroy_class(sch, cl);
1522 hfsc_dump_qdisc(struct Qdisc *sch, struct sk_buff *skb)
1524 struct hfsc_sched *q = qdisc_priv(sch);
1539 hfsc_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free)
1546 cl = hfsc_classify(skb, sch, &err);
1549 qdisc_qstats_drop(sch);
1559 qdisc_qstats_drop(sch);
1579 sch->qstats.backlog += len;
1580 sch->q.qlen++;
1586 hfsc_dequeue(struct Qdisc *sch)
1588 struct hfsc_sched *q = qdisc_priv(sch);
1595 if (sch->q.qlen == 0)
1615 qdisc_qstats_overlimit(sch);
1616 hfsc_schedule_watchdog(sch);
1646 qdisc_bstats_update(sch, skb);
1647 qdisc_qstats_backlog_dec(sch, skb);
1648 sch->q.qlen--;