Lines Matching refs:tid

216 t_insert(trie_id_t *tid, key_t id, uint32_t key, uint32_t mask)  in t_insert()  argument
221 uint8_t key_len = (uint8_t)tid->key_len; in t_insert()
225 ++tid->stats.num_dontcare; in t_insert()
229 rw_enter(&tid->rw_lock, RW_WRITER); in t_insert()
230 c_node = tid->trie; /* point at trie root */ in t_insert()
312 ++tid->stats.num_inserted; in t_insert()
317 if (tid->info.dontcareonly == B_TRUE) { in t_insert()
318 tid->info.dontcareonly = B_FALSE; in t_insert()
320 rw_exit(&tid->rw_lock); in t_insert()
330 t_insert6(trie_id_t *tid, key_t id, in6_addr_t key, in6_addr_t mask) in t_insert6() argument
340 ++tid->stats.num_dontcare; in t_insert6()
344 rw_enter(&tid->rw_lock, RW_WRITER); in t_insert6()
345 c_node = tid->trie; /* point at root of trie */ in t_insert6()
377 ++tid->stats.num_inserted; in t_insert6()
382 if (tid->info.dontcareonly == B_TRUE) { in t_insert6()
383 tid->info.dontcareonly = B_FALSE; in t_insert6()
385 rw_exit(&tid->rw_lock); in t_insert6()
400 uint32_t mask, trie_id_t **tid) in t_traverse_delete() argument
412 (EXTRACTBIT(mask, (pos - 1), (uint8_t)(*tid)->key_len) != 1)) { in t_traverse_delete()
419 --(*tid)->stats.num_inserted; in t_traverse_delete()
421 if ((*tid)->stats.num_inserted == 0) { in t_traverse_delete()
423 (*tid)->info.dontcareonly = B_TRUE; in t_traverse_delete()
454 (EXTRACTBIT(mask, (pos - 1), (uint8_t)(*tid)->key_len) in t_traverse_delete()
464 --(*tid)->stats.num_inserted; in t_traverse_delete()
466 if ((*tid)->stats.num_inserted == 0) { in t_traverse_delete()
468 (*tid)->info.dontcareonly = B_TRUE; in t_traverse_delete()
492 bit = EXTRACTBIT(key, (pos - 1), (uint8_t)(*tid)->key_len); in t_traverse_delete()
495 tid) == B_TRUE) { in t_traverse_delete()
500 tid) == B_TRUE) { in t_traverse_delete()
531 (uint8_t)(*tid)->key_len); in t_traverse_delete()
535 (uint8_t)(*tid)->key_len); in t_traverse_delete()
557 (uint8_t)(*tid)->key_len); in t_traverse_delete()
561 (uint8_t)(*tid)->key_len); in t_traverse_delete()
602 t_remove(trie_id_t *tid, key_t id, uint32_t key, uint32_t mask) in t_remove() argument
608 --tid->stats.num_dontcare; in t_remove()
614 rw_enter(&tid->rw_lock, RW_WRITER); in t_remove()
615 c_node = tid->trie; in t_remove()
616 (void) t_traverse_delete(&c_node, (uint8_t)tid->key_len, id, key, mask, in t_remove()
617 &tid); in t_remove()
618 rw_exit(&tid->rw_lock); in t_remove()
627 t_remove6(trie_id_t *tid, key_t id, in6_addr_t key, in6_addr_t mask) in t_remove6() argument
637 --tid->stats.num_dontcare; in t_remove6()
641 rw_enter(&tid->rw_lock, RW_WRITER); in t_remove6()
642 c_node = tid->trie; /* point at root of trie */ in t_remove6()
674 --tid->stats.num_inserted; in t_remove6()
678 if (tid->stats.num_inserted <= 0) { in t_remove6()
679 tid->info.dontcareonly = B_TRUE; in t_remove6()
683 rw_exit(&tid->rw_lock); in t_remove6()
702 t_retrieve(trie_id_t *tid, uint32_t key, ht_match_t *fid_table) in t_retrieve() argument
710 rw_enter(&tid->rw_lock, RW_READER); in t_retrieve()
711 c_node = tid->trie; /* point at root of trie */ in t_retrieve()
715 rw_exit(&tid->rw_lock); in t_retrieve()
722 for (pos = (uint8_t)tid->key_len; pos > 0; --pos) { in t_retrieve()
726 rw_exit(&tid->rw_lock); in t_retrieve()
737 if ((ret = ipgpc_mark_found(tid->info.mask, in t_retrieve()
740 rw_exit(&tid->rw_lock); in t_retrieve()
746 bit = EXTRACTBIT(key, (pos - 1), (uint8_t)tid->key_len); in t_retrieve()
756 rw_exit(&tid->rw_lock); in t_retrieve()
762 if ((ret = ipgpc_mark_found(tid->info.mask, c_node->elements, in t_retrieve()
764 rw_exit(&tid->rw_lock); in t_retrieve()
769 rw_exit(&tid->rw_lock); in t_retrieve()
779 t_retrieve6(trie_id_t *tid, in6_addr_t key, ht_match_t *fid_table) in t_retrieve6() argument
788 rw_enter(&tid->rw_lock, RW_READER); in t_retrieve6()
789 c_node = tid->trie; in t_retrieve6()
793 rw_exit(&tid->rw_lock); in t_retrieve6()
818 rw_exit(&tid->rw_lock); in t_retrieve6()
823 if ((ret = ipgpc_mark_found(tid->info.mask, in t_retrieve6()
826 rw_exit(&tid->rw_lock); in t_retrieve6()
833 rw_exit(&tid->rw_lock); in t_retrieve6()