Lines Matching refs:sch
63 static int dsmark_graft(struct Qdisc *sch, unsigned long arg, in dsmark_graft() argument
67 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_graft()
70 __func__, sch, p, new, old); in dsmark_graft()
73 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in dsmark_graft()
74 sch->handle, NULL); in dsmark_graft()
79 *old = qdisc_replace(sch, new, &p->q); in dsmark_graft()
83 static struct Qdisc *dsmark_leaf(struct Qdisc *sch, unsigned long arg) in dsmark_leaf() argument
85 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_leaf()
89 static unsigned long dsmark_find(struct Qdisc *sch, u32 classid) in dsmark_find() argument
94 static unsigned long dsmark_bind_filter(struct Qdisc *sch, in dsmark_bind_filter() argument
98 __func__, sch, qdisc_priv(sch), classid); in dsmark_bind_filter()
100 return dsmark_find(sch, classid); in dsmark_bind_filter()
103 static void dsmark_unbind_filter(struct Qdisc *sch, unsigned long cl) in dsmark_unbind_filter() argument
115 static int dsmark_change(struct Qdisc *sch, u32 classid, u32 parent, in dsmark_change() argument
119 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_change()
125 __func__, sch, p, classid, parent, *arg); in dsmark_change()
151 static int dsmark_delete(struct Qdisc *sch, unsigned long arg) in dsmark_delete() argument
153 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_delete()
164 static void dsmark_walk(struct Qdisc *sch, struct qdisc_walker *walker) in dsmark_walk() argument
166 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_walk()
170 __func__, sch, p, walker); in dsmark_walk()
179 if (walker->fn(sch, i + 1, walker) < 0) { in dsmark_walk()
189 static struct tcf_block *dsmark_tcf_block(struct Qdisc *sch, unsigned long cl, in dsmark_tcf_block() argument
192 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_tcf_block()
199 static int dsmark_enqueue(struct sk_buff *skb, struct Qdisc *sch, in dsmark_enqueue() argument
202 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_enqueue()
205 pr_debug("%s(skb %p,sch %p,[qdisc %p])\n", __func__, skb, sch, p); in dsmark_enqueue()
236 if (TC_H_MAJ(skb->priority) == sch->handle) in dsmark_enqueue()
270 qdisc_qstats_drop(sch); in dsmark_enqueue()
274 qdisc_qstats_backlog_inc(sch, skb); in dsmark_enqueue()
275 sch->q.qlen++; in dsmark_enqueue()
280 qdisc_drop(skb, sch, to_free); in dsmark_enqueue()
284 static struct sk_buff *dsmark_dequeue(struct Qdisc *sch) in dsmark_dequeue() argument
286 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_dequeue()
290 pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); in dsmark_dequeue()
296 qdisc_bstats_update(sch, skb); in dsmark_dequeue()
297 qdisc_qstats_backlog_dec(sch, skb); in dsmark_dequeue()
298 sch->q.qlen--; in dsmark_dequeue()
327 static struct sk_buff *dsmark_peek(struct Qdisc *sch) in dsmark_peek() argument
329 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_peek()
331 pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); in dsmark_peek()
336 static int dsmark_init(struct Qdisc *sch, struct nlattr *opt, in dsmark_init() argument
339 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_init()
346 pr_debug("%s(sch %p,[qdisc %p],opt %p)\n", __func__, sch, p, opt); in dsmark_init()
351 err = tcf_block_get(&p->block, &p->filter_list, sch, extack); in dsmark_init()
384 p->q = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, sch->handle, in dsmark_init()
398 static void dsmark_reset(struct Qdisc *sch) in dsmark_reset() argument
400 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_reset()
402 pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); in dsmark_reset()
404 sch->qstats.backlog = 0; in dsmark_reset()
405 sch->q.qlen = 0; in dsmark_reset()
408 static void dsmark_destroy(struct Qdisc *sch) in dsmark_destroy() argument
410 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_destroy()
412 pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); in dsmark_destroy()
420 static int dsmark_dump_class(struct Qdisc *sch, unsigned long cl, in dsmark_dump_class() argument
423 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_dump_class()
426 pr_debug("%s(sch %p,[qdisc %p],class %ld\n", __func__, sch, p, cl); in dsmark_dump_class()
431 tcm->tcm_handle = TC_H_MAKE(TC_H_MAJ(sch->handle), cl - 1); in dsmark_dump_class()
448 static int dsmark_dump(struct Qdisc *sch, struct sk_buff *skb) in dsmark_dump() argument
450 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_dump()