• Home
  • Raw
  • Download

Lines Matching refs:stab

333 	struct qdisc_size_table *stab;  in qdisc_get_stab()  local
359 list_for_each_entry(stab, &qdisc_stab_list, list) { in qdisc_get_stab()
360 if (memcmp(&stab->szopts, s, sizeof(*s))) in qdisc_get_stab()
362 if (tsize > 0 && memcmp(stab->data, tab, tsize * sizeof(u16))) in qdisc_get_stab()
364 stab->refcnt++; in qdisc_get_stab()
366 return stab; in qdisc_get_stab()
371 stab = kmalloc(sizeof(*stab) + tsize * sizeof(u16), GFP_KERNEL); in qdisc_get_stab()
372 if (!stab) in qdisc_get_stab()
375 stab->refcnt = 1; in qdisc_get_stab()
376 stab->szopts = *s; in qdisc_get_stab()
378 memcpy(stab->data, tab, tsize * sizeof(u16)); in qdisc_get_stab()
381 list_add_tail(&stab->list, &qdisc_stab_list); in qdisc_get_stab()
384 return stab; in qdisc_get_stab()
403 static int qdisc_dump_stab(struct sk_buff *skb, struct qdisc_size_table *stab) in qdisc_dump_stab() argument
410 NLA_PUT(skb, TCA_STAB_BASE, sizeof(stab->szopts), &stab->szopts); in qdisc_dump_stab()
419 void qdisc_calculate_pkt_len(struct sk_buff *skb, struct qdisc_size_table *stab) in qdisc_calculate_pkt_len() argument
423 pkt_len = skb->len + stab->szopts.overhead; in qdisc_calculate_pkt_len()
424 if (unlikely(!stab->szopts.tsize)) in qdisc_calculate_pkt_len()
427 slot = pkt_len + stab->szopts.cell_align; in qdisc_calculate_pkt_len()
431 slot >>= stab->szopts.cell_log; in qdisc_calculate_pkt_len()
432 if (likely(slot < stab->szopts.tsize)) in qdisc_calculate_pkt_len()
433 pkt_len = stab->data[slot]; in qdisc_calculate_pkt_len()
435 pkt_len = stab->data[stab->szopts.tsize - 1] * in qdisc_calculate_pkt_len()
436 (slot / stab->szopts.tsize) + in qdisc_calculate_pkt_len()
437 stab->data[slot % stab->szopts.tsize]; in qdisc_calculate_pkt_len()
439 pkt_len <<= stab->szopts.size_log; in qdisc_calculate_pkt_len()
753 struct qdisc_size_table *stab; in qdisc_create() local
814 stab = qdisc_get_stab(tca[TCA_STAB]); in qdisc_create()
815 if (IS_ERR(stab)) { in qdisc_create()
816 err = PTR_ERR(stab); in qdisc_create()
819 sch->stab = stab; in qdisc_create()
849 qdisc_put_stab(sch->stab); in qdisc_create()
861 struct qdisc_size_table *stab = NULL; in qdisc_change() local
873 stab = qdisc_get_stab(tca[TCA_STAB]); in qdisc_change()
874 if (IS_ERR(stab)) in qdisc_change()
875 return PTR_ERR(stab); in qdisc_change()
878 qdisc_put_stab(sch->stab); in qdisc_change()
879 sch->stab = stab; in qdisc_change()
1161 if (q->stab && qdisc_dump_stab(skb, q->stab) < 0) in tc_fill_qdisc()