Lines Matching defs:stab

476 	struct qdisc_size_table *stab;
507 list_for_each_entry(stab, &qdisc_stab_list, list) {
508 if (memcmp(&stab->szopts, s, sizeof(*s)))
510 if (tsize > 0 && memcmp(stab->data, tab, tsize * sizeof(u16)))
512 stab->refcnt++;
513 return stab;
522 stab = kmalloc(sizeof(*stab) + tsize * sizeof(u16), GFP_KERNEL);
523 if (!stab)
526 stab->refcnt = 1;
527 stab->szopts = *s;
529 memcpy(stab->data, tab, tsize * sizeof(u16));
531 list_add_tail(&stab->list, &qdisc_stab_list);
533 return stab;
548 static int qdisc_dump_stab(struct sk_buff *skb, struct qdisc_size_table *stab)
555 if (nla_put(skb, TCA_STAB_BASE, sizeof(stab->szopts), &stab->szopts))
566 const struct qdisc_size_table *stab)
570 pkt_len = skb->len + stab->szopts.overhead;
571 if (unlikely(!stab->szopts.tsize))
574 slot = pkt_len + stab->szopts.cell_align;
578 slot >>= stab->szopts.cell_log;
579 if (likely(slot < stab->szopts.tsize))
580 pkt_len = stab->data[slot];
582 pkt_len = stab->data[stab->szopts.tsize - 1] *
583 (slot / stab->szopts.tsize) +
584 stab->data[slot % stab->szopts.tsize];
586 pkt_len <<= stab->szopts.size_log;
893 struct qdisc_size_table *stab;
929 stab = rtnl_dereference(q->stab);
930 if (stab && qdisc_dump_stab(skb, stab) < 0)
1180 struct qdisc_size_table *stab;
1270 stab = qdisc_get_stab(tca[TCA_STAB], extack);
1271 if (IS_ERR(stab)) {
1272 err = PTR_ERR(stab);
1275 rcu_assign_pointer(sch->stab, stab);
1328 qdisc_put_stab(rtnl_dereference(sch->stab));
1337 struct qdisc_size_table *ostab, *stab = NULL;
1355 stab = qdisc_get_stab(tca[TCA_STAB], extack);
1356 if (IS_ERR(stab))
1357 return PTR_ERR(stab);
1360 ostab = rtnl_dereference(sch->stab);
1361 rcu_assign_pointer(sch->stab, stab);