Lines Matching refs:sch

279 static int sfb_enqueue(struct sk_buff *skb, struct Qdisc *sch)  in sfb_enqueue()  argument
282 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_enqueue()
292 if (unlikely(sch->q.qlen >= q->limit)) { in sfb_enqueue()
293 qdisc_qstats_overlimit(sch); in sfb_enqueue()
351 qdisc_qstats_overlimit(sch); in sfb_enqueue()
379 qdisc_qstats_overlimit(sch); in sfb_enqueue()
410 sch->q.qlen++; in sfb_enqueue()
414 qdisc_qstats_drop(sch); in sfb_enqueue()
419 qdisc_drop(skb, sch); in sfb_enqueue()
423 qdisc_qstats_drop(sch); in sfb_enqueue()
428 static struct sk_buff *sfb_dequeue(struct Qdisc *sch) in sfb_dequeue() argument
430 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_dequeue()
437 qdisc_bstats_update(sch, skb); in sfb_dequeue()
438 sch->q.qlen--; in sfb_dequeue()
445 static struct sk_buff *sfb_peek(struct Qdisc *sch) in sfb_peek() argument
447 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_peek()
455 static void sfb_reset(struct Qdisc *sch) in sfb_reset() argument
457 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_reset()
460 sch->q.qlen = 0; in sfb_reset()
467 static void sfb_destroy(struct Qdisc *sch) in sfb_destroy() argument
469 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_destroy()
491 static int sfb_change(struct Qdisc *sch, struct nlattr *opt) in sfb_change() argument
493 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_change()
513 limit = max_t(u32, qdisc_dev(sch)->tx_queue_len, 1); in sfb_change()
515 child = fifo_create_dflt(sch, &pfifo_qdisc_ops, limit); in sfb_change()
519 sch_tree_lock(sch); in sfb_change()
544 sch_tree_unlock(sch); in sfb_change()
549 static int sfb_init(struct Qdisc *sch, struct nlattr *opt) in sfb_init() argument
551 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_init()
554 return sfb_change(sch, opt); in sfb_init()
557 static int sfb_dump(struct Qdisc *sch, struct sk_buff *skb) in sfb_dump() argument
559 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_dump()
573 sch->qstats.backlog = q->qdisc->qstats.backlog; in sfb_dump()
586 static int sfb_dump_stats(struct Qdisc *sch, struct gnet_dump *d) in sfb_dump_stats() argument
588 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_dump_stats()
603 static int sfb_dump_class(struct Qdisc *sch, unsigned long cl, in sfb_dump_class() argument
609 static int sfb_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new, in sfb_graft() argument
612 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_graft()
617 sch_tree_lock(sch); in sfb_graft()
622 sch_tree_unlock(sch); in sfb_graft()
626 static struct Qdisc *sfb_leaf(struct Qdisc *sch, unsigned long arg) in sfb_leaf() argument
628 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_leaf()
633 static unsigned long sfb_get(struct Qdisc *sch, u32 classid) in sfb_get() argument
638 static void sfb_put(struct Qdisc *sch, unsigned long arg) in sfb_put() argument
642 static int sfb_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in sfb_change_class() argument
648 static int sfb_delete(struct Qdisc *sch, unsigned long cl) in sfb_delete() argument
653 static void sfb_walk(struct Qdisc *sch, struct qdisc_walker *walker) in sfb_walk() argument
657 if (walker->fn(sch, 1, walker) < 0) { in sfb_walk()
665 static struct tcf_proto __rcu **sfb_find_tcf(struct Qdisc *sch, in sfb_find_tcf() argument
668 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_find_tcf()
675 static unsigned long sfb_bind(struct Qdisc *sch, unsigned long parent, in sfb_bind() argument