Lines Matching refs:softc
304 /* Parameters: softc(I) - pointer to soft context main structure */
311 ipf_nat_soft_create(ipf_main_softc_t *softc)
325 ipf_nat_soft_destroy(softc, softn);
328 if (ipf_tune_array_link(softc, softn->ipf_nat_tune) == -1) {
329 ipf_nat_soft_destroy(softc, softn);
359 /* Parameters: softc(I) - pointer to soft context main structure */
363 ipf_nat_soft_destroy(ipf_main_softc_t *softc, void *arg)
368 ipf_tune_array_unlink(softc, softn->ipf_nat_tune);
380 /* Parameters: softc(I) - pointer to soft context main structure */
385 ipf_nat_soft_init(ipf_main_softc_t *softc, void *arg)
467 ipf_sttab_init(softc, softn->ipf_nat_tcptq);
472 softn->ipf_nat_tcptq[IPF_TCPS_CLOSED].ifq_ttl = softc->ipf_tcplastack;
513 softn->ipf_nat_tcptq[IPF_TCPS_CLOSED].ifq_ttl = softc->ipf_tcplastack;
527 /* Parameters: softc(I) - pointer to soft context main structure */
532 ipf_nat_soft_fini(ipf_main_softc_t *softc, void *arg)
537 (void) ipf_nat_clearlist(softc, softn);
538 (void) ipf_nat_flushtable(softc, softn);
550 ipf_freetimeoutqueue(softc, ifq);
832 ipf_nat_hostmapdel(ipf_main_softc_t *softc, struct hostmap **hmp)
841 ipf_nat_rule_deref(softc, &hm->hm_ipnat);
970 /* Parameters: softc(I) - pointer to soft context main structure */
980 ipf_nat_ioctl(ipf_main_softc_t *softc, void *data, ioctlcmd_t cmd, int mode,
983 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
1030 error = ipf_inobj(softc, data, NULL, natd,
1046 error = ipf_inobjsz(softc, data, nt, IPFOBJ_IPNAT,
1073 error = ipf_nat_rule_init(softc, softn, nat);
1094 tmp = ipf_log_clear(softc, IPL_LOGNAT);
1126 arg = ipf_log_bytesused(softc, IPL_LOGNAT);
1146 (void) ipf_outobj(softc, data, &natd, IPFOBJ_IPNAT);
1159 error = ipf_nat_siocaddnat(softc, softn, nt, getlock);
1183 error = ipf_outobjsz(softc, data, n, IPFOBJ_IPNAT,
1191 ipf_nat_siocdelnat(softc, softn, n, getlock);
1212 nsp->ns_ticks = softc->ipf_ticks;
1214 nsp->ns_log_ok = ipf_log_logok(softc, IPF_LOGNAT);
1215 nsp->ns_log_fail = ipf_log_failures(softc, IPF_LOGNAT);
1220 error = ipf_outobj(softc, data, nsp, IPFOBJ_NATSTAT);
1228 error = ipf_inobj(softc, data, NULL, &nl, IPFOBJ_NATLOOKUP);
1233 READ_ENTER(&softc->ipf_nat);
1239 ptr = ipf_nat_lookupredir(softc, &nl);
1243 ptr = ipf_nat6_lookupredir(softc, &nl);
1252 RWLOCK_EXIT(&softc->ipf_nat);
1255 error = ipf_outobj(softc, data, &nl,
1272 WRITE_ENTER(&softc->ipf_nat);
1281 ret = ipf_nat_flushtable(softc, softn);
1283 ret = ipf_nat_clearlist(softc, softn);
1285 ret = ipf_nat_extraflush(softc, softn, arg);
1286 ipf_proxy_flush(softc->ipf_proxy_soft, arg);
1290 RWLOCK_EXIT(&softc->ipf_nat);
1304 WRITE_ENTER(&softc->ipf_nat);
1307 error = ipf_nat_matchflush(softc, softn, data);
1310 RWLOCK_EXIT(&softc->ipf_nat);
1315 error = ipf_proxy_ioctl(softc, data, cmd, mode, ctx);
1329 error = ipf_nat_putent(softc, data, getlock);
1338 error = ipf_nat_getsz(softc, data, getlock);
1347 error = ipf_nat_getent(softc, data, getlock);
1360 error = ipf_inobj(softc, data, &obj, &iter, IPFOBJ_GENITER);
1365 token = ipf_token_find(softc, iter.igi_type, uid, ctx);
1367 error = ipf_nat_iterator(softc, token, &iter, &obj);
1368 WRITE_ENTER(&softc->ipf_tokens);
1369 ipf_token_deref(softc, token);
1370 RWLOCK_EXIT(&softc->ipf_tokens);
1380 error = ipf_token_del(softc, arg, uid, ctx);
1389 error = ipf_outobj(softc, data, softn->ipf_nat_tcptq,
1394 error = ipf_nat_gettable(softc, softn, data);
1404 ipf_nat_rule_fini(softc, nat);
1416 /* Parameters: softc(I) - pointer to soft context main structure */
1428 ipf_nat_siocaddnat(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, ipnat_t *n,
1433 if (ipf_nat_resolverule(softc, n) != 0) {
1449 n->in_dlocal = ipf_deliverlocal(softc, n->in_v[1],
1454 WRITE_ENTER(&softc->ipf_nat);
1499 n->in_tqehead[0] = ipf_addtimeoutqueue(softc,
1504 n->in_tqehead[1] = ipf_addtimeoutqueue(softc,
1516 RWLOCK_EXIT(&softc->ipf_nat); /* WRITE */
1525 /* Parameters: softc(I) - pointer to soft context main structure */
1532 ipf_nat_ruleaddrinit(ipf_main_softc_t *softc, ipf_nat_softc_t *softn,
1563 error = ipf_nat_nextaddrinit(softc, n->in_names, &n->in_osrc, 1,
1568 error = ipf_nat_nextaddrinit(softc, n->in_names, &n->in_odst, 1,
1573 error = ipf_nat_nextaddrinit(softc, n->in_names, &n->in_nsrc, 1,
1578 error = ipf_nat_nextaddrinit(softc, n->in_names, &n->in_ndst, 1,
1593 /* Parameters: softc(I) - pointer to soft context main structure */
1601 ipf_nat_resolverule(ipf_main_softc_t *softc, ipnat_t *n)
1607 n->in_ifps[0] = ipf_resolvenic(softc, base + n->in_ifnames[0],
1614 n->in_ifps[1] = ipf_resolvenic(softc, base + n->in_ifnames[1],
1620 n->in_apr = ipf_proxy_lookup(softc->ipf_proxy_soft,
1624 n->in_apr = ipf_proxy_lookup(softc->ipf_proxy_soft,
1637 /* Parameters: softc(I) - pointer to soft context main structure */
1648 ipf_nat_siocdelnat(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, ipnat_t *n,
1656 WRITE_ENTER(&softc->ipf_nat);
1659 ipf_nat_delrule(softc, softn, n, 1);
1662 RWLOCK_EXIT(&softc->ipf_nat); /* READ/WRITE */
1670 /* Parameters: softc(I) - pointer to soft context main structure */
1682 ipf_nat_getsz(ipf_main_softc_t *softc, void *data, int getlock)
1684 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
1697 READ_ENTER(&softc->ipf_nat);
1709 RWLOCK_EXIT(&softc->ipf_nat);
1729 RWLOCK_EXIT(&softc->ipf_nat);
1747 RWLOCK_EXIT(&softc->ipf_nat);
1762 /* Parameters: softc(I) - pointer to soft context main structure */
1773 ipf_nat_getent(ipf_main_softc_t *softc, void *data, int getlock)
1775 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
1781 error = ipf_inobj(softc, data, NULL, &ipns, IPFOBJ_NATSAVE);
1797 READ_ENTER(&softc->ipf_nat);
1877 READ_ENTER(&softc->ipf_nat);
1880 error = ipf_outobjsz(softc, data, ipn, IPFOBJ_NATSAVE,
1886 READ_ENTER(&softc->ipf_nat);
1898 /* Parameters: softc(I) - pointer to soft context main structure */
1909 ipf_nat_putent(ipf_main_softc_t *softc, void *data, int getlock)
1911 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
1923 error = ipf_inobj(softc, data, NULL, ipn, IPFOBJ_NATSAVE);
1956 error = ipf_inobjsz(softc, data, ipnn, IPFOBJ_NATSAVE,
2015 if (ipf_nat_resolverule(softc, in) != 0) {
2048 READ_ENTER(&softc->ipf_nat);
2064 RWLOCK_EXIT(&softc->ipf_nat);
2076 READ_ENTER(&softc->ipf_nat);
2092 RWLOCK_EXIT(&softc->ipf_nat);
2161 (void) ipf_outobj(softc, data, ipnn, IPFOBJ_NATSAVE);
2173 READ_ENTER(&softc->ipf_nat);
2185 RWLOCK_EXIT(&softc->ipf_nat);
2202 WRITE_ENTER(&softc->ipf_nat);
2213 RWLOCK_EXIT(&softc->ipf_nat);
2226 (void) ipf_derefrule(softc, &fr);
2255 /* Parameters: softc(I) - pointer to soft context main structure */
2264 ipf_nat_delete(ipf_main_softc_t *softc, struct nat *nat, int logtype)
2266 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
2273 ipf_nat_log(softc, softn, nat, logtype);
2341 ipf_sync_del_nat(softc->ipf_sync_soft, nat->nat_sync);
2383 (void) ipf_derefrule(softc, &nat->nat_fr);
2387 ipf_nat_hostmapdel(softc, &nat->nat_hm);
2400 ipf_nat_rule_deref(softc, &ipn);
2404 ipf_proxy_free(softc, nat->nat_aps);
2417 ipf_frag_natforget(softc, (void *)nat);
2426 /* Parameters: softc(I) - pointer to soft context main structure */
2438 ipf_nat_flushtable(ipf_main_softc_t *softc, ipf_nat_softc_t *softn)
2457 ipf_nat_delete(softc, nat, NL_FLUSH);
2468 /* Parameters: softc(I) - pointer to soft context main structure */
2476 ipf_nat_clearlist(ipf_main_softc_t *softc, ipf_nat_softc_t *softn)
2493 ipf_nat_delrule(softc, softn, n, 0);
2506 /* Parameters: softc(I) - pointer to soft context main structure */
2518 ipf_nat_delrule(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, ipnat_t *np,
2537 ipf_nat_delete(softc, nat, NL_PURGE);
2571 ipf_nat_rule_deref(softc, &np);
2591 ipf_main_softc_t *softc = fin->fin_main_soft;
2592 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
2639 ipf_nat_hostmapdel(softc, &hm);
2697 ipf_ifpaddr(softc, 4, FRI_NORMAL, fin->fin_ifp,
2852 ipf_main_softc_t *softc = fin->fin_main_soft;
2853 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
2896 ipf_nat_hostmapdel(softc, &hm);
2928 ipf_nat_hostmapdel(softc, &hm);
2936 if (ipf_ifpaddr(softc, 4, FRI_NORMAL, fin->fin_ifp,
3062 ipf_main_softc_t *softc = fin->fin_main_soft;
3063 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
3229 ipf_nat_hostmapdel(softc, &hm);
3255 ipf_main_softc_t *softc = fin->fin_main_soft;
3256 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
3327 nat->nat_sync = ipf_sync_new(softc, SMC_NAT, fin, nat);
3329 if (ipf_nat_insert(softc, softn, nat) == 0) {
3331 ipf_nat_log(softc, softn, nat, NL_NEW);
3346 ipf_sync_del_nat(softc->ipf_sync_soft, nat->nat_sync);
3354 /* Parameters: softc(I) - pointer to soft context main structure */
3363 ipf_nat_insert(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, nat_t *nat)
3432 nat->nat_ifps[0] = ipf_resolvenic(softc, nat->nat_ifnames[0], 4);
3436 nat->nat_ifps[1] = ipf_resolvenic(softc,
3456 ret = ipf_nat_hashtab_add(softc, softn, nat);
3466 /* Parameters: softc(I) - pointer to soft context main structure */
3474 ipf_nat_hashtab_add(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, nat_t *nat)
3542 ipf_nat_setqueue(softc, softn, nat);
3567 ipf_main_softc_t *softc = fin->fin_main_soft;
3568 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
3720 ipf_main_softc_t *softc = fin->fin_main_soft;
3721 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
4025 ipf_main_softc_t *softc = fin->fin_main_soft;
4026 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
4154 RWLOCK_EXIT(&softc->ipf_nat);
4158 WRITE_ENTER(&softc->ipf_nat);
4236 MUTEX_DOWNGRADE(&softc->ipf_nat);
4354 ipf_main_softc_t *softc = fin->fin_main_soft;
4355 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
4472 RWLOCK_EXIT(&softc->ipf_nat);
4477 WRITE_ENTER(&softc->ipf_nat);
4553 MUTEX_DOWNGRADE(&softc->ipf_nat);
4566 /* Parameters: softc(I) - pointer to soft context main structure */
4583 ipf_nat_lookupredir(ipf_main_softc_t *softc, natlookup_t *np)
4589 fi.fin_main_soft = softc;
4657 ipf_main_softc_t *softc = fin->fin_main_soft;
4668 match = (*np->in_osrcfunc)(softc, np->in_osrcptr,
4683 match = (*np->in_odstfunc)(softc, np->in_odstptr,
4719 ipf_main_softc_t *softc = fin->fin_main_soft;
4720 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
4756 ipf_movequeue(softc->ipf_ticks, tqe, ifq, ifq2);
4781 ipf_main_softc_t *softc;
4799 softc = fin->fin_main_soft;
4800 softn = softc->ipf_nat_soft;
4845 READ_ENTER(&softc->ipf_nat);
4951 RWLOCK_EXIT(&softc->ipf_nat);
4990 ipf_main_softc_t *softc = fin->fin_main_soft;
4991 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
5003 (void) ipf_frag_natnew(softc, fin, 0, nat);
5228 ipf_sync_update(softc, SMC_NAT, fin, nat->nat_sync);
5272 ipf_main_softc_t *softc;
5285 softc = fin->fin_main_soft;
5286 softn = softc->ipf_nat_soft;
5334 READ_ENTER(&softc->ipf_nat);
5442 RWLOCK_EXIT(&softc->ipf_nat);
5482 ipf_main_softc_t *softc = fin->fin_main_soft;
5483 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
5497 (void) ipf_frag_natnew(softc, fin, 0, nat);
5518 ipf_sync_update(softc, SMC_NAT, fin, nat->nat_sync);
5792 /* Parameters: softc(I) - pointer to soft context main structure */
5798 ipf_nat_expire(ipf_main_softc_t *softc)
5800 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
5807 WRITE_ENTER(&softc->ipf_nat);
5811 if (tqe->tqe_die > softc->ipf_ticks)
5814 ipf_nat_delete(softc, tqe->tqe_parent, NL_EXPIRE);
5820 if (tqe->tqe_die > softc->ipf_ticks)
5823 ipf_nat_delete(softc, tqe->tqe_parent, NL_EXPIRE);
5832 ipf_freetimeoutqueue(softc, ifq);
5837 ipf_nat_extraflush(softc, softn, 2);
5841 RWLOCK_EXIT(&softc->ipf_nat);
5849 /* Parameters: softc(I) - pointer to soft context main structure */
5856 ipf_nat_sync(ipf_main_softc_t *softc, void *ifp)
5858 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
5867 if (softc->ipf_running <= 0)
5877 WRITE_ENTER(&softc->ipf_nat);
5879 if (softc->ipf_running <= 0) {
5880 RWLOCK_EXIT(&softc->ipf_nat);
5943 if (ipf_ifpaddr(softc, nat->nat_v[0], FRI_NORMAL, ifp2,
5970 n->in_ifps[0] = ipf_resolvenic(softc,
5974 n->in_ifps[1] = ipf_resolvenic(softc,
5987 ipf_nat_nextaddrinit(softc, n->in_names, &n->in_osrc,
5989 ipf_nat_nextaddrinit(softc, n->in_names, &n->in_odst,
5991 ipf_nat_nextaddrinit(softc, n->in_names, &n->in_nsrc,
5993 ipf_nat_nextaddrinit(softc, n->in_names, &n->in_ndst,
5997 RWLOCK_EXIT(&softc->ipf_nat);
6045 /* Parameters: softc(I) - pointer to soft context main structure */
6053 ipf_nat_log(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, struct nat *nat,
6110 (void) ipf_log_items(softc, IPL_LOGNAT, NULL, items, sizes, types, 1);
6128 ipf_main_softc_t *softc;
6130 softc = ipf_get_softc(0);
6141 /* Parameters: softc(I) - pointer to soft context main structure */
6151 ipf_nat_rule_deref(ipf_main_softc_t *softc, ipnat_t **inp)
6153 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
6165 ipf_nat_rule_fini(softc, n);
6180 ipf_freetimeoutqueue(softc, n->in_tqehead[0]);
6186 ipf_freetimeoutqueue(softc, n->in_tqehead[1]);
6208 /* Parameters: softc(I) - pointer to soft context main structure */
6223 ipf_nat_deref(ipf_main_softc_t *softc, nat_t **natp)
6239 WRITE_ENTER(&softc->ipf_nat);
6240 ipf_nat_delete(softc, nat, NL_EXPIRE);
6241 RWLOCK_EXIT(&softc->ipf_nat);
6258 ipf_main_softc_t *softc = fin->fin_main_soft;
6259 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
6289 if (ipf_nat_insert(softc, softn, clone) == -1) {
6298 ipf_nat_log(softc, softn, clone, NL_CLONE);
6318 clone->nat_sync = ipf_sync_new(softc, SMC_NAT, fin, clone);
6320 ipf_nat_log(softc, softn, clone, NL_CLONE);
6453 /* Parameters: softc(I) - pointer to soft context main structure */
6462 ipf_nat_setqueue(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, nat_t *nat)
6497 ipf_movequeue(softc->ipf_ticks, &nat->nat_tqe, oifq, nifq);
6499 ipf_queueappend(softc->ipf_ticks, &nat->nat_tqe, nifq, nat);
6507 /* Parameters: softc(I) - pointer to soft context main structure */
6516 ipf_nat_getnext(ipf_main_softc_t *softc, ipftoken_t *t, ipfgeniter_t *itp,
6519 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
6531 READ_ENTER(&softc->ipf_nat);
6592 RWLOCK_EXIT(&softc->ipf_nat);
6597 RWLOCK_EXIT(&softc->ipf_nat);
6610 WRITE_ENTER(&softc->ipf_nat);
6611 ipf_nat_hostmapdel(softc, &hm);
6612 RWLOCK_EXIT(&softc->ipf_nat);
6619 error = ipf_outobjk(softc, objp, nextipnat);
6621 WRITE_ENTER(&softc->ipf_nat);
6622 ipf_nat_rule_deref(softc, &ipn);
6623 RWLOCK_EXIT(&softc->ipf_nat);
6630 error = ipf_outobjk(softc, objp, nextnat);
6632 ipf_nat_deref(softc, &nat);
6647 /* Parameters: softc(I) - pointer to soft context main structure */
6664 ipf_nat_extraflush(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, int which)
6684 ipf_nat_delete(softc, nat, NL_FLUSH);
6704 ipf_nat_delete(softc, nat, NL_EXPIRE);
6725 ipf_nat_delete(softc, nat, NL_EXPIRE);
6748 ipf_nat_delete(softc, nat, NL_FLUSH);
6766 if (softc->ipf_ticks - nat->nat_touched > which) {
6767 ipf_nat_delete(softc, nat, NL_FLUSH);
6789 if (softc->ipf_ticks - softn->ipf_nat_last_force_flush >
6791 softn->ipf_nat_last_force_flush = softc->ipf_ticks;
6793 removed = ipf_queueflush(softc, ipf_nat_flush_entry,
6809 /* Parameters: softc(I) - pointer to soft context main structure */
6819 ipf_nat_flush_entry(ipf_main_softc_t *softc, void *entry)
6821 ipf_nat_delete(softc, entry, NL_FLUSH);
6829 /* Parameters: softc(I) - pointer to soft context main structure */
6840 ipf_nat_iterator(ipf_main_softc_t *softc, ipftoken_t *token, ipfgeniter_t *itp,
6855 error = ipf_nat_getnext(softc, token, itp, obj);
6859 error = ipf_frag_nat_next(softc, token, itp);
6874 /* Parameters: softc(I) - pointer to soft context main structure */
6885 ipf_nat_setpending(ipf_main_softc_t *softc, nat_t *nat)
6887 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
6892 ipf_movequeue(softc->ipf_ticks, &nat->nat_tqe, oifq,
6895 ipf_queueappend(softc->ipf_ticks, &nat->nat_tqe,
7148 ipf_main_softc_t *softc = fin->fin_main_soft;
7149 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
7297 ipf_main_softc_t *softc = fin->fin_main_soft;
7298 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
7403 ipf_main_softc_t *softc = fin->fin_main_soft;
7404 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
7462 if (ipf_ifpaddr(softc, 4, na->na_atype,
7485 /* Parameters: softc(I) - pointer to soft context main structure */
7503 ipf_nat_nextaddrinit(ipf_main_softc_t *softc, char *base, nat_addr_t *na,
7511 na->na_ptr = ipf_lookup_res_num(softc, IPL_LOGNAT,
7516 na->na_ptr = ipf_lookup_res_name(softc, IPL_LOGNAT,
7537 (void )ipf_ifpaddr(softc, 4, na->na_atype, ifp,
7582 /* Parameters: softc(I) - pointer to soft context main structure */
7588 ipf_nat_matchflush(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, void *data)
7594 error = ipf_matcharray_load(softc, data, &obj, &array);
7602 if (ipf_nat_matcharray(nat, array, softc->ipf_ticks) == 0) {
7603 ipf_nat_delete(softc, nat, NL_FLUSH);
7810 /* Parameters: softc(I) - pointer to soft context main structure */
7818 ipf_nat_gettable(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, char *data)
7823 error = ipf_inobj(softc, data, NULL, &table, IPFOBJ_GTABLE);
7857 /* Parameters: softc(I) - pointer to soft context main structure */
7864 ipf_nat_settimeout(struct ipf_main_softc_s *softc, ipftuneable_t *t,
7867 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
7893 /* Parameters: softc(I) - pointer to soft context main structure */
7904 ipf_nat_rehash(ipf_main_softc_t *softc, ipftuneable_t *t, ipftuneval_t *p)
7906 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
7966 WRITE_ENTER(&softc->ipf_nat);
8035 RWLOCK_EXIT(&softc->ipf_nat);
8060 /* Parameters: softc(I) - pointer to soft context main structure */
8070 ipf_nat_rehash_rules(ipf_main_softc_t *softc, ipftuneable_t *t, ipftuneval_t *p)
8072 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
8107 WRITE_ENTER(&softc->ipf_nat);
8137 RWLOCK_EXIT(&softc->ipf_nat);
8146 /* Parameters: softc(I) - pointer to soft context main structure */
8154 ipf_nat_hostmap_rehash(ipf_main_softc_t *softc, ipftuneable_t *t,
8157 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
8177 WRITE_ENTER(&softc->ipf_nat);
8193 RWLOCK_EXIT(&softc->ipf_nat);
8201 /* Parameters: softc(I) - pointer to soft context main structure */
8205 ipf_nat_add_tq(ipf_main_softc_t *softc, int ttl)
8207 ipf_nat_softc_t *softs = softc->ipf_nat_soft;
8209 return ipf_addtimeoutqueue(softc, &softs->ipf_nat_utqe, ttl);
8228 ipf_main_softc_t *softc = fin->fin_main_soft;
8229 ipf_nat_softc_t *softn = softc->ipf_nat_soft;
8246 WRITE_ENTER(&softc->ipf_nat);
8258 ipf_nat_delete(softc, nat, NL_DESTROY);
8263 RWLOCK_EXIT(&softc->ipf_nat);
8327 /* Parameters: softc(I) - pointer to soft context main structure */
8333 ipf_nat_rule_init(ipf_main_softc_t *softc, ipf_nat_softc_t *softn, ipnat_t *n)
8360 error = ipf_nat_ruleaddrinit(softc, softn, n);
8366 error = ipf_nat6_ruleaddrinit(softc, softn, n);
8381 n->in_dlocal = ipf_deliverlocal(softc, n->in_v[1],
8392 /* Parameters: softc(I) - pointer to soft context main structure */
8401 ipf_nat_rule_fini(ipf_main_softc_t *softc, ipnat_t *n)
8404 ipf_lookup_deref(softc, n->in_odst.na_type, n->in_odst.na_ptr);
8407 ipf_lookup_deref(softc, n->in_osrc.na_type, n->in_osrc.na_ptr);
8410 ipf_lookup_deref(softc, n->in_ndst.na_type, n->in_ndst.na_ptr);
8413 ipf_lookup_deref(softc, n->in_nsrc.na_type, n->in_nsrc.na_ptr);