Lines Matching refs:perfect
48 struct tcindex_filter_result *perfect; /* perfect hash; NULL if none */ member
73 kfree(p->perfect); in tcindex_data_put()
82 if (p->perfect) { in tcindex_lookup()
83 struct tcindex_filter_result *f = p->perfect + key; in tcindex_lookup()
136 if (p->perfect && handle >= p->alloc_hash) in tcindex_get()
206 if (p->perfect) { in tcindex_delete()
290 if (p->perfect) in tcindex_partial_destroy_work()
301 tcf_exts_destroy(&cp->perfect[i].exts); in tcindex_free_perfect_hash()
302 kfree(cp->perfect); in tcindex_free_perfect_hash()
309 cp->perfect = kcalloc(cp->hash, sizeof(struct tcindex_filter_result), in tcindex_alloc_perfect_hash()
311 if (!cp->perfect) in tcindex_alloc_perfect_hash()
315 err = tcf_exts_init(&cp->perfect[i].exts, net, in tcindex_alloc_perfect_hash()
319 cp->perfect[i].p = cp; in tcindex_alloc_perfect_hash()
389 if (p->perfect) { in tcindex_set_parms()
396 cp->perfect[i].res = p->perfect[i].res; in tcindex_set_parms()
412 if (cp->perfect) { in tcindex_set_parms()
424 if (!cp->perfect && !cp->h) in tcindex_set_parms()
432 if (cp->perfect || valid_perfect_hash(cp)) in tcindex_set_parms()
438 if (!cp->perfect && !cp->h) { in tcindex_set_parms()
458 if (cp->perfect) in tcindex_set_parms()
459 r = cp->perfect + handle; in tcindex_set_parms()
565 if (p->perfect) { in tcindex_walk()
567 if (!p->perfect[i].res.class) in tcindex_walk()
570 if (walker->fn(tp, p->perfect + i, walker) < 0) { in tcindex_walk()
602 if (p->perfect) { in tcindex_destroy()
604 struct tcindex_filter_result *r = p->perfect + i; in tcindex_destroy()
646 pr_debug("p->perfect %p p->h %p\n", p->perfect, p->h); in tcindex_dump()
661 if (p->perfect) { in tcindex_dump()
662 t->tcm_handle = r - p->perfect; in tcindex_dump()