Lines Matching defs:softn
132 #define NINCLSIDE6(y,x) ATOMIC_INCL(softn->ipf_nat_stats.ns_side6[y].x)
133 #define NBUMPSIDE(y,x) softn->ipf_nat_stats.ns_side[y].x++
134 #define NBUMPSIDE6(y,x) softn->ipf_nat_stats.ns_side6[y].x++
137 softn->ipf_nat_stats.ns_side6[y].x++; \
142 softn->ipf_nat_stats.ns_side6[y].x++; \
157 ipf_nat6_ruleaddrinit(ipf_main_softc_t *softc, ipf_nat_softc_t *softn,
198 ipf_nat6_builddivertmp(softn, n);
213 ipf_nat6_addrdr(ipf_nat_softc_t *softn, ipnat_t *n)
225 hv = NAT_HASH_FN6(&j, 0, softn->ipf_nat_rdrrules_sz);
231 hv = NAT_HASH_FN6(&j, 0, softn->ipf_nat_rdrrules_sz);
237 ipf_inet6_mask_add(k, mask, &softn->ipf_nat6_rdr_mask);
239 np = softn->ipf_nat_rdr_rules + hv;
260 ipf_nat6_addmap(ipf_nat_softc_t *softn, ipnat_t *n)
272 hv = NAT_HASH_FN6(&j, 0, softn->ipf_nat_maprules_sz);
278 ipf_inet6_mask_add(k, mask, &softn->ipf_nat6_map_mask);
280 np = softn->ipf_nat_map_rules + hv;
299 ipf_nat6_delrdr(ipf_nat_softc_t *softn, ipnat_t *n)
314 ipf_inet6_mask_del(k, mask, &softn->ipf_nat6_rdr_mask);
331 ipf_nat6_delmap(ipf_nat_softc_t *softn, ipnat_t *n)
343 ipf_inet6_mask_del(k, mask, &softn->ipf_nat6_map_mask);
367 ipf_nat6_hostmap(ipf_nat_softc_t *softn, ipnat_t *np, i6addr_t *src,
385 hv %= softn->ipf_nat_hostmap_sz;
386 for (hm = softn->ipf_hm_maptable[hv]; hm; hm = hm->hm_next)
391 softn->ipf_nat_stats.ns_hm_addref++;
397 softn->ipf_nat_stats.ns_hm_nullnp++;
403 hm->hm_next = softn->ipf_hm_maplist;
404 hm->hm_pnext = &softn->ipf_hm_maplist;
405 if (softn->ipf_hm_maplist != NULL)
406 softn->ipf_hm_maplist->hm_pnext = &hm->hm_next;
407 softn->ipf_hm_maplist = hm;
408 hm->hm_hnext = softn->ipf_hm_maptable[hv];
409 hm->hm_phnext = softn->ipf_hm_maptable + hv;
410 if (softn->ipf_hm_maptable[hv] != NULL)
411 softn->ipf_hm_maptable[hv]->hm_phnext = &hm->hm_hnext;
412 softn->ipf_hm_maptable[hv] = hm;
426 softn->ipf_nat_stats.ns_hm_new++;
428 softn->ipf_nat_stats.ns_hm_newfail++;
451 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
492 hm = ipf_nat6_hostmap(softn, np, &fin->fin_src6,
694 nat->nat_hm = ipf_nat6_hostmap(softn, np, &fin->fin_src6,
729 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
768 hm = ipf_nat6_hostmap(softn, NULL, &fin->fin_src6,
788 hm = ipf_nat6_hostmap(softn, NULL, &fin->fin_src6,
896 nat->nat_hm = ipf_nat6_hostmap(softn, np, &fin->fin_src6,
942 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
953 nsp = &softn->ipf_nat_stats;
955 if ((nsp->ns_active * 100 / softn->ipf_nat_table_max) >
956 softn->ipf_nat_table_wm_high) {
957 softn->ipf_nat_doflush = 1;
960 if (nsp->ns_active >= softn->ipf_nat_table_max) {
983 if ((softn->ipf_nat_table_max > softn->ipf_nat_table_sz) &&
985 softn->ipf_nat_table_max = nsp->ns_active - 100;
987 softn->ipf_nat_table_max);
1095 ipf_nat6_delrdr(softn, np);
1096 ipf_nat6_addrdr(softn, np);
1098 ipf_nat6_delmap(softn, np);
1099 ipf_nat6_addmap(softn, np);
1105 softn->ipf_nat_stats.ns_proto[nat->nat_pr[0]]++;
1138 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
1217 if (ipf_nat6_insert(softc, softn, nat) == 0) {
1218 if (softn->ipf_nat_logging)
1219 ipf_nat_log(softc, softn, nat, NL_NEW);
1243 /* softn(I) - pointer to NAT context structure */
1251 ipf_nat6_insert(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, nat_t *nat)
1274 softn->ipf_nat_table_sz);
1293 softn->ipf_nat_table_sz);
1301 softn->ipf_nat_table_sz);
1306 softn->ipf_nat_table_sz);
1349 return ipf_nat_hashtab_add(softc, softn, nat);
1367 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
1378 nside = &softn->ipf_nat_stats.ns_side6[fin->fin_out];
1558 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
1876 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
1911 hv = NAT_HASH_FN6(src, hv + sport, softn->ipf_nat_table_sz);
1912 nat = softn->ipf_nat_table[1][hv];
1991 if (softn->ipf_nat_stats.ns_wilds == 0 || (fin->fin_flx & FI_NOWILD)) {
1999 hv = NAT_HASH_FN6(src, hv, softn->ipf_nat_table_sz);
2002 nat = softn->ipf_nat_table[1][hv];
2044 MUTEX_ENTER(&softn->ipf_nat_new);
2045 softn->ipf_nat_stats.ns_wilds--;
2046 MUTEX_EXIT(&softn->ipf_nat_new);
2073 ipf_nat6_tabmove(softn, nat);
2098 ipf_nat6_tabmove(ipf_nat_softc_t *softn, nat_t *nat)
2112 softn->ipf_nat_stats.ns_side[0].ns_bucketlen[nat->nat_hv[0]]--;
2117 softn->ipf_nat_stats.ns_side[1].ns_bucketlen[nat->nat_hv[1]]--;
2124 softn->ipf_nat_table_sz);
2127 softn->ipf_nat_table_sz);
2137 hv0 = nat->nat_hv[0] % softn->ipf_nat_table_sz;
2138 hv1 = nat->nat_hv[1] % softn->ipf_nat_table_sz;
2143 natp = &softn->ipf_nat_table[0][hv0];
2149 softn->ipf_nat_stats.ns_side[0].ns_bucketlen[hv0]++;
2151 natp = &softn->ipf_nat_table[1][hv1];
2157 softn->ipf_nat_stats.ns_side[1].ns_bucketlen[hv1]++;
2189 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
2220 hv = NAT_HASH_FN6(dst, hv + dport, softn->ipf_nat_table_sz);
2221 nat = softn->ipf_nat_table[0][hv];
2301 if (softn->ipf_nat_stats.ns_wilds == 0 || (fin->fin_flx & FI_NOWILD)) {
2309 hv = NAT_HASH_FN6(dst, hv, softn->ipf_nat_table_sz);
2313 nat = softn->ipf_nat_table[0][hv];
2353 MUTEX_ENTER(&softn->ipf_nat_new);
2354 softn->ipf_nat_stats.ns_wilds--;
2355 MUTEX_EXIT(&softn->ipf_nat_new);
2382 ipf_nat6_tabmove(softn, nat);
2562 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
2576 if (softn->ipf_nat_stats.ns_rules == 0 || softn->ipf_nat_lock != 0)
2650 msk = &softn->ipf_nat6_map_active_masks[nmsk];
2652 hv = NAT_HASH_FN6(&iph, 0, softn->ipf_nat_maprules_sz);
2653 for (np = softn->ipf_nat_map_rules[hv]; np; np = np->in_mnext) {
2698 MUTEX_ENTER(&softn->ipf_nat_new);
2700 MUTEX_EXIT(&softn->ipf_nat_new);
2707 if ((np == NULL) && (nmsk < softn->ipf_nat6_map_max)) {
2764 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
2962 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
2975 if (softn->ipf_nat_stats.ns_rules == 0 || softn->ipf_nat_lock != 0)
3050 msk = &softn->ipf_nat6_rdr_active_masks[rmsk];
3052 hv = NAT_HASH_FN6(&iph, 0, softn->ipf_nat_rdrrules_sz);
3053 for (np = softn->ipf_nat_rdr_rules[hv]; np; np = np->in_rnext) {
3098 MUTEX_ENTER(&softn->ipf_nat_new);
3100 MUTEX_EXIT(&softn->ipf_nat_new);
3108 if ((np == NULL) && (rmsk < softn->ipf_nat6_rdr_max)) {
3165 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
3592 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
3663 ipf_nat6_builddivertmp(ipf_nat_softc_t *softn, ipnat_t *np)
3676 ATOMIC_INCL(softn->ipf_nat_stats.ns_divert_build);
3727 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
3808 ipf_nat_softc_t *softn = softc->ipf_nat_soft;