Lines Matching refs:tid

214 t_insert(trie_id_t *tid, key_t id, uint32_t key, uint32_t mask)  in t_insert()  argument
219 uint8_t key_len = (uint8_t)tid->key_len; in t_insert()
223 ++tid->stats.num_dontcare; in t_insert()
227 rw_enter(&tid->rw_lock, RW_WRITER); in t_insert()
228 c_node = tid->trie; /* point at trie root */ in t_insert()
310 ++tid->stats.num_inserted; in t_insert()
315 if (tid->info.dontcareonly == B_TRUE) { in t_insert()
316 tid->info.dontcareonly = B_FALSE; in t_insert()
318 rw_exit(&tid->rw_lock); in t_insert()
328 t_insert6(trie_id_t *tid, key_t id, in6_addr_t key, in6_addr_t mask) in t_insert6() argument
338 ++tid->stats.num_dontcare; in t_insert6()
342 rw_enter(&tid->rw_lock, RW_WRITER); in t_insert6()
343 c_node = tid->trie; /* point at root of trie */ in t_insert6()
375 ++tid->stats.num_inserted; in t_insert6()
380 if (tid->info.dontcareonly == B_TRUE) { in t_insert6()
381 tid->info.dontcareonly = B_FALSE; in t_insert6()
383 rw_exit(&tid->rw_lock); in t_insert6()
398 uint32_t mask, trie_id_t **tid) in t_traverse_delete() argument
410 (EXTRACTBIT(mask, (pos - 1), (uint8_t)(*tid)->key_len) != 1)) { in t_traverse_delete()
417 --(*tid)->stats.num_inserted; in t_traverse_delete()
419 if ((*tid)->stats.num_inserted == 0) { in t_traverse_delete()
421 (*tid)->info.dontcareonly = B_TRUE; in t_traverse_delete()
452 (EXTRACTBIT(mask, (pos - 1), (uint8_t)(*tid)->key_len) in t_traverse_delete()
462 --(*tid)->stats.num_inserted; in t_traverse_delete()
464 if ((*tid)->stats.num_inserted == 0) { in t_traverse_delete()
466 (*tid)->info.dontcareonly = B_TRUE; in t_traverse_delete()
490 bit = EXTRACTBIT(key, (pos - 1), (uint8_t)(*tid)->key_len); in t_traverse_delete()
493 tid) == B_TRUE) { in t_traverse_delete()
498 tid) == B_TRUE) { in t_traverse_delete()
529 (uint8_t)(*tid)->key_len); in t_traverse_delete()
533 (uint8_t)(*tid)->key_len); in t_traverse_delete()
555 (uint8_t)(*tid)->key_len); in t_traverse_delete()
559 (uint8_t)(*tid)->key_len); in t_traverse_delete()
600 t_remove(trie_id_t *tid, key_t id, uint32_t key, uint32_t mask) in t_remove() argument
606 --tid->stats.num_dontcare; in t_remove()
612 rw_enter(&tid->rw_lock, RW_WRITER); in t_remove()
613 c_node = tid->trie; in t_remove()
614 (void) t_traverse_delete(&c_node, (uint8_t)tid->key_len, id, key, mask, in t_remove()
615 &tid); in t_remove()
616 rw_exit(&tid->rw_lock); in t_remove()
625 t_remove6(trie_id_t *tid, key_t id, in6_addr_t key, in6_addr_t mask) in t_remove6() argument
635 --tid->stats.num_dontcare; in t_remove6()
639 rw_enter(&tid->rw_lock, RW_WRITER); in t_remove6()
640 c_node = tid->trie; /* point at root of trie */ in t_remove6()
672 --tid->stats.num_inserted; in t_remove6()
676 if (tid->stats.num_inserted <= 0) { in t_remove6()
677 tid->info.dontcareonly = B_TRUE; in t_remove6()
681 rw_exit(&tid->rw_lock); in t_remove6()
700 t_retrieve(trie_id_t *tid, uint32_t key, ht_match_t *fid_table) in t_retrieve() argument
708 rw_enter(&tid->rw_lock, RW_READER); in t_retrieve()
709 c_node = tid->trie; /* point at root of trie */ in t_retrieve()
713 rw_exit(&tid->rw_lock); in t_retrieve()
720 for (pos = (uint8_t)tid->key_len; pos > 0; --pos) { in t_retrieve()
724 rw_exit(&tid->rw_lock); in t_retrieve()
735 if ((ret = ipgpc_mark_found(tid->info.mask, in t_retrieve()
738 rw_exit(&tid->rw_lock); in t_retrieve()
744 bit = EXTRACTBIT(key, (pos - 1), (uint8_t)tid->key_len); in t_retrieve()
754 rw_exit(&tid->rw_lock); in t_retrieve()
760 if ((ret = ipgpc_mark_found(tid->info.mask, c_node->elements, in t_retrieve()
762 rw_exit(&tid->rw_lock); in t_retrieve()
767 rw_exit(&tid->rw_lock); in t_retrieve()
777 t_retrieve6(trie_id_t *tid, in6_addr_t key, ht_match_t *fid_table) in t_retrieve6() argument
786 rw_enter(&tid->rw_lock, RW_READER); in t_retrieve6()
787 c_node = tid->trie; in t_retrieve6()
791 rw_exit(&tid->rw_lock); in t_retrieve6()
816 rw_exit(&tid->rw_lock); in t_retrieve6()
821 if ((ret = ipgpc_mark_found(tid->info.mask, in t_retrieve6()
824 rw_exit(&tid->rw_lock); in t_retrieve6()
831 rw_exit(&tid->rw_lock); in t_retrieve6()