Lines Matching refs:sch
278 static int sfb_enqueue(struct sk_buff *skb, struct Qdisc *sch) in sfb_enqueue() argument
281 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_enqueue()
291 if (unlikely(sch->q.qlen >= q->limit)) { in sfb_enqueue()
292 qdisc_qstats_overlimit(sch); in sfb_enqueue()
345 qdisc_qstats_overlimit(sch); in sfb_enqueue()
371 qdisc_qstats_overlimit(sch); in sfb_enqueue()
402 sch->q.qlen++; in sfb_enqueue()
406 qdisc_qstats_drop(sch); in sfb_enqueue()
411 qdisc_drop(skb, sch); in sfb_enqueue()
415 qdisc_qstats_drop(sch); in sfb_enqueue()
420 static struct sk_buff *sfb_dequeue(struct Qdisc *sch) in sfb_dequeue() argument
422 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_dequeue()
429 qdisc_bstats_update(sch, skb); in sfb_dequeue()
430 sch->q.qlen--; in sfb_dequeue()
437 static struct sk_buff *sfb_peek(struct Qdisc *sch) in sfb_peek() argument
439 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_peek()
447 static void sfb_reset(struct Qdisc *sch) in sfb_reset() argument
449 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_reset()
452 sch->q.qlen = 0; in sfb_reset()
459 static void sfb_destroy(struct Qdisc *sch) in sfb_destroy() argument
461 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_destroy()
483 static int sfb_change(struct Qdisc *sch, struct nlattr *opt) in sfb_change() argument
485 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_change()
505 limit = qdisc_dev(sch)->tx_queue_len; in sfb_change()
507 child = fifo_create_dflt(sch, &pfifo_qdisc_ops, limit); in sfb_change()
511 sch_tree_lock(sch); in sfb_change()
537 sch_tree_unlock(sch); in sfb_change()
542 static int sfb_init(struct Qdisc *sch, struct nlattr *opt) in sfb_init() argument
544 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_init()
547 return sfb_change(sch, opt); in sfb_init()
550 static int sfb_dump(struct Qdisc *sch, struct sk_buff *skb) in sfb_dump() argument
552 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_dump()
566 sch->qstats.backlog = q->qdisc->qstats.backlog; in sfb_dump()
579 static int sfb_dump_stats(struct Qdisc *sch, struct gnet_dump *d) in sfb_dump_stats() argument
581 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_dump_stats()
596 static int sfb_dump_class(struct Qdisc *sch, unsigned long cl, in sfb_dump_class() argument
602 static int sfb_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new, in sfb_graft() argument
605 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_graft()
610 *old = qdisc_replace(sch, new, &q->qdisc); in sfb_graft()
614 static struct Qdisc *sfb_leaf(struct Qdisc *sch, unsigned long arg) in sfb_leaf() argument
616 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_leaf()
621 static unsigned long sfb_get(struct Qdisc *sch, u32 classid) in sfb_get() argument
626 static void sfb_put(struct Qdisc *sch, unsigned long arg) in sfb_put() argument
630 static int sfb_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in sfb_change_class() argument
636 static int sfb_delete(struct Qdisc *sch, unsigned long cl) in sfb_delete() argument
641 static void sfb_walk(struct Qdisc *sch, struct qdisc_walker *walker) in sfb_walk() argument
645 if (walker->fn(sch, 1, walker) < 0) { in sfb_walk()
653 static struct tcf_proto __rcu **sfb_find_tcf(struct Qdisc *sch, in sfb_find_tcf() argument
656 struct sfb_sched_data *q = qdisc_priv(sch); in sfb_find_tcf()
663 static unsigned long sfb_bind(struct Qdisc *sch, unsigned long parent, in sfb_bind() argument