Lines Matching refs:ifs

122 	RWLOCK_INIT(&ifs->ifs_ip_poolrw, "poolrw");
123 ip_pool_init(ifs);
131 if (ip_pool_create(&op, ifs) == 0)
132 ipo = ip_pool_find(0, "0", ifs);
136 ip_pool_insert(ipo, &a, &b, 1, ifs);
137 ip_pool_insert(ipo, &a, &b, 1, ifs);
141 ip_pool_insert(ipo, &a, &b, 0, ifs);
142 ip_pool_insert(ipo, &a, &b, 0, ifs);
146 ip_pool_insert(ipo, &a, &b, 1, ifs);
147 ip_pool_insert(ipo, &a, &b, 1, ifs);
151 ip_pool_insert(ipo, &a, &b, 0, ifs);
152 ip_pool_insert(ipo, &a, &b, 0, ifs);
156 ip_pool_insert(ipo, &a, &b, 1, ifs);
157 ip_pool_insert(ipo, &a, &b, 1, ifs);
161 ip_pool_insert(ipo, &a, &b, 1, ifs);
162 ip_pool_insert(ipo, &a, &b, 1, ifs);
169 ip_pool_search(ipo, 4, &ip, &fin, ifs));
173 ip_pool_search(ipo, 4, &ip, &fin, ifs));
177 ip_pool_search(ipo, 4, &ip, &fin, ifs));
181 ip_pool_search(ipo, 4, &ip, &fin, ifs));
185 ip_pool_search(ipo, 4, &ip, &fin, ifs));
189 ip_pool_search(ipo, 4, &ip, &fin, ifs));
193 ip_pool_search(ipo, 4, &ip, &fin, ifs));
197 ip_pool_search(ipo, 4, &ip, &fin, ifs));
201 ip_pool_search(ipo, 4, &ip, &fin, ifs));
207 ip_pool_fini(ifs);
234 int ip_pool_init(ifs)
235 ipf_stack_t *ifs;
238 bzero(&ifs->ifs_ipoolstat, sizeof (ip_pool_stat_t));
256 void ip_pool_fini(ifs)
257 ipf_stack_t *ifs;
263 ASSERT(rw_read_locked(&ifs->ifs_ipf_global.ipf_lk) == 0);
266 for (q = ifs->ifs_ip_pool_list[i]; (p = q) != NULL; ) {
271 (void) ip_pool_destroy(&op, ifs);
289 int ip_pool_statistics(op, ifs)
291 ipf_stack_t *ifs;
299 bcopy((char *)&ifs->ifs_ipoolstat, (char *)&stats, sizeof(stats));
303 stats.ipls_list[i] = ifs->ifs_ip_pool_list[i];
307 op->iplo_name, ifs);
309 stats.ipls_list[unit] = ifs->ifs_ip_pool_list[unit];
327 void *ip_pool_find(unit, name, ifs)
330 ipf_stack_t *ifs;
334 for (p = ifs->ifs_ip_pool_list[unit]; p != NULL; p = p->ipo_next)
371 /* ifs - ipf stack instance */
375 int ip_pool_search(tptr, version, dptr, fin, ifs)
380 ipf_stack_t *ifs;
410 READ_ENTER(&ifs->ifs_ip_poolrw);
421 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
438 int ip_pool_insert(ipo, addr, mask, info, ifs)
442 ipf_stack_t *ifs;
447 ASSERT(rw_read_locked(&ifs->ifs_ip_poolrw.ipf_lk) == 0);
482 ifs->ifs_ipoolstat.ipls_nodes++;
500 int ip_pool_create(op, ifs)
502 ipf_stack_t *ifs;
508 ASSERT(rw_read_locked(&ifs->ifs_ip_poolrw.ipf_lk) == 0);
534 for (p = ifs->ifs_ip_pool_list[unit]; p != NULL; ) {
543 p = ifs->ifs_ip_pool_list[unit];
556 h->ipo_next = ifs->ifs_ip_pool_list[unit];
557 if (ifs->ifs_ip_pool_list[unit] != NULL)
558 ifs->ifs_ip_pool_list[unit]->ipo_pnext = &h->ipo_next;
559 h->ipo_pnext = &ifs->ifs_ip_pool_list[unit];
560 ifs->ifs_ip_pool_list[unit] = h;
562 ifs->ifs_ipoolstat.ipls_pools++;
578 int ip_pool_remove(ipo, ipe, ifs)
581 ipf_stack_t *ifs;
585 ASSERT(rw_read_locked(&ifs->ifs_ip_poolrw.ipf_lk) == 0);
603 ifs->ifs_ipoolstat.ipls_nodes--;
622 int ip_pool_destroy(op, ifs)
624 ipf_stack_t *ifs;
628 ipo = ip_pool_find(op->iplo_unit, op->iplo_name, ifs);
635 ip_pool_free(ipo, ifs);
653 int ip_pool_flush(fp, ifs)
655 ipf_stack_t *ifs;
666 for (q = ifs->ifs_ip_pool_list[i]; (p = q) != NULL; ) {
671 err = ip_pool_destroy(&op, ifs);
696 void ip_pool_free(ipo, ifs)
698 ipf_stack_t *ifs;
712 ifs->ifs_ipoolstat.ipls_nodes--;
722 ifs->ifs_ipoolstat.ipls_pools--;
735 void ip_pool_deref(ipo, ifs)
737 ipf_stack_t *ifs;
740 ASSERT(rw_read_locked(&ifs->ifs_ip_poolrw.ipf_lk) == 0);
744 ip_pool_free(ipo, ifs);
749 void ip_pool_node_deref(ipn, ifs)
751 ipf_stack_t *ifs;
758 ifs->ifs_ipoolstat.ipls_nodes--;
763 int ip_pool_getnext(token, ilp, ifs)
766 ipf_stack_t *ifs;
778 READ_ENTER(&ifs->ifs_ip_poolrw);
791 nextipo = ifs->ifs_ip_pool_list[(int)ilp->ili_unit];
808 ipo = ip_pool_find(ilp->ili_unit, ilp->ili_name, ifs);
836 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
851 ipf_freetoken(token, ifs);
854 WRITE_ENTER(&ifs->ifs_ip_poolrw);
855 ip_pool_deref(ipo, ifs);
856 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
859 ipf_freetoken(token, ifs);
868 ipf_freetoken(token, ifs);
871 WRITE_ENTER(&ifs->ifs_ip_poolrw);
872 ip_pool_node_deref(node, ifs);
873 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
876 ipf_freetoken(token, ifs);
885 void ip_pool_iterderef(otype, unit, data, ifs)
889 ipf_stack_t *ifs;
901 WRITE_ENTER(&ifs->ifs_ip_poolrw);
902 ip_pool_deref((ip_pool_t *)data, ifs);
903 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
907 WRITE_ENTER(&ifs->ifs_ip_poolrw);
908 ip_pool_node_deref((ip_pool_node_t *)data, ifs);
909 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
920 rn_freenode(struct radix_node *n, void *p, ipf_stack_t *ifs)
927 FreeS(d, ifs->ifs_max_keylen + 2 * sizeof (*d));