Lines Matching refs:spds
137 #define ss1dbg(spds, a) if (spds->spds_debug != 0) printf a argument
138 #define ss2dbg(spds, a) if (spds->spds_debug > 1) printf a argument
139 #define ss3dbg(spds, a) if (spds->spds_debug > 2) printf a argument
215 spd_stack_t *spds = ss->spdsock_spds; local
217 mutex_enter(&spds->spds_param_lock);
219 mutex_exit(&spds->spds_param_lock);
238 spd_stack_t *spds = ss->spdsock_spds; local
244 mutex_enter(&spds->spds_param_lock);
251 mutex_exit(&spds->spds_param_lock);
257 mutex_exit(&spds->spds_param_lock);
314 spd_stack_t *spds; in spdsock_stack_init() local
317 spds = (spd_stack_t *)kmem_zalloc(sizeof (*spds), KM_SLEEP); in spdsock_stack_init()
318 spds->spds_netstack = ns; in spdsock_stack_init()
320 ASSERT(spds->spds_g_nd == NULL); in spdsock_stack_init()
323 spds->spds_params = ssp; in spdsock_stack_init()
326 (void) spdsock_param_register(&spds->spds_g_nd, ssp, in spdsock_stack_init()
329 mutex_init(&spds->spds_param_lock, NULL, MUTEX_DEFAULT, NULL); in spdsock_stack_init()
330 mutex_init(&spds->spds_alg_lock, NULL, MUTEX_DEFAULT, NULL); in spdsock_stack_init()
332 return (spds); in spdsock_stack_init()
350 spd_stack_t *spds = (spd_stack_t *)arg; in spdsock_stack_shutdown() local
352 if (spds->spds_mp_algs != NULL) { in spdsock_stack_shutdown()
353 freemsg(spds->spds_mp_algs); in spdsock_stack_shutdown()
354 spds->spds_mp_algs = NULL; in spdsock_stack_shutdown()
362 spd_stack_t *spds = (spd_stack_t *)arg; in spdsock_stack_fini() local
364 ASSERT(spds->spds_mp_algs == NULL); in spdsock_stack_fini()
365 mutex_destroy(&spds->spds_param_lock); in spdsock_stack_fini()
366 mutex_destroy(&spds->spds_alg_lock); in spdsock_stack_fini()
367 nd_free(&spds->spds_g_nd); in spdsock_stack_fini()
368 kmem_free(spds->spds_params, sizeof (lcl_param_arr)); in spdsock_stack_fini()
369 spds->spds_params = NULL; in spdsock_stack_fini()
371 kmem_free(spds, sizeof (*spds)); in spdsock_stack_fini()
778 spd_stack_t *spds) in spdsock_check_action() argument
799 return (ipsec_check_action(act, diag, spds->spds_netstack)); in spdsock_check_action()
807 int *diag, spd_stack_t *spds) in spdsock_ext_to_actvec() argument
869 diag, spds)) in spdsock_ext_to_actvec()
984 tmprule_t **rp, uint64_t *index, spd_stack_t *spds) in mkrule() argument
992 index, spds->spds_netstack); in mkrule()
1010 tmprule_t **rp, uint64_t *index, spd_stack_t *spds) in mkrulepair() argument
1016 index, spds); in mkrulepair()
1022 index, spds); in mkrulepair()
1043 spd_stack_t *spds = ss->spdsock_spds; in spdsock_addrule() local
1056 spds->spds_netstack, ITP_NAME(itp), active, in spdsock_addrule()
1121 if (!spdsock_ext_to_actvec(extv, &actp, &nact, &diag, spds)) { in spdsock_addrule()
1136 IPSEC_TYPE_OUTBOUND, afs, &rulep, index, spds); in spdsock_addrule()
1143 IPSEC_TYPE_INBOUND, afs, &rulep, index, spds); in spdsock_addrule()
1150 spds->spds_netstack); in spdsock_addrule()
1165 audit_pf_policy(SPD_ADDRULE, cr, spds->spds_netstack, in spdsock_addrule()
1189 audit_pf_policy(SPD_ADDRULE, cr, spds->spds_netstack, in spdsock_addrule()
2546 spdsock_do_updatealg(spd_ext_t *extv[], spd_stack_t *spds) in spdsock_do_updatealg() argument
2557 ASSERT(MUTEX_HELD(&spds->spds_alg_lock)); in spdsock_do_updatealg()
2570 bzero(spds->spds_algs, IPSEC_NALGTYPES * IPSEC_MAX_ALGS * in spdsock_do_updatealg()
2596 spds->spds_algs[alg_type][alg->alg_id]); in spdsock_do_updatealg()
2597 spds->spds_algs[alg_type][alg->alg_id] = in spdsock_do_updatealg()
2605 ss1dbg(spds, ("spdsock_do_updatealg: " in spdsock_do_updatealg()
2646 ss1dbg(spds, ("spdsock_do_updatealg: " in spdsock_do_updatealg()
2682 ss1dbg(spds, ("spdsock_do_updatealg: " in spdsock_do_updatealg()
2709 ss1dbg(spds, ("spdsock_do_updatealg: " in spdsock_do_updatealg()
2726 ss1dbg(spds, ("spdsock_do_updatealg: " in spdsock_do_updatealg()
2755 spds->spds_algs_exec_mode[alg_type] = i; in spdsock_do_updatealg()
2769 spdsock_merge_algs(spds); in spdsock_do_updatealg()
2775 if (spds->spds_algs[alg_type][algid] != NULL) in spdsock_do_updatealg()
2776 ipsec_alg_free(spds->spds_algs[alg_type][algid]); in spdsock_do_updatealg()
2790 spd_stack_t *spds = ss->spdsock_spds; in spdsock_updatealg() local
2791 ipsec_stack_t *ipss = spds->spds_netstack->netstack_ipsec; in spdsock_updatealg()
2806 mutex_enter(&spds->spds_alg_lock); in spdsock_updatealg()
2807 bcopy(extv, spds->spds_extv_algs, in spdsock_updatealg()
2809 if (spds->spds_mp_algs != NULL) in spdsock_updatealg()
2810 freemsg(spds->spds_mp_algs); in spdsock_updatealg()
2811 spds->spds_mp_algs = mp; in spdsock_updatealg()
2812 mutex_exit(&spds->spds_alg_lock); in spdsock_updatealg()
2819 spds->spds_netstack, NULL, B_TRUE, EAGAIN, in spdsock_updatealg()
2829 mutex_enter(&spds->spds_alg_lock); in spdsock_updatealg()
2830 diag = spdsock_do_updatealg(extv, spds); in spdsock_updatealg()
2834 spds->spds_netstack); in spdsock_updatealg()
2835 mutex_exit(&spds->spds_alg_lock); in spdsock_updatealg()
2843 spds->spds_netstack, NULL, B_TRUE, 0, in spdsock_updatealg()
2847 mutex_exit(&spds->spds_alg_lock); in spdsock_updatealg()
2855 spds->spds_netstack, NULL, B_TRUE, diag, in spdsock_updatealg()
2981 spd_stack_t *spds = ss->spdsock_spds; in spdsock_parse() local
2982 netstack_t *ns = spds->spds_netstack; in spdsock_parse()
3001 ss2dbg(spds, in spdsock_parse()
3014 ss3dbg(spds, ("spdsock_parse: pullupmsg() failed.\n")); in spdsock_parse()
3024 ss1dbg(spds, ("Got duplicate extension of type %d.\n", in spdsock_parse()
3030 ss1dbg(spds, ("Got unknown extension of type %d.\n", in spdsock_parse()
3036 ss1dbg(spds, ("Length %d on extension type %d overrun or 0.\n", in spdsock_parse()
3042 ss1dbg(spds, ("Reality check failed on extension type %d.\n", in spdsock_parse()
3166 spd_stack_t *spds = ns->netstack_spdsock; in spdsock_update_pending_algs() local
3168 mutex_enter(&spds->spds_alg_lock); in spdsock_update_pending_algs()
3169 if (spds->spds_mp_algs != NULL) { in spdsock_update_pending_algs()
3170 (void) spdsock_do_updatealg(spds->spds_extv_algs, spds); in spdsock_update_pending_algs()
3171 freemsg(spds->spds_mp_algs); in spdsock_update_pending_algs()
3172 spds->spds_mp_algs = NULL; in spdsock_update_pending_algs()
3174 mutex_exit(&spds->spds_alg_lock); in spdsock_update_pending_algs()
3320 spd_stack_t *spds = ss->spdsock_spds; in spdsock_opt_set() local
3326 if (*i1 > spds->spds_max_buf) in spdsock_opt_set()
3331 if (*i1 > spds->spds_max_buf) in spdsock_opt_set()
3352 spd_stack_t *spds = ss->spdsock_spds; in spdsock_wput_other() local
3359 ss3dbg(spds, ( in spdsock_wput_other()
3413 if (nd_getset(q, spds->spds_g_nd, mp)) { in spdsock_wput_other()
3445 spd_stack_t *spds = ss->spdsock_spds; in spdsock_wput() local
3462 ss2dbg(spds, ("raw M_DATA in spdsock.\n")); in spdsock_wput()
3471 ss2dbg(spds, in spdsock_wput()
3478 ss2dbg(spds, ("T_DATA_REQ\n")); in spdsock_wput()
3484 ss3dbg(spds, ("In default wput case (%d %d).\n", in spdsock_wput()
3506 spd_stack_t *spds; in spdsock_open() local
3519 spds = ns->netstack_spdsock; in spdsock_open()
3520 ASSERT(spds != NULL); in spdsock_open()
3522 ss2dbg(spds, ("Made it into PF_POLICY socket open.\n")); in spdsock_open()
3526 netstack_rele(spds->spds_netstack); in spdsock_open()
3532 netstack_rele(spds->spds_netstack); in spdsock_open()
3540 ss->spdsock_spds = spds; in spdsock_open()
3545 q->q_hiwat = spds->spds_recv_hiwat; in spdsock_open()
3547 oq->q_hiwat = spds->spds_xmit_hiwat; in spdsock_open()
3548 oq->q_lowat = spds->spds_xmit_lowat; in spdsock_open()
3551 (void) proto_set_rx_hiwat(q, NULL, spds->spds_recv_hiwat); in spdsock_open()
3609 spd_stack_t *spds = ss->spdsock_spds; in spdsock_close() local
3619 ss3dbg(spds, ("Driver close, PF_POLICY socket is going away.\n")); in spdsock_close()
3632 spdsock_merge_algs(spd_stack_t *spds) in spdsock_merge_algs() argument
3639 netstack_t *ns = spds->spds_netstack; in spdsock_merge_algs()
3642 ASSERT(MUTEX_HELD(&spds->spds_alg_lock)); in spdsock_merge_algs()
3658 alg = spds->spds_algs[algtype][algid]; in spdsock_merge_algs()
3700 if (spds->spds_algs[algtype][algid] == NULL) in spdsock_merge_algs()
3714 alg = spds->spds_algs[algtype][algid]; in spdsock_merge_algs()
3734 spds->spds_algs[algtype][algid] = NULL; in spdsock_merge_algs()
3740 spds->spds_algs_exec_mode[algtype]; in spdsock_merge_algs()