Lines Matching defs:sch

130 	u32		   quantum;        /* psched_mtu(qdisc_dev(sch)); */
263 static enum wdrr_bucket_idx hhf_classify(struct sk_buff *skb, struct Qdisc *sch)
265 struct hhf_sched_data *q = qdisc_priv(sch);
365 static unsigned int hhf_drop(struct Qdisc *sch)
367 struct hhf_sched_data *q = qdisc_priv(sch);
378 sch->q.qlen--;
379 qdisc_qstats_drop(sch);
380 qdisc_qstats_backlog_dec(sch, skb);
388 static int hhf_enqueue(struct sk_buff *skb, struct Qdisc *sch)
390 struct hhf_sched_data *q = qdisc_priv(sch);
394 idx = hhf_classify(skb, sch);
398 qdisc_qstats_backlog_inc(sch, skb);
417 if (++sch->q.qlen <= sch->limit)
424 if (hhf_drop(sch) == idx)
428 qdisc_tree_decrease_qlen(sch, 1);
432 static struct sk_buff *hhf_dequeue(struct Qdisc *sch)
434 struct hhf_sched_data *q = qdisc_priv(sch);
459 sch->q.qlen--;
460 qdisc_qstats_backlog_dec(sch, skb);
471 qdisc_bstats_update(sch, skb);
477 static void hhf_reset(struct Qdisc *sch)
481 while ((skb = hhf_dequeue(sch)) != NULL)
500 static void hhf_destroy(struct Qdisc *sch)
503 struct hhf_sched_data *q = qdisc_priv(sch);
534 static int hhf_change(struct Qdisc *sch, struct nlattr *opt)
536 struct hhf_sched_data *q = qdisc_priv(sch);
561 sch_tree_lock(sch);
564 sch->limit = nla_get_u32(tb[TCA_HHF_BACKLOG_LIMIT]);
587 qlen = sch->q.qlen;
588 while (sch->q.qlen > sch->limit) {
589 struct sk_buff *skb = hhf_dequeue(sch);
593 qdisc_tree_decrease_qlen(sch, qlen - sch->q.qlen);
595 sch_tree_unlock(sch);
599 static int hhf_init(struct Qdisc *sch, struct nlattr *opt)
601 struct hhf_sched_data *q = qdisc_priv(sch);
604 sch->limit = 1000;
605 q->quantum = psched_mtu(qdisc_dev(sch));
617 int err = hhf_change(sch, opt);
643 hhf_destroy(sch);
654 hhf_destroy(sch);
670 static int hhf_dump(struct Qdisc *sch, struct sk_buff *skb)
672 struct hhf_sched_data *q = qdisc_priv(sch);
679 if (nla_put_u32(skb, TCA_HHF_BACKLOG_LIMIT, sch->limit) ||
696 static int hhf_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
698 struct hhf_sched_data *q = qdisc_priv(sch);