• Home
  • Raw
  • Download

Lines Matching refs:p

57 static inline int dsmark_valid_index(struct dsmark_qdisc_data *p, u16 index)  in dsmark_valid_index()  argument
59 return index <= p->indices && index > 0; in dsmark_valid_index()
68 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_graft() local
71 __func__, sch, p, new, old); in dsmark_graft()
80 *old = qdisc_replace(sch, new, &p->q); in dsmark_graft()
86 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_leaf() local
87 return p->q; in dsmark_leaf()
120 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_change() local
126 __func__, sch, p, classid, parent, *arg); in dsmark_change()
128 if (!dsmark_valid_index(p, *arg)) { in dsmark_change()
142 p->mv[*arg - 1].value = nla_get_u8(tb[TCA_DSMARK_VALUE]); in dsmark_change()
145 p->mv[*arg - 1].mask = nla_get_u8(tb[TCA_DSMARK_MASK]); in dsmark_change()
156 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_delete() local
158 if (!dsmark_valid_index(p, arg)) in dsmark_delete()
161 p->mv[arg - 1].mask = 0xff; in dsmark_delete()
162 p->mv[arg - 1].value = 0; in dsmark_delete()
169 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_walk() local
173 __func__, sch, p, walker); in dsmark_walk()
178 for (i = 0; i < p->indices; i++) { in dsmark_walk()
179 if (p->mv[i].mask == 0xff && !p->mv[i].value) in dsmark_walk()
195 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_tcf_block() local
197 return p->block; in dsmark_tcf_block()
206 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_enqueue() local
209 pr_debug("%s(skb %p,sch %p,[qdisc %p])\n", __func__, skb, sch, p); in dsmark_enqueue()
211 if (p->set_tc_index) { in dsmark_enqueue()
244 struct tcf_proto *fl = rcu_dereference_bh(p->filter_list); in dsmark_enqueue()
265 if (p->default_index != NO_DEFAULT_INDEX) in dsmark_enqueue()
266 skb->tc_index = p->default_index; in dsmark_enqueue()
271 err = qdisc_enqueue(skb, p->q, to_free); in dsmark_enqueue()
290 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_dequeue() local
294 pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); in dsmark_dequeue()
296 skb = qdisc_dequeue_peeked(p->q); in dsmark_dequeue()
304 index = skb->tc_index & (p->indices - 1); in dsmark_dequeue()
309 ipv4_change_dsfield(ip_hdr(skb), p->mv[index].mask, in dsmark_dequeue()
310 p->mv[index].value); in dsmark_dequeue()
313 ipv6_change_dsfield(ipv6_hdr(skb), p->mv[index].mask, in dsmark_dequeue()
314 p->mv[index].value); in dsmark_dequeue()
322 if (p->mv[index].mask != 0xff || p->mv[index].value) in dsmark_dequeue()
333 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_peek() local
335 pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); in dsmark_peek()
337 return p->q->ops->peek(p->q); in dsmark_peek()
343 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_init() local
350 pr_debug("%s(sch %p,[qdisc %p],opt %p)\n", __func__, sch, p, opt); in dsmark_init()
355 err = tcf_block_get(&p->block, &p->filter_list, sch, extack); in dsmark_init()
376 p->mv = p->embedded; in dsmark_init()
378 p->mv = kmalloc_array(indices, sizeof(*p->mv), GFP_KERNEL); in dsmark_init()
379 if (!p->mv) { in dsmark_init()
384 p->mv[i].mask = 0xff; in dsmark_init()
385 p->mv[i].value = 0; in dsmark_init()
387 p->indices = indices; in dsmark_init()
388 p->default_index = default_index; in dsmark_init()
389 p->set_tc_index = nla_get_flag(tb[TCA_DSMARK_SET_TC_INDEX]); in dsmark_init()
391 p->q = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, sch->handle, in dsmark_init()
393 if (p->q == NULL) in dsmark_init()
394 p->q = &noop_qdisc; in dsmark_init()
396 qdisc_hash_add(p->q, true); in dsmark_init()
398 pr_debug("%s: qdisc %p\n", __func__, p->q); in dsmark_init()
407 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_reset() local
409 pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); in dsmark_reset()
410 if (p->q) in dsmark_reset()
411 qdisc_reset(p->q); in dsmark_reset()
416 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_destroy() local
418 pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); in dsmark_destroy()
420 tcf_block_put(p->block); in dsmark_destroy()
421 qdisc_put(p->q); in dsmark_destroy()
422 if (p->mv != p->embedded) in dsmark_destroy()
423 kfree(p->mv); in dsmark_destroy()
429 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_dump_class() local
432 pr_debug("%s(sch %p,[qdisc %p],class %ld\n", __func__, sch, p, cl); in dsmark_dump_class()
434 if (!dsmark_valid_index(p, cl)) in dsmark_dump_class()
438 tcm->tcm_info = p->q->handle; in dsmark_dump_class()
443 if (nla_put_u8(skb, TCA_DSMARK_MASK, p->mv[cl - 1].mask) || in dsmark_dump_class()
444 nla_put_u8(skb, TCA_DSMARK_VALUE, p->mv[cl - 1].value)) in dsmark_dump_class()
456 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_dump() local
462 if (nla_put_u16(skb, TCA_DSMARK_INDICES, p->indices)) in dsmark_dump()
465 if (p->default_index != NO_DEFAULT_INDEX && in dsmark_dump()
466 nla_put_u16(skb, TCA_DSMARK_DEFAULT_INDEX, p->default_index)) in dsmark_dump()
469 if (p->set_tc_index && in dsmark_dump()