Lines Matching defs:sch

80 	int (*enqueue)(struct sk_buff *skb, struct Qdisc *sch,
82 struct sk_buff *(*dequeue)(struct Qdisc *sch);
87 static int cbs_child_enqueue(struct sk_buff *skb, struct Qdisc *sch,
98 sch->qstats.backlog += len;
99 sch->q.qlen++;
104 static int cbs_enqueue_offload(struct sk_buff *skb, struct Qdisc *sch,
107 struct cbs_sched_data *q = qdisc_priv(sch);
110 return cbs_child_enqueue(skb, sch, qdisc, to_free);
113 static int cbs_enqueue_soft(struct sk_buff *skb, struct Qdisc *sch,
116 struct cbs_sched_data *q = qdisc_priv(sch);
119 if (sch->q.qlen == 0 && q->credits > 0) {
127 return cbs_child_enqueue(skb, sch, qdisc, to_free);
130 static int cbs_enqueue(struct sk_buff *skb, struct Qdisc *sch,
133 struct cbs_sched_data *q = qdisc_priv(sch);
135 return q->enqueue(skb, sch, to_free);
160 static struct sk_buff *cbs_child_dequeue(struct Qdisc *sch, struct Qdisc *child)
168 qdisc_qstats_backlog_dec(sch, skb);
169 qdisc_bstats_update(sch, skb);
170 sch->q.qlen--;
175 static struct sk_buff *cbs_dequeue_soft(struct Qdisc *sch)
177 struct cbs_sched_data *q = qdisc_priv(sch);
206 skb = cbs_child_dequeue(sch, qdisc);
230 static struct sk_buff *cbs_dequeue_offload(struct Qdisc *sch)
232 struct cbs_sched_data *q = qdisc_priv(sch);
235 return cbs_child_dequeue(sch, qdisc);
238 static struct sk_buff *cbs_dequeue(struct Qdisc *sch)
240 struct cbs_sched_data *q = qdisc_priv(sch);
242 return q->dequeue(sch);
360 static int cbs_change(struct Qdisc *sch, struct nlattr *opt,
363 struct cbs_sched_data *q = qdisc_priv(sch);
364 struct net_device *dev = qdisc_dev(sch);
400 static int cbs_init(struct Qdisc *sch, struct nlattr *opt,
403 struct cbs_sched_data *q = qdisc_priv(sch);
404 struct net_device *dev = qdisc_dev(sch);
411 q->qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops,
412 sch->handle, extack);
422 q->queue = sch->dev_queue - netdev_get_tx_queue(dev, 0);
427 qdisc_watchdog_init(&q->watchdog, sch);
429 return cbs_change(sch, opt, extack);
432 static void cbs_destroy(struct Qdisc *sch)
434 struct cbs_sched_data *q = qdisc_priv(sch);
435 struct net_device *dev = qdisc_dev(sch);
451 static int cbs_dump(struct Qdisc *sch, struct sk_buff *skb)
453 struct cbs_sched_data *q = qdisc_priv(sch);
477 static int cbs_dump_class(struct Qdisc *sch, unsigned long cl,
480 struct cbs_sched_data *q = qdisc_priv(sch);
491 static int cbs_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
494 struct cbs_sched_data *q = qdisc_priv(sch);
497 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops,
498 sch->handle, NULL);
503 *old = qdisc_replace(sch, new, &q->qdisc);
507 static struct Qdisc *cbs_leaf(struct Qdisc *sch, unsigned long arg)
509 struct cbs_sched_data *q = qdisc_priv(sch);
514 static unsigned long cbs_find(struct Qdisc *sch, u32 classid)
519 static void cbs_walk(struct Qdisc *sch, struct qdisc_walker *walker)
523 if (walker->fn(sch, 1, walker) < 0) {