Lines Matching defs:sch

73 	/* internal t(ime)fifo qdisc uses t_root and sch->limit */
360 static void tfifo_reset(struct Qdisc *sch)
362 struct netem_sched_data *q = qdisc_priv(sch);
378 static void tfifo_enqueue(struct sk_buff *nskb, struct Qdisc *sch)
380 struct netem_sched_data *q = qdisc_priv(sch);
405 sch->q.qlen++;
412 static struct sk_buff *netem_segment(struct sk_buff *skb, struct Qdisc *sch,
421 qdisc_drop(skb, sch, to_free);
434 static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch,
437 struct netem_sched_data *q = qdisc_priv(sch);
457 qdisc_qstats_drop(sch); /* mark packet */
462 qdisc_qstats_drop(sch);
479 struct Qdisc *rootq = qdisc_root_bh(sch);
496 skb = netem_segment(skb, sch, to_free);
506 qdisc_qstats_drop(sch);
511 qdisc_drop(skb, sch, to_free);
520 if (unlikely(sch->q.qlen >= sch->limit)) {
523 qdisc_drop_all(skb, sch, to_free);
527 qdisc_qstats_backlog_inc(sch, skb);
544 if (sch->q.tail)
545 last = netem_skb_cb(sch->q.tail);
581 tfifo_enqueue(skb, sch);
590 __qdisc_enqueue_head(skb, &sch->q);
591 sch->qstats.requeues++;
607 rc = qdisc_enqueue(segs, sch, to_free);
610 qdisc_qstats_drop(sch);
618 qdisc_tree_reduce_backlog(sch, -(nb - 1), -(len - prev_len));
676 static struct sk_buff *netem_dequeue(struct Qdisc *sch)
678 struct netem_sched_data *q = qdisc_priv(sch);
682 skb = __qdisc_dequeue_head(&sch->q);
684 qdisc_qstats_backlog_dec(sch, skb);
686 qdisc_bstats_update(sch, skb);
701 sch->q.qlen--;
702 qdisc_qstats_backlog_dec(sch, skb);
708 skb->dev = qdisc_dev(sch);
727 qdisc_qstats_drop(sch);
728 qdisc_tree_reduce_backlog(sch, 1, pkt_len);
754 static void netem_reset(struct Qdisc *sch)
756 struct netem_sched_data *q = qdisc_priv(sch);
758 qdisc_reset_queue(sch);
759 tfifo_reset(sch);
945 static int netem_change(struct Qdisc *sch, struct nlattr *opt,
948 struct netem_sched_data *q = qdisc_priv(sch);
977 sch_tree_lock(sch);
997 sch->limit = qopt->limit;
1045 sch_tree_unlock(sch);
1053 static int netem_init(struct Qdisc *sch, struct nlattr *opt,
1056 struct netem_sched_data *q = qdisc_priv(sch);
1059 qdisc_watchdog_init(&q->watchdog, sch);
1065 ret = netem_change(sch, opt, extack);
1071 static void netem_destroy(struct Qdisc *sch)
1073 struct netem_sched_data *q = qdisc_priv(sch);
1132 static int netem_dump(struct Qdisc *sch, struct sk_buff *skb)
1134 const struct netem_sched_data *q = qdisc_priv(sch);
1214 static int netem_dump_class(struct Qdisc *sch, unsigned long cl,
1217 struct netem_sched_data *q = qdisc_priv(sch);
1228 static int netem_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
1231 struct netem_sched_data *q = qdisc_priv(sch);
1233 *old = qdisc_replace(sch, new, &q->qdisc);
1237 static struct Qdisc *netem_leaf(struct Qdisc *sch, unsigned long arg)
1239 struct netem_sched_data *q = qdisc_priv(sch);
1243 static unsigned long netem_find(struct Qdisc *sch, u32 classid)
1248 static void netem_walk(struct Qdisc *sch, struct qdisc_walker *walker)
1252 if (walker->fn(sch, 1, walker) < 0) {