Lines Matching defs:iph
285 iphtable_t htab, *iph, *oiph;
311 iph = ipf_htable_exists(softh, unit, op->iplo_name);
312 if (iph != NULL) {
313 if ((iph->iph_flags & IPHASH_DELETE) == 0) {
317 iph->iph_flags &= ~IPHASH_DELETE;
318 iph->iph_ref++;
323 KMALLOC(iph, iphtable_t *);
324 if (iph == NULL) {
329 *iph = htab;
343 (void)strncpy(iph->iph_name, name, sizeof(iph->iph_name));
345 iph->iph_type |= IPHASH_ANON;
347 (void)strncpy(iph->iph_name, op->iplo_name,
348 sizeof(iph->iph_name));
349 iph->iph_name[sizeof(iph->iph_name) - 1] = '\0';
352 KMALLOCS(iph->iph_table, iphtent_t **,
353 iph->iph_size * sizeof(*iph->iph_table));
354 if (iph->iph_table == NULL) {
355 KFREE(iph);
361 bzero((char *)iph->iph_table, iph->iph_size * sizeof(*iph->iph_table));
362 iph->iph_maskset[0] = 0;
363 iph->iph_maskset[1] = 0;
364 iph->iph_maskset[2] = 0;
365 iph->iph_maskset[3] = 0;
367 iph->iph_ref = 1;
368 iph->iph_list = NULL;
369 iph->iph_tail = &iph->iph_list;
370 iph->iph_next = softh->ipf_htables[unit + 1];
371 iph->iph_pnext = &softh->ipf_htables[unit + 1];
373 softh->ipf_htables[unit + 1]->iph_pnext = &iph->iph_next;
374 softh->ipf_htables[unit + 1] = iph;
412 iphtable_t *iph;
414 iph = ipf_htable_find(arg, unit, name);
415 if (iph == NULL) {
420 if (iph->iph_unit != unit) {
425 if (iph->iph_ref != 0) {
426 ipf_htable_clear(softc, arg, iph);
427 iph->iph_flags |= IPHASH_DELETE;
431 ipf_htable_remove(softc, arg, iph);
442 /* iph(I) - pointer to hash table to destroy */
448 ipf_htable_clear(ipf_main_softc_t *softc, void *arg, iphtable_t *iph)
452 while ((ipe = iph->iph_list) != NULL)
453 if (ipf_htent_remove(softc, arg, iph, ipe) != 0)
463 /* iph(I) - pointer to hash table to destroy */
467 ipf_htable_free(void *arg, iphtable_t *iph)
471 if (iph->iph_next != NULL)
472 iph->iph_next->iph_pnext = iph->iph_pnext;
473 if (iph
474 *iph->iph_pnext = iph->iph_next;
475 iph->iph_pnext = NULL;
476 iph->iph_next = NULL;
478 softh->ipf_nhtables[iph->iph_unit + 1]--;
480 KFREES(iph->iph_table, iph->iph_size * sizeof(*iph->iph_table));
481 KFREE(iph);
490 /* iph(I) - pointer to hash table to destroy */
496 ipf_htable_remove(ipf_main_softc_t *softc, void *arg, iphtable_t *iph)
499 if (ipf_htable_clear(softc, arg, iph) != 0)
502 if (iph->iph_pnext != NULL)
503 *iph->iph_pnext = iph->iph_next;
504 if (iph->iph_next != NULL)
505 iph->iph_next->iph_pnext = iph->iph_pnext;
506 iph->iph_pnext = NULL;
507 iph->iph_next = NULL;
509 return ipf_htable_deref(softc, arg, iph);
526 iphtable_t *iph;
541 iph = ipf_htable_find(arg, op->iplo_unit, op->iplo_name);
542 if (iph == NULL) {
547 ent = ipf_htent_find(iph, &hte);
558 err = ipf_htent_remove(softc, arg, iph, ent);
593 /* iph(I) - pointer to hash table */
599 ipf_htent_remove(ipf_main_softc_t *softc, void *arg, iphtable_t *iph,
603 if (iph->iph_tail == &ipe->ipe_next)
604 iph->iph_tail = ipe->ipe_pnext;
627 switch (iph->iph_type & ~IPHASH_ANON)
655 iphtable_t *iph = object;
658 iph->iph_ref--;
659 refs = iph->iph_ref;
661 if (iph->iph_ref == 0) {
662 ipf_htable_free(softh, iph);
701 iphtable_t *iph;
707 for (iph = softh->ipf_htables[i]; iph != NULL;
708 iph = iph->iph_next) {
709 if (strncmp(iph->iph_name, name,
710 sizeof(iph->iph_name)) == 0)
713 if (iph != NULL)
717 for (iph = softh->ipf_htables[unit + 1]; iph != NULL;
718 iph = iph->iph_next) {
719 if (strncmp(iph->iph_name, name,
720 sizeof(iph->iph_name)) == 0)
724 return iph;
739 iphtable_t *iph;
741 iph = ipf_htable_exists(arg, unit, name);
742 if (iph != NULL) {
743 ATOMIC_INC32(iph->iph_ref);
745 return iph;
761 iphtable_t *iph;
763 iph = ipf_htable_exists(arg, unit, name);
764 if ((iph != NULL) && (iph->iph_flags & IPHASH_DELETE) == 0)
765 return iph;
783 iphtable_t *iph;
791 while ((iph = softh->ipf_htables[i + 1]) != NULL) {
792 if (ipf_htable_remove(softc, arg, iph) == 0) {
795 iph->iph_flags |= IPHASH_DELETE;
818 iphtable_t *iph;
834 iph = ipf_htable_find(arg, op->iplo_unit, op->iplo_name);
835 if (iph == NULL) {
840 if (ipf_htent_find(iph, &hte) != NULL) {
845 err = ipf_htent_insert(softc, arg, iph, &hte);
862 ipf_htent_insert(ipf_main_softc_t *softc, void *arg, iphtable_t *iph,
885 ipe->ipe_mask.in4_addr, iph->iph_size);
895 ipe->ipe_mask.i6, iph->iph_size);
903 ipe->ipe_owner = iph;
905 ipe->ipe_hnext = iph->iph_table[hv];
906 ipe->ipe_phnext = iph->iph_table + hv;
908 if (iph->iph_table[hv] != NULL)
909 iph->iph_table[hv]->ipe_phnext = &ipe->ipe_hnext;
910 iph->iph_table[hv] = ipe;
912 ipe->ipe_pnext = iph->iph_tail;
913 *iph->iph_tail = ipe;
914 iph->iph_tail = &ipe->ipe_next;
955 ipf_inet_mask_add(bits, &iph->iph_v4_masks);
959 ipf_inet6_mask_add(bits, &ipe->ipe_mask, &iph->iph_v6_masks);
963 switch (iph->iph_type & ~IPHASH_ANON)
967 iph->iph_flags, IPL_LOGIPF,
977 ipe->ipe_unit = iph->iph_unit;
987 /* Parameters: iph
995 ipf_htent_find(iphtable_t *iph, iphtent_t *ipeo)
1013 ipe.ipe_mask.in4_addr, iph->iph_size);
1018 ipe.ipe_mask.i6, iph->iph_size);
1023 for (ent = iph->iph_table[hv]; ent != NULL; ent = ent->ipe_hnext) {
1053 iphtable_t *iph;
1058 iph = tptr;
1061 ipe = ipf_iphmfind(iph, addr);
1087 iphtable_t *iph;
1094 iph = tptr;
1099 ipe = ipf_iphmfind(iph, addr);
1102 ipe = ipf_iphmfind6(iph, (i6addr_t *)addr);
1122 /* Parameters: iph(I) - pointer to hash table */
1128 ipf_iphmfind(iphtable_t *iph, struct in_addr *addr)
1137 msk = iph->iph_v4_masks.imt4_active[i];
1139 hv = IPE_V4_HASH_FN(ips, msk, iph->iph_size);
1140 for (ipe = iph->iph_table[hv]; (ipe != NULL); ipe = ipe->ipe_hnext) {
1151 if (i < iph->iph_v4_masks.imt4_max)
1173 iphtable_t *iph, zp, *nextiph;
1178 iph = NULL;
1188 iph = token->ipt_data;
1189 if (iph == NULL) {
1192 nextiph = iph->iph_next;
1209 iph = ipf_htable_find(arg, ilp->ili_unit,
1211 if (iph == NULL) {
1215 nextnode = iph->iph_list;
1251 if (iph != NULL) {
1253 ipf_htable_deref(softc, softh, iph);
1320 /* Parameters: iph(I) - pointer to hash table */
1326 ipf_iphmfind6(iphtable_t *iph, i6addr_t *addr)
1335 msk = iph->iph_v6_masks.imt6_active + i;
1340 hv = IPE_V6_HASH_FN(ips.i6, msk->i6, iph->iph_size);
1341 for (ipe = iph->iph_table[hv]; (ipe != NULL); ipe = ipe->ipe_next) {
1352 if (i < iph->iph_v6_masks.imt6_max)
1386 iphtable_t *iph;
1391 for (iph = softh->ipf_htables[i]; iph != NULL;
1392 iph = iph->iph_next)
1393 printhash(iph, bcopywrap, NULL, opts, NULL);