Lines Matching defs:sch
279 static int sfb_enqueue(struct sk_buff *skb, struct Qdisc *sch,
284 struct sfb_sched_data *q = qdisc_priv(sch);
296 if (unlikely(sch->q.qlen >= q->limit)) {
297 qdisc_qstats_overlimit(sch);
350 qdisc_qstats_overlimit(sch);
376 qdisc_qstats_overlimit(sch);
409 sch->qstats.backlog += len;
410 sch->q.qlen++;
414 qdisc_qstats_drop(sch);
419 qdisc_drop_reason(skb, sch, to_free, reason);
423 qdisc_qstats_drop(sch);
428 static struct sk_buff *sfb_dequeue(struct Qdisc *sch)
430 struct sfb_sched_data *q = qdisc_priv(sch);
437 qdisc_bstats_update(sch, skb);
438 qdisc_qstats_backlog_dec(sch, skb);
439 sch->q.qlen--;
446 static struct sk_buff *sfb_peek(struct Qdisc *sch)
448 struct sfb_sched_data *q = qdisc_priv(sch);
456 static void sfb_reset(struct Qdisc *sch)
458 struct sfb_sched_data *q = qdisc_priv(sch);
468 static void sfb_destroy(struct Qdisc *sch)
470 struct sfb_sched_data *q = qdisc_priv(sch);
492 static int sfb_change(struct Qdisc *sch, struct nlattr *opt,
495 struct sfb_sched_data *q = qdisc_priv(sch);
516 limit = qdisc_dev(sch)->tx_queue_len;
518 child = fifo_create_dflt(sch, &pfifo_qdisc_ops, limit, extack);
524 sch_tree_lock(sch);
549 sch_tree_unlock(sch);
555 static int sfb_init(struct Qdisc *sch, struct nlattr *opt,
558 struct sfb_sched_data *q = qdisc_priv(sch);
561 err = tcf_block_get(&q->block, &q->filter_list, sch, extack);
566 return sfb_change(sch, opt, extack);
569 static int sfb_dump(struct Qdisc *sch, struct sk_buff *skb)
571 struct sfb_sched_data *q = qdisc_priv(sch);
585 sch->qstats.backlog = q->qdisc->qstats.backlog;
598 static int sfb_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
600 struct sfb_sched_data *q = qdisc_priv(sch);
615 static int sfb_dump_class(struct Qdisc *sch, unsigned long cl,
621 static int sfb_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
624 struct sfb_sched_data *q = qdisc_priv(sch);
629 *old = qdisc_replace(sch, new, &q->qdisc);
633 static struct Qdisc *sfb_leaf(struct Qdisc *sch, unsigned long arg)
635 struct sfb_sched_data *q = qdisc_priv(sch);
640 static unsigned long sfb_find(struct Qdisc *sch, u32 classid)
645 static void sfb_unbind(struct Qdisc *sch, unsigned long arg)
649 static int sfb_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
656 static int sfb_delete(struct Qdisc *sch, unsigned long cl,
662 static void sfb_walk(struct Qdisc *sch, struct qdisc_walker *walker)
665 tc_qdisc_stats_dump(sch, 1, walker);
669 static struct tcf_block *sfb_tcf_block(struct Qdisc *sch, unsigned long cl,
672 struct sfb_sched_data *q = qdisc_priv(sch);
679 static unsigned long sfb_bind(struct Qdisc *sch, unsigned long parent,