Lines Matching refs:itp
205 #define ITP_NAME(itp) (itp != NULL ? itp->itp_name : NULL) argument
574 spdsock_flush_node(ipsec_tun_pol_t *itp, void *cookie, netstack_t *ns) in spdsock_flush_node() argument
579 iph = active ? itp->itp_policy : itp->itp_inactive; in spdsock_flush_node()
581 mutex_enter(&itp->itp_lock); in spdsock_flush_node()
584 itp->itp_flags &= ~ITPF_PFLAGS; in spdsock_flush_node()
586 itp->itp_flags &= ~ITPF_IFLAGS; in spdsock_flush_node()
587 mutex_exit(&itp->itp_lock); in spdsock_flush_node()
589 update_iptun_policy(itp); in spdsock_flush_node()
605 spdsock_flush(queue_t *q, ipsec_policy_head_t *iph, ipsec_tun_pol_t *itp, in spdsock_flush() argument
623 ITP_NAME(itp), active, 0, cpid); in spdsock_flush()
1035 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_addrule() argument
1044 uint64_t *index = (itp == NULL) ? NULL : &itp->itp_next_policy_index; in spdsock_addrule()
1059 spds->spds_netstack, ITP_NAME(itp), active, in spdsock_addrule()
1067 if (itp != NULL) { in spdsock_addrule()
1068 mutex_enter(&itp->itp_lock); in spdsock_addrule()
1069 ASSERT(itp->itp_policy == iph || itp->itp_inactive == iph); in spdsock_addrule()
1070 active = (itp->itp_policy == iph); in spdsock_addrule()
1071 if (ITP_P_ISACTIVE(itp, iph)) { in spdsock_addrule()
1073 if ((tunnel_mode && !ITP_P_ISTUNNEL(itp, iph)) || in spdsock_addrule()
1074 (!tunnel_mode && ITP_P_ISTUNNEL(itp, iph))) { in spdsock_addrule()
1075 mutex_exit(&itp->itp_lock); in spdsock_addrule()
1082 itp->itp_flags = active ? ITPF_P_ACTIVE : ITPF_I_ACTIVE; in spdsock_addrule()
1084 itp->itp_flags |= active ? ITPF_P_TUNNEL : in spdsock_addrule()
1102 if (itp != NULL) { in spdsock_addrule()
1106 itp->itp_flags |= active ? in spdsock_addrule()
1156 if (itp != NULL) in spdsock_addrule()
1157 mutex_exit(&itp->itp_lock); in spdsock_addrule()
1169 ITP_NAME(itp), active, 0, cpid); in spdsock_addrule()
1179 if (itp != NULL) { in spdsock_addrule()
1181 itp->itp_flags = 0; in spdsock_addrule()
1182 mutex_exit(&itp->itp_lock); in spdsock_addrule()
1193 ITP_NAME(itp), active, error, cpid); in spdsock_addrule()
1199 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_deleterule() argument
1219 ITP_NAME(itp), active, SPD_DIAGNOSTIC_NO_RULE_EXT, in spdsock_deleterule()
1229 if (itp != NULL) in spdsock_deleterule()
1230 mutex_enter(&itp->itp_lock); in spdsock_deleterule()
1257 if (itp != NULL) { in spdsock_deleterule()
1258 ASSERT(iph == itp->itp_policy || iph == itp->itp_inactive); in spdsock_deleterule()
1261 if (iph == itp->itp_policy) in spdsock_deleterule()
1262 itp->itp_flags &= ~ITPF_PFLAGS; in spdsock_deleterule()
1264 itp->itp_flags &= ~ITPF_IFLAGS; in spdsock_deleterule()
1268 mutex_exit(&itp->itp_lock); in spdsock_deleterule()
1279 audit_pf_policy(SPD_DELETERULE, cr, ns, ITP_NAME(itp), in spdsock_deleterule()
1284 if (itp != NULL) in spdsock_deleterule()
1285 mutex_exit(&itp->itp_lock); in spdsock_deleterule()
1295 audit_pf_policy(SPD_DELETERULE, cr, ns, ITP_NAME(itp), in spdsock_deleterule()
1303 spdsock_flip_node(ipsec_tun_pol_t *itp, void *ignoreme, netstack_t *ns) in spdsock_flip_node() argument
1305 mutex_enter(&itp->itp_lock); in spdsock_flip_node()
1306 ITPF_SWAP(itp->itp_flags); in spdsock_flip_node()
1307 ipsec_swap_policy(itp->itp_policy, itp->itp_inactive, ns); in spdsock_flip_node()
1308 mutex_exit(&itp->itp_lock); in spdsock_flip_node()
1310 update_iptun_policy(itp); in spdsock_flip_node()
1317 ipsec_tun_pol_t *itp; in spdsock_flip() local
1351 itp = get_tunnel_policy(tname, ns); in spdsock_flip()
1352 if (itp == NULL) { in spdsock_flip()
1366 ITP_NAME(itp), active, in spdsock_flip()
1371 spdsock_flip_node(itp, NULL, ns); in spdsock_flip()
1381 ITP_NAME(itp), active, 0, cpid); in spdsock_flip()
1383 ITP_REFRELE(itp, ns); in spdsock_flip()
1408 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_lookup() argument
1931 ipsec_tun_pol_t *itp; in spdsock_dump_iterate_next_tunnel() local
1936 itp = NULL; in spdsock_dump_iterate_next_tunnel()
1939 itp = avl_first(&ipss->ipsec_tunnel_policies); in spdsock_dump_iterate_next_tunnel()
1942 itp = AVL_NEXT(&ipss->ipsec_tunnel_policies, ss->spdsock_itp); in spdsock_dump_iterate_next_tunnel()
1944 if (itp != NULL) { in spdsock_dump_iterate_next_tunnel()
1945 ITP_REFHOLD(itp); in spdsock_dump_iterate_next_tunnel()
1950 ss->spdsock_itp = itp; in spdsock_dump_iterate_next_tunnel()
1951 return (itp); in spdsock_dump_iterate_next_tunnel()
1960 ipsec_tun_pol_t *itp; in spdsock_dump_next_record() local
1996 itp = spdsock_dump_iterate_next_tunnel(ss, ipss); in spdsock_dump_next_record()
1997 if (itp == NULL) { in spdsock_dump_next_record()
2006 itp->itp_flags & ITPF_P_TUNNEL; in spdsock_dump_next_record()
2007 iph = itp->itp_policy; in spdsock_dump_next_record()
2010 itp->itp_flags & ITPF_I_TUNNEL; in spdsock_dump_next_record()
2011 iph = itp->itp_inactive; in spdsock_dump_next_record()
2111 spdsock_clone_node(ipsec_tun_pol_t *itp, void *ep, netstack_t *ns) in spdsock_clone_node() argument
2117 mutex_enter(&itp->itp_lock); in spdsock_clone_node()
2118 ITPF_CLONE(itp->itp_flags); in spdsock_clone_node()
2119 *errptr = ipsec_copy_polhead(itp->itp_policy, itp->itp_inactive, ns); in spdsock_clone_node()
2120 mutex_exit(&itp->itp_lock); in spdsock_clone_node()
2128 ipsec_tun_pol_t *itp; in spdsock_clone() local
2166 itp = get_tunnel_policy(tname, ns); in spdsock_clone()
2167 if (itp == NULL) { in spdsock_clone()
2184 spdsock_clone_node(itp, &error, NULL); in spdsock_clone()
2194 ITP_NAME(itp), active, error, cpid); in spdsock_clone()
2196 ITP_REFRELE(itp, ns); in spdsock_clone()
2877 update_iptun_policy(ipsec_tun_pol_t *itp) in update_iptun_policy() argument
2881 if (dls_mgmt_get_linkid(itp->itp_name, &linkid) == 0) in update_iptun_policy()
2882 iptun_set_policy(linkid, itp); in update_iptun_policy()
2896 ipsec_tun_pol_t *itp; in get_appropriate_polhead() local
2926 itp = get_tunnel_policy(tname, ns); in get_appropriate_polhead()
2927 if (itp == NULL) { in get_appropriate_polhead()
2935 itp = create_tunnel_policy(tname, &errno, &gen, ns); in get_appropriate_polhead()
2936 if (itp == NULL) { in get_appropriate_polhead()
2947 update_iptun_policy(itp); in get_appropriate_polhead()
2949 *itpp = itp; in get_appropriate_polhead()
2952 ITP_REFHOLD(itp); in get_appropriate_polhead()
2953 ss->spdsock_itp = itp; in get_appropriate_polhead()
2954 ss->spdsock_dump_tunnel = itp->itp_flags & in get_appropriate_polhead()
2958 itp = NULL; in get_appropriate_polhead()
2965 iph = (itp == NULL) ? ipsec_system_policy(ns) : itp->itp_policy; in get_appropriate_polhead()
2967 iph = (itp == NULL) ? ipsec_inactive_policy(ns) : in get_appropriate_polhead()
2968 itp->itp_inactive; in get_appropriate_polhead()
2971 if (itp != NULL) { in get_appropriate_polhead()
2985 ipsec_tun_pol_t *itp; in spdsock_parse() local
3104 spmsg->spd_msg_type, &itp); in spdsock_parse()
3111 if (itp != NULL) { in spdsock_parse()
3112 mutex_enter(&itp->itp_lock); in spdsock_parse()
3114 itp->itp_flags &= ~ITPF_PFLAGS; in spdsock_parse()
3116 itp->itp_flags &= ~ITPF_IFLAGS; in spdsock_parse()
3117 mutex_exit(&itp->itp_lock); in spdsock_parse()
3120 spdsock_flush(q, iph, itp, mp); in spdsock_parse()
3122 if (itp != NULL) { in spdsock_parse()
3124 update_iptun_policy(itp); in spdsock_parse()
3125 ITP_REFRELE(itp, ns); in spdsock_parse()
3129 if (itp != NULL) in spdsock_parse()
3130 ITP_REFRELE(itp, ns); in spdsock_parse()
3143 spdsock_addrule(q, iph, mp, extv, itp); in spdsock_parse()
3146 spdsock_deleterule(q, iph, mp, extv, itp); in spdsock_parse()
3149 spdsock_lookup(q, iph, mp, extv, itp); in spdsock_parse()
3157 if (itp != NULL) { in spdsock_parse()
3161 update_iptun_policy(itp); in spdsock_parse()
3162 ITP_REFRELE(itp, ns); in spdsock_parse()