Lines Matching refs:softc
236 ipf_state_soft_create(ipf_main_softc_t *softc) in ipf_state_soft_create() argument
250 ipf_state_soft_destroy(softc, softs); in ipf_state_soft_create()
253 if (ipf_tune_array_link(softc, softs->ipf_state_tune) == -1) { in ipf_state_soft_create()
254 ipf_state_soft_destroy(softc, softs); in ipf_state_soft_create()
288 ipf_state_soft_destroy(ipf_main_softc_t *softc, void *arg) in ipf_state_soft_destroy() argument
293 ipf_tune_array_unlink(softc, softs->ipf_state_tune); in ipf_state_soft_destroy()
344 ipf_state_soft_init(ipf_main_softc_t *softc, void *arg) in ipf_state_soft_init() argument
376 ipf_sttab_init(softc, softs->ipf_state_tcptq); in ipf_state_soft_init()
381 IPFTQ_INIT(&softs->ipf_state_udptq, softc->ipf_udptimeout, in ipf_state_soft_init()
385 IPFTQ_INIT(&softs->ipf_state_udpacktq, softc->ipf_udpacktimeout, in ipf_state_soft_init()
389 IPFTQ_INIT(&softs->ipf_state_icmptq, softc->ipf_icmptimeout, in ipf_state_soft_init()
393 IPFTQ_INIT(&softs->ipf_state_icmpacktq, softc->ipf_icmpacktimeout, in ipf_state_soft_init()
397 IPFTQ_INIT(&softs->ipf_state_iptq, softc->ipf_iptimeout, in ipf_state_soft_init()
410 softs->ipf_state_wm_last = softc->ipf_ticks; in ipf_state_soft_init()
427 ipf_state_soft_fini(ipf_main_softc_t *softc, void *arg) in ipf_state_soft_fini() argument
434 ipf_state_del(softc, is, ISL_UNLOAD); in ipf_state_soft_fini()
447 ipf_freetimeoutqueue(softc, ifq); in ipf_state_soft_fini()
514 ipf_state_stats(ipf_main_softc_t *softc) in ipf_state_stats() argument
516 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_stats()
523 issp->iss_ticks = softc->ipf_ticks; in ipf_state_stats()
526 issp->iss_log_ok = ipf_log_logok(softc, IPF_LOGSTATE); in ipf_state_stats()
527 issp->iss_log_fail = ipf_log_failures(softc, IPF_LOGSTATE); in ipf_state_stats()
545 ipf_state_remove(ipf_main_softc_t *softc, void *data) in ipf_state_remove() argument
547 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_remove()
552 error = ipf_inobj(softc, data, NULL, &st, IPFOBJ_IPSTATE); in ipf_state_remove()
556 WRITE_ENTER(&softc->ipf_state); in ipf_state_remove()
565 ipf_state_del(softc, sp, ISL_REMOVE); in ipf_state_remove()
566 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_remove()
569 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_remove()
589 ipf_state_ioctl(ipf_main_softc_t *softc, void *data, ioctlcmd_t cmd, int mode, in ipf_state_ioctl() argument
592 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_ioctl()
602 error = ipf_state_remove(softc, data); in ipf_state_ioctl()
615 WRITE_ENTER(&softc->ipf_state); in ipf_state_ioctl()
616 ret = ipf_state_flush(softc, arg, 4); in ipf_state_ioctl()
617 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_ioctl()
635 WRITE_ENTER(&softc->ipf_state); in ipf_state_ioctl()
636 ret = ipf_state_flush(softc, arg, 6); in ipf_state_ioctl()
637 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_ioctl()
649 WRITE_ENTER(&softc->ipf_state); in ipf_state_ioctl()
650 error = ipf_state_matchflush(softc, data); in ipf_state_ioctl()
651 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_ioctl()
665 tmp = ipf_log_clear(softc, IPL_LOGSTATE); in ipf_state_ioctl()
707 arg = ipf_log_bytesused(softc, IPL_LOGSTATE); in ipf_state_ioctl()
720 error = ipf_outobj(softc, data, ipf_state_stats(softc), in ipf_state_ioctl()
746 error = ipf_state_putent(softc, softs, data); in ipf_state_ioctl()
758 error = ipf_state_getent(softc, softs, data); in ipf_state_ioctl()
779 error = ipf_inobj(softc, data, &obj, &iter, IPFOBJ_GENITER); in ipf_state_ioctl()
784 token = ipf_token_find(softc, IPFGENITER_STATE, uid, ctx); in ipf_state_ioctl()
786 error = ipf_state_iter(softc, token, &iter, &obj); in ipf_state_ioctl()
787 WRITE_ENTER(&softc->ipf_tokens); in ipf_state_ioctl()
788 ipf_token_deref(softc, token); in ipf_state_ioctl()
789 RWLOCK_EXIT(&softc->ipf_tokens); in ipf_state_ioctl()
799 error = ipf_state_gettable(softc, softs, data); in ipf_state_ioctl()
809 error = ipf_token_del(softc, arg, uid, ctx); in ipf_state_ioctl()
815 error = ipf_outobj(softc, data, softs->ipf_state_tcptq, in ipf_state_ioctl()
842 ipf_state_getent(ipf_main_softc_t *softc, ipf_state_softc_t *softs, void *data) in ipf_state_getent() argument
848 error = ipf_inobj(softc, data, NULL, &ips, IPFOBJ_STATESAVE); in ipf_state_getent()
852 READ_ENTER(&softc->ipf_state); in ipf_state_getent()
858 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_getent()
874 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_getent()
885 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_getent()
886 error = ipf_outobj(softc, data, &ips, IPFOBJ_STATESAVE); in ipf_state_getent()
904 ipf_state_putent(ipf_main_softc_t *softc, ipf_state_softc_t *softs, void *data) in ipf_state_putent() argument
912 error = ipf_inobj(softc, data, NULL, &ips, IPFOBJ_STATESAVE); in ipf_state_putent()
938 READ_ENTER(&softc->ipf_state); in ipf_state_putent()
939 inserr = ipf_state_insert(softc, isn, 0); in ipf_state_putent()
941 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_putent()
968 fr->fr_ifas[i] = ipf_resolvenic(softc, name, in ipf_state_putent()
974 isn->is_ifp[i] = ipf_resolvenic(softc, name, in ipf_state_putent()
983 (void) ipf_resolvedest(softc, fr->fr_names, &fr->fr_tifs[0], in ipf_state_putent()
985 (void) ipf_resolvedest(softc, fr->fr_names, &fr->fr_tifs[1], in ipf_state_putent()
987 (void) ipf_resolvedest(softc, fr->fr_names, &fr->fr_dif, in ipf_state_putent()
994 error = ipf_outobj(softc, data, &ips, IPFOBJ_STATESAVE); in ipf_state_putent()
1002 READ_ENTER(&softc->ipf_state); in ipf_state_putent()
1003 error = ipf_state_insert(softc, isn, 0); in ipf_state_putent()
1005 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_putent()
1008 READ_ENTER(&softc->ipf_state); in ipf_state_putent()
1011 error = ipf_state_insert(softc, isn, 0); in ipf_state_putent()
1020 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_putent()
1050 ipf_state_insert(ipf_main_softc_t *softc, ipstate_t *is, int rev) in ipf_state_insert() argument
1052 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_insert()
1063 is->is_ifp[i] = ipf_resolvenic(softc, is->is_ifname[i], in ipf_state_insert()
1087 (ipf_ht_node_add(softc, &fr->fr_srctrack, in ipf_state_insert()
1128 ipf_state_setqueue(softc, is, rev); in ipf_state_insert()
1348 ipf_state_add(ipf_main_softc_t *softc, fr_info_t *fin, ipstate_t **stsave, in ipf_state_add() argument
1351 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_add()
1414 pass = softc->ipf_flags; in ipf_state_add()
1424 is->is_die = 1 + softc->ipf_ticks; in ipf_state_add()
1673 tq = ipf_addtimeoutqueue(softc, in ipf_state_add()
1680 tq = ipf_addtimeoutqueue(softc, in ipf_state_add()
1726 READ_ENTER(&softc->ipf_state); in ipf_state_add()
1728 if (ipf_state_insert(softc, is, fin->fin_rev) == -1) { in ipf_state_add()
1729 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_add()
1738 ipf_freetimeoutqueue(softc, is->is_tqehead[0]); in ipf_state_add()
1743 ipf_freetimeoutqueue(softc, is->is_tqehead[1]); in ipf_state_add()
1814 is->is_sync = ipf_sync_new(softc, SMC_STATE, fin, is); in ipf_state_add()
1816 ipf_state_log(softc, is, ISL_NEW); in ipf_state_add()
1818 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_add()
1822 (void) ipf_frag_new(softc, fin, pass); in ipf_state_add()
1971 ipf_state_tcp(ipf_main_softc_t *softc, ipf_state_softc_t *softs, fr_info_t *fin, in ipf_state_tcp() argument
1994 ipf_movequeue(softc->ipf_ticks, &is->is_sti, in ipf_state_tcp()
2023 ipf_state_log(softc, is, ISL_STATECHANGE); in ipf_state_tcp()
2118 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_state_tcpinwindow() local
2119 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_tcpinwindow()
2300 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_state_clone() local
2301 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_clone()
2327 clone->is_die = ONE_DAY + softc->ipf_ticks; in ipf_state_clone()
2354 if (ipf_state_insert(softc, clone, fin->fin_rev) == -1) { in ipf_state_clone()
2366 clone->is_sync = ipf_sync_new(softc, SMC_STATE, fin, clone); in ipf_state_clone()
2391 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_matchsrcdst() local
2392 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_matchsrcdst()
2580 ipf_state_log(softc, is, ISL_CLONE); in ipf_matchsrcdst()
2625 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_checkicmpmatchingstate() local
2626 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_checkicmpmatchingstate()
2776 READ_ENTER(&softc->ipf_state); in ipf_checkicmpmatchingstate()
2790 RWLOCK_EXIT(&softc->ipf_state); in ipf_checkicmpmatchingstate()
2807 READ_ENTER(&softc->ipf_state); in ipf_checkicmpmatchingstate()
2826 RWLOCK_EXIT(&softc->ipf_state); in ipf_checkicmpmatchingstate()
2846 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_allowstateicmp() local
2847 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_allowstateicmp()
2860 ipass = ipf_scanlist(fin, softc->ipf_pass); in ipf_allowstateicmp()
2970 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_state_lookup() local
2971 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_lookup()
3032 READ_ENTER(&softc->ipf_state); in ipf_state_lookup()
3059 MUTEX_DOWNGRADE(&softc->ipf_state); in ipf_state_lookup()
3063 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_lookup()
3083 WRITE_ENTER(&softc->ipf_state); in ipf_state_lookup()
3098 READ_ENTER(&softc->ipf_state); in ipf_state_lookup()
3117 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_lookup()
3130 READ_ENTER(&softc->ipf_state); in ipf_state_lookup()
3145 if (!ipf_state_tcp(softc, softs, fin, in ipf_state_lookup()
3160 MUTEX_DOWNGRADE(&softc->ipf_state); in ipf_state_lookup()
3164 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_lookup()
3189 WRITE_ENTER(&softc->ipf_state); in ipf_state_lookup()
3207 READ_ENTER(&softc->ipf_state); in ipf_state_lookup()
3220 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_lookup()
3250 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_state_check() local
3251 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_check()
3332 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_check()
3337 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_check()
3356 (void) ipf_frag_new(softc, fin, is->is_pass); in ipf_state_check()
3369 ipf_movequeue(softc->ipf_ticks, tqe, tqe->tqe_ifq, ifq); in ipf_state_check()
3381 ipf_sync_update(softc, SMC_STATE, fin, is->is_sync); in ipf_state_check()
3383 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_check()
3485 ipf_state_sync(ipf_main_softc_t *softc, void *ifp) in ipf_state_sync() argument
3487 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_sync()
3491 if (softc->ipf_running <= 0) in ipf_state_sync()
3494 WRITE_ENTER(&softc->ipf_state); in ipf_state_sync()
3496 if (softc->ipf_running <= 0) { in ipf_state_sync()
3497 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_sync()
3507 is->is_ifp[i] = ipf_resolvenic(softc, in ipf_state_sync()
3512 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_sync()
3529 ipf_state_del(ipf_main_softc_t *softc, ipstate_t *is, int why) in ipf_state_del() argument
3531 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_del()
3609 ipf_freetimeoutqueue(softc, is->is_tqehead[0]); in ipf_state_del()
3613 ipf_freetimeoutqueue(softc, is->is_tqehead[1]); in ipf_state_del()
3617 ipf_sync_del_state(softc->ipf_sync_soft, is->is_sync); in ipf_state_del()
3633 ipf_state_log(softc, is, why); in ipf_state_del()
3644 (void) ipf_derefrule(softc, &fr); in ipf_state_del()
3668 ipf_state_expire(ipf_main_softc_t *softc) in ipf_state_expire() argument
3670 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_expire()
3677 WRITE_ENTER(&softc->ipf_state); in ipf_state_expire()
3680 if (tqe->tqe_die > softc->ipf_ticks) in ipf_state_expire()
3684 ipf_state_del(softc, is, ISL_EXPIRE); in ipf_state_expire()
3691 if (tqe->tqe_die > softc->ipf_ticks) in ipf_state_expire()
3695 ipf_state_del(softc, is, ISL_EXPIRE); in ipf_state_expire()
3704 ipf_freetimeoutqueue(softc, ifq); in ipf_state_expire()
3709 (void) ipf_state_flush(softc, 2, 0); in ipf_state_expire()
3711 softs->ipf_state_wm_last = softc->ipf_ticks; in ipf_state_expire()
3714 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_expire()
3739 ipf_state_flush(ipf_main_softc_t *softc, int which, int proto) in ipf_state_flush() argument
3741 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_flush()
3764 if (ipf_state_del(softc, is, ISL_FLUSH) == 0) in ipf_state_flush()
3785 if (ipf_state_del(softc, is, ISL_FLUSH) == 0) in ipf_state_flush()
3803 if (ipf_state_del(softc, is, in ipf_state_flush()
3831 if (ipf_state_del(softc, is, ISL_FLUSH) == 0) in ipf_state_flush()
3849 if (softc->ipf_ticks - is->is_touched > which) { in ipf_state_flush()
3850 if (ipf_state_del(softc, is, in ipf_state_flush()
3875 if (softc->ipf_ticks - softs->ipf_state_wm_last > in ipf_state_flush()
3877 removed = ipf_queueflush(softc, ipf_state_flush_entry, in ipf_state_flush()
3883 softs->ipf_state_wm_last = softc->ipf_ticks; in ipf_state_flush()
3903 ipf_state_flush_entry(ipf_main_softc_t *softc, void *entry) in ipf_state_flush_entry() argument
3905 return ipf_state_del(softc, entry, ISL_FLUSH); in ipf_state_flush_entry()
3962 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_tcp_age() local
4277 ipf_movequeue(softc->ipf_ticks, tqe, tqe->tqe_ifq, in ipf_tcp_age()
4297 ipf_state_log(ipf_main_softc_t *softc, struct ipstate *is, u_int type) in ipf_state_log() argument
4347 (void) ipf_log_items(softc, IPL_LOGSTATE, NULL, items, sizes, types, 1); in ipf_state_log()
4366 ipf_main_softc_t *softc = fin->fin_main_soft; in ipf_checkicmp6matchingstate() local
4367 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_checkicmp6matchingstate()
4462 READ_ENTER(&softc->ipf_state); in ipf_checkicmp6matchingstate()
4486 RWLOCK_EXIT(&softc->ipf_state); in ipf_checkicmp6matchingstate()
4528 READ_ENTER(&softc->ipf_state); in ipf_checkicmp6matchingstate()
4545 RWLOCK_EXIT(&softc->ipf_state); in ipf_checkicmp6matchingstate()
4561 ipf_sttab_init(ipf_main_softc_t *softc, ipftq_t *tqp) in ipf_sttab_init() argument
4570 tqp[IPF_TCPS_CLOSED].ifq_ttl = softc->ipf_tcpclosed; in ipf_sttab_init()
4571 tqp[IPF_TCPS_LISTEN].ifq_ttl = softc->ipf_tcptimeout; in ipf_sttab_init()
4572 tqp[IPF_TCPS_SYN_SENT].ifq_ttl = softc->ipf_tcpsynsent; in ipf_sttab_init()
4573 tqp[IPF_TCPS_SYN_RECEIVED].ifq_ttl = softc->ipf_tcpsynrecv; in ipf_sttab_init()
4574 tqp[IPF_TCPS_ESTABLISHED].ifq_ttl = softc->ipf_tcpidletimeout; in ipf_sttab_init()
4575 tqp[IPF_TCPS_CLOSE_WAIT].ifq_ttl = softc->ipf_tcphalfclosed; in ipf_sttab_init()
4576 tqp[IPF_TCPS_FIN_WAIT_1].ifq_ttl = softc->ipf_tcphalfclosed; in ipf_sttab_init()
4577 tqp[IPF_TCPS_CLOSING].ifq_ttl = softc->ipf_tcptimeout; in ipf_sttab_init()
4578 tqp[IPF_TCPS_LAST_ACK].ifq_ttl = softc->ipf_tcplastack; in ipf_sttab_init()
4579 tqp[IPF_TCPS_FIN_WAIT_2].ifq_ttl = softc->ipf_tcpclosewait; in ipf_sttab_init()
4580 tqp[IPF_TCPS_TIME_WAIT].ifq_ttl = softc->ipf_tcptimewait; in ipf_sttab_init()
4581 tqp[IPF_TCPS_HALF_ESTAB].ifq_ttl = softc->ipf_tcptimeout; in ipf_sttab_init()
4636 ipf_state_deref(ipf_main_softc_t *softc, ipstate_t **isp) in ipf_state_deref() argument
4650 ipf_state_del(softc, is, ISL_EXPIRE); in ipf_state_deref()
4657 WRITE_ENTER(&softc->ipf_state); in ipf_state_deref()
4658 ipf_state_del(softc, is, ISL_ORPHAN); in ipf_state_deref()
4659 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_deref()
4675 ipf_state_setqueue(ipf_main_softc_t *softc, ipstate_t *is, int rev) in ipf_state_setqueue() argument
4677 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_setqueue()
4725 ipf_movequeue(softc->ipf_ticks, &is->is_sti, oifq, nifq); in ipf_state_setqueue()
4727 ipf_queueappend(softc->ipf_ticks, &is->is_sti, nifq, is); in ipf_state_setqueue()
4744 ipf_state_iter(ipf_main_softc_t *softc, ipftoken_t *token, ipfgeniter_t *itp, in ipf_state_iter() argument
4747 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_iter()
4776 READ_ENTER(&softc->ipf_state); in ipf_state_iter()
4802 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_iter()
4805 error = ipf_outobjk(softc, obj, next); in ipf_state_iter()
4807 ipf_state_deref(softc, &is); in ipf_state_iter()
4824 ipf_state_gettable(ipf_main_softc_t *softc, ipf_state_softc_t *softs, in ipf_state_gettable() argument
4830 error = ipf_inobj(softc, data, NULL, &table, IPFOBJ_GTABLE); in ipf_state_gettable()
4861 ipf_state_setpending(ipf_main_softc_t *softc, ipstate_t *is) in ipf_state_setpending() argument
4863 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_setpending()
4868 ipf_movequeue(softc->ipf_ticks, &is->is_sti, oifq, in ipf_state_setpending()
4871 ipf_queueappend(softc->ipf_ticks, &is->is_sti, in ipf_state_setpending()
4895 ipf_state_matchflush(ipf_main_softc_t *softc, void *data) in ipf_state_matchflush() argument
4897 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_matchflush()
4902 error = ipf_matcharray_load(softc, data, &obj, &array); in ipf_state_matchflush()
4910 if (ipf_state_matcharray(state, array, softc->ipf_ticks) == 0) { in ipf_state_matchflush()
4911 ipf_state_del(softc, state, ISL_FLUSH); in ipf_state_matchflush()
5096 ipf_state_settimeout(struct ipf_main_softc_s *softc, ipftuneable_t *t, in ipf_state_settimeout() argument
5099 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_settimeout()
5146 ipf_state_rehash(ipf_main_softc_t *softc, ipftuneable_t *t, ipftuneval_t *p) in ipf_state_rehash() argument
5148 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_rehash()
5192 WRITE_ENTER(&softc->ipf_state); in ipf_state_rehash()
5234 RWLOCK_EXIT(&softc->ipf_state); in ipf_state_rehash()
5252 ipf_state_add_tq(ipf_main_softc_t *softc, int ttl) in ipf_state_add_tq() argument
5254 ipf_state_softc_t *softs = softc->ipf_state_soft; in ipf_state_add_tq()
5256 return ipf_addtimeoutqueue(softc, &softs->ipf_state_usertq, ttl); in ipf_state_add_tq()
5265 ipf_state_dump(ipf_main_softc_t *softc, void *arg) in ipf_state_dump() argument
5273 softc->ipf_ticks); in ipf_state_dump()