Lines Matching refs:ifs

89 int ip_lookup_init(ifs)  in ip_lookup_init()  argument
90 ipf_stack_t *ifs; in ip_lookup_init()
93 if (ip_pool_init(ifs) == -1)
96 RWLOCK_INIT(&ifs->ifs_ip_poolrw, "ip pool rwlock");
98 ifs->ifs_ip_lookup_inited = 1;
99 ifs->ifs_ipftokenhead = NULL;
100 ifs->ifs_ipftokentail = &ifs->ifs_ipftokenhead;
114 void ip_lookup_unload(ifs) in ip_lookup_unload() argument
115 ipf_stack_t *ifs; in ip_lookup_unload()
117 ip_pool_fini(ifs);
118 fr_htable_unload(ifs);
120 if (ifs->ifs_ip_lookup_inited == 1) {
121 RW_DESTROY(&ifs->ifs_ip_poolrw);
122 ifs->ifs_ip_lookup_inited = 0;
139 int ip_lookup_ioctl(data, cmd, mode, uid, ctx, ifs) in ip_lookup_ioctl() argument
144 ipf_stack_t *ifs;
157 WRITE_ENTER(&ifs->ifs_ip_poolrw);
158 err = iplookup_addnode(data, ifs);
159 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
164 WRITE_ENTER(&ifs->ifs_ip_poolrw);
165 err = iplookup_delnode(data, ifs);
166 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
170 WRITE_ENTER(&ifs->ifs_ip_poolrw);
171 err = iplookup_addtable(data, ifs);
172 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
176 WRITE_ENTER(&ifs->ifs_ip_poolrw);
177 err = iplookup_deltable(data, ifs);
178 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
183 WRITE_ENTER(&ifs->ifs_ip_poolrw);
184 err = iplookup_stats(data, ifs);
185 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
189 WRITE_ENTER(&ifs->ifs_ip_poolrw);
190 err = iplookup_flush(data, ifs);
191 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
195 err = ip_lookup_iterate(data, uid, ctx, ifs);
216 static int iplookup_addnode(data, ifs) in iplookup_addnode() argument
218 ipf_stack_t *ifs;
243 p = ip_pool_find(op.iplo_unit, op.iplo_name, ifs);
256 &node.ipn_mask, node.ipn_info, ifs);
267 iph = fr_findhtable(op.iplo_unit, op.iplo_name, ifs);
270 err = fr_addhtent(iph, &hte, ifs);
289 static int iplookup_delnode(data, ifs) in iplookup_delnode() argument
291 ipf_stack_t *ifs;
316 p = ip_pool_find(op.iplo_unit, op.iplo_name, ifs);
323 err = ip_pool_remove(p, m, ifs);
334 iph = fr_findhtable(op.iplo_unit, op.iplo_name, ifs);
337 err = fr_delhtent(iph, &hte, ifs);
356 static int iplookup_addtable(data, ifs) in iplookup_addtable() argument
358 ipf_stack_t *ifs;
372 if (ip_pool_find(op.iplo_unit, op.iplo_name, ifs) != NULL)
375 err = ip_pool_create(&op, ifs);
379 if (fr_findhtable(op.iplo_unit, op.iplo_name, ifs) != NULL)
382 err = fr_newhtable(&op, ifs);
401 static int iplookup_deltable(data, ifs) in iplookup_deltable() argument
403 ipf_stack_t *ifs;
424 err = ip_pool_destroy(&op, ifs);
428 err = fr_removehtable(&op, ifs);
446 static int iplookup_stats(data, ifs) in iplookup_stats() argument
448 ipf_stack_t *ifs;
460 err = ip_pool_statistics(&op, ifs);
464 err = fr_gethtablestat(&op, ifs);
483 static int iplookup_flush(data, ifs) in iplookup_flush() argument
485 ipf_stack_t *ifs;
506 num = ip_pool_flush(&flush, ifs);
511 num += fr_flushhtable(&flush, ifs);
523 void ip_lookup_deref(type, ptr, ifs) in ip_lookup_deref() argument
526 ipf_stack_t *ifs;
531 WRITE_ENTER(&ifs->ifs_ip_poolrw);
535 ip_pool_deref(ptr, ifs);
539 fr_derefhtable(ptr, ifs);
542 RWLOCK_EXIT(&ifs->ifs_ip_poolrw);
546 int ip_lookup_iterate(data, uid, ctx, ifs) in ip_lookup_iterate() argument
550 ipf_stack_t *ifs;
578 token = ipf_findtoken(iter.ili_key, uid, ctx, ifs);
580 RWLOCK_EXIT(&ifs->ifs_ipf_tokens);
587 err = ip_pool_getnext(token, &iter, ifs);
590 err = fr_htable_getnext(token, &iter, ifs);
599 RWLOCK_EXIT(&ifs->ifs_ipf_tokens);
605 void ip_lookup_iterderef(type, data, ifs) in ip_lookup_iterderef() argument
608 ipf_stack_t *ifs;
621 (int)key.ilik_unstr.ilik_unit, data, ifs);
625 (int)key.ilik_unstr.ilik_unit, data, ifs);
634 int ip_lookup_ioctl(data, cmd, mode, uid, ifs) in ip_lookup_ioctl() argument
638 ipf_stack_t *ifs;