Lines Matching defs:sch

279 static int sfb_enqueue(struct sk_buff *skb, struct Qdisc *sch,
283 struct sfb_sched_data *q = qdisc_priv(sch);
295 if (unlikely(sch->q.qlen >= q->limit)) {
296 qdisc_qstats_overlimit(sch);
349 qdisc_qstats_overlimit(sch);
375 qdisc_qstats_overlimit(sch);
407 sch->qstats.backlog += len;
408 sch->q.qlen++;
412 qdisc_qstats_drop(sch);
417 qdisc_drop(skb, sch, to_free);
421 qdisc_qstats_drop(sch);
426 static struct sk_buff *sfb_dequeue(struct Qdisc *sch)
428 struct sfb_sched_data *q = qdisc_priv(sch);
435 qdisc_bstats_update(sch, skb);
436 qdisc_qstats_backlog_dec(sch, skb);
437 sch->q.qlen--;
444 static struct sk_buff *sfb_peek(struct Qdisc *sch)
446 struct sfb_sched_data *q = qdisc_priv(sch);
454 static void sfb_reset(struct Qdisc *sch)
456 struct sfb_sched_data *q = qdisc_priv(sch);
466 static void sfb_destroy(struct Qdisc *sch)
468 struct sfb_sched_data *q = qdisc_priv(sch);
490 static int sfb_change(struct Qdisc *sch, struct nlattr *opt,
493 struct sfb_sched_data *q = qdisc_priv(sch);
514 limit = qdisc_dev(sch)->tx_queue_len;
516 child = fifo_create_dflt(sch, &pfifo_qdisc_ops, limit, extack);
522 sch_tree_lock(sch);
547 sch_tree_unlock(sch);
553 static int sfb_init(struct Qdisc *sch, struct nlattr *opt,
556 struct sfb_sched_data *q = qdisc_priv(sch);
559 err = tcf_block_get(&q->block, &q->filter_list, sch, extack);
564 return sfb_change(sch, opt, extack);
567 static int sfb_dump(struct Qdisc *sch, struct sk_buff *skb)
569 struct sfb_sched_data *q = qdisc_priv(sch);
583 sch->qstats.backlog = q->qdisc->qstats.backlog;
596 static int sfb_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
598 struct sfb_sched_data *q = qdisc_priv(sch);
613 static int sfb_dump_class(struct Qdisc *sch, unsigned long cl,
619 static int sfb_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
622 struct sfb_sched_data *q = qdisc_priv(sch);
627 *old = qdisc_replace(sch, new, &q->qdisc);
631 static struct Qdisc *sfb_leaf(struct Qdisc *sch, unsigned long arg)
633 struct sfb_sched_data *q = qdisc_priv(sch);
638 static unsigned long sfb_find(struct Qdisc *sch, u32 classid)
643 static void sfb_unbind(struct Qdisc *sch, unsigned long arg)
647 static int sfb_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
654 static int sfb_delete(struct Qdisc *sch, unsigned long cl)
659 static void sfb_walk(struct Qdisc *sch, struct qdisc_walker *walker)
663 if (walker->fn(sch, 1, walker) < 0) {
671 static struct tcf_block *sfb_tcf_block(struct Qdisc *sch, unsigned long cl,
674 struct sfb_sched_data *q = qdisc_priv(sch);
681 static unsigned long sfb_bind(struct Qdisc *sch, unsigned long parent,