Lines Matching refs:itp
202 #define ITP_NAME(itp) (itp != NULL ? itp->itp_name : NULL) argument
571 spdsock_flush_node(ipsec_tun_pol_t *itp, void *cookie, netstack_t *ns) in spdsock_flush_node() argument
576 iph = active ? itp->itp_policy : itp->itp_inactive; in spdsock_flush_node()
578 mutex_enter(&itp->itp_lock); in spdsock_flush_node()
581 itp->itp_flags &= ~ITPF_PFLAGS; in spdsock_flush_node()
583 itp->itp_flags &= ~ITPF_IFLAGS; in spdsock_flush_node()
584 mutex_exit(&itp->itp_lock); in spdsock_flush_node()
586 update_iptun_policy(itp); in spdsock_flush_node()
602 spdsock_flush(queue_t *q, ipsec_policy_head_t *iph, ipsec_tun_pol_t *itp, in spdsock_flush() argument
620 ITP_NAME(itp), active, 0, cpid); in spdsock_flush()
1032 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_addrule() argument
1041 uint64_t *index = (itp == NULL) ? NULL : &itp->itp_next_policy_index; in spdsock_addrule()
1056 spds->spds_netstack, ITP_NAME(itp), active, in spdsock_addrule()
1064 if (itp != NULL) { in spdsock_addrule()
1065 mutex_enter(&itp->itp_lock); in spdsock_addrule()
1066 ASSERT(itp->itp_policy == iph || itp->itp_inactive == iph); in spdsock_addrule()
1067 active = (itp->itp_policy == iph); in spdsock_addrule()
1068 if (ITP_P_ISACTIVE(itp, iph)) { in spdsock_addrule()
1070 if ((tunnel_mode && !ITP_P_ISTUNNEL(itp, iph)) || in spdsock_addrule()
1071 (!tunnel_mode && ITP_P_ISTUNNEL(itp, iph))) { in spdsock_addrule()
1072 mutex_exit(&itp->itp_lock); in spdsock_addrule()
1079 itp->itp_flags = active ? ITPF_P_ACTIVE : ITPF_I_ACTIVE; in spdsock_addrule()
1081 itp->itp_flags |= active ? ITPF_P_TUNNEL : in spdsock_addrule()
1099 if (itp != NULL) { in spdsock_addrule()
1103 itp->itp_flags |= active ? in spdsock_addrule()
1153 if (itp != NULL) in spdsock_addrule()
1154 mutex_exit(&itp->itp_lock); in spdsock_addrule()
1166 ITP_NAME(itp), active, 0, cpid); in spdsock_addrule()
1176 if (itp != NULL) { in spdsock_addrule()
1178 itp->itp_flags = 0; in spdsock_addrule()
1179 mutex_exit(&itp->itp_lock); in spdsock_addrule()
1190 ITP_NAME(itp), active, error, cpid); in spdsock_addrule()
1196 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_deleterule() argument
1216 ITP_NAME(itp), active, SPD_DIAGNOSTIC_NO_RULE_EXT, in spdsock_deleterule()
1226 if (itp != NULL) in spdsock_deleterule()
1227 mutex_enter(&itp->itp_lock); in spdsock_deleterule()
1254 if (itp != NULL) { in spdsock_deleterule()
1255 ASSERT(iph == itp->itp_policy || iph == itp->itp_inactive); in spdsock_deleterule()
1258 if (iph == itp->itp_policy) in spdsock_deleterule()
1259 itp->itp_flags &= ~ITPF_PFLAGS; in spdsock_deleterule()
1261 itp->itp_flags &= ~ITPF_IFLAGS; in spdsock_deleterule()
1265 mutex_exit(&itp->itp_lock); in spdsock_deleterule()
1276 audit_pf_policy(SPD_DELETERULE, cr, ns, ITP_NAME(itp), in spdsock_deleterule()
1281 if (itp != NULL) in spdsock_deleterule()
1282 mutex_exit(&itp->itp_lock); in spdsock_deleterule()
1292 audit_pf_policy(SPD_DELETERULE, cr, ns, ITP_NAME(itp), in spdsock_deleterule()
1300 spdsock_flip_node(ipsec_tun_pol_t *itp, void *ignoreme, netstack_t *ns) in spdsock_flip_node() argument
1302 mutex_enter(&itp->itp_lock); in spdsock_flip_node()
1303 ITPF_SWAP(itp->itp_flags); in spdsock_flip_node()
1304 ipsec_swap_policy(itp->itp_policy, itp->itp_inactive, ns); in spdsock_flip_node()
1305 mutex_exit(&itp->itp_lock); in spdsock_flip_node()
1307 update_iptun_policy(itp); in spdsock_flip_node()
1314 ipsec_tun_pol_t *itp; in spdsock_flip() local
1348 itp = get_tunnel_policy(tname, ns); in spdsock_flip()
1349 if (itp == NULL) { in spdsock_flip()
1363 ITP_NAME(itp), active, in spdsock_flip()
1368 spdsock_flip_node(itp, NULL, ns); in spdsock_flip()
1378 ITP_NAME(itp), active, 0, cpid); in spdsock_flip()
1380 ITP_REFRELE(itp, ns); in spdsock_flip()
1405 spd_ext_t **extv, ipsec_tun_pol_t *itp) in spdsock_lookup() argument
1928 ipsec_tun_pol_t *itp; in spdsock_dump_iterate_next_tunnel() local
1933 itp = NULL; in spdsock_dump_iterate_next_tunnel()
1936 itp = avl_first(&ipss->ipsec_tunnel_policies); in spdsock_dump_iterate_next_tunnel()
1939 itp = AVL_NEXT(&ipss->ipsec_tunnel_policies, ss->spdsock_itp); in spdsock_dump_iterate_next_tunnel()
1941 if (itp != NULL) { in spdsock_dump_iterate_next_tunnel()
1942 ITP_REFHOLD(itp); in spdsock_dump_iterate_next_tunnel()
1947 ss->spdsock_itp = itp; in spdsock_dump_iterate_next_tunnel()
1948 return (itp); in spdsock_dump_iterate_next_tunnel()
1957 ipsec_tun_pol_t *itp; in spdsock_dump_next_record() local
1993 itp = spdsock_dump_iterate_next_tunnel(ss, ipss); in spdsock_dump_next_record()
1994 if (itp == NULL) { in spdsock_dump_next_record()
2003 itp->itp_flags & ITPF_P_TUNNEL; in spdsock_dump_next_record()
2004 iph = itp->itp_policy; in spdsock_dump_next_record()
2007 itp->itp_flags & ITPF_I_TUNNEL; in spdsock_dump_next_record()
2008 iph = itp->itp_inactive; in spdsock_dump_next_record()
2108 spdsock_clone_node(ipsec_tun_pol_t *itp, void *ep, netstack_t *ns) in spdsock_clone_node() argument
2114 mutex_enter(&itp->itp_lock); in spdsock_clone_node()
2115 ITPF_CLONE(itp->itp_flags); in spdsock_clone_node()
2116 *errptr = ipsec_copy_polhead(itp->itp_policy, itp->itp_inactive, ns); in spdsock_clone_node()
2117 mutex_exit(&itp->itp_lock); in spdsock_clone_node()
2125 ipsec_tun_pol_t *itp; in spdsock_clone() local
2163 itp = get_tunnel_policy(tname, ns); in spdsock_clone()
2164 if (itp == NULL) { in spdsock_clone()
2181 spdsock_clone_node(itp, &error, NULL); in spdsock_clone()
2191 ITP_NAME(itp), active, error, cpid); in spdsock_clone()
2193 ITP_REFRELE(itp, ns); in spdsock_clone()
2870 update_iptun_policy(ipsec_tun_pol_t *itp) in update_iptun_policy() argument
2874 if (dls_mgmt_get_linkid(itp->itp_name, &linkid) == 0) in update_iptun_policy()
2875 iptun_set_policy(linkid, itp); in update_iptun_policy()
2889 ipsec_tun_pol_t *itp; in get_appropriate_polhead() local
2919 itp = get_tunnel_policy(tname, ns); in get_appropriate_polhead()
2920 if (itp == NULL) { in get_appropriate_polhead()
2928 itp = create_tunnel_policy(tname, &errno, &gen, ns); in get_appropriate_polhead()
2929 if (itp == NULL) { in get_appropriate_polhead()
2940 update_iptun_policy(itp); in get_appropriate_polhead()
2942 *itpp = itp; in get_appropriate_polhead()
2945 ITP_REFHOLD(itp); in get_appropriate_polhead()
2946 ss->spdsock_itp = itp; in get_appropriate_polhead()
2947 ss->spdsock_dump_tunnel = itp->itp_flags & in get_appropriate_polhead()
2951 itp = NULL; in get_appropriate_polhead()
2958 iph = (itp == NULL) ? ipsec_system_policy(ns) : itp->itp_policy; in get_appropriate_polhead()
2960 iph = (itp == NULL) ? ipsec_inactive_policy(ns) : in get_appropriate_polhead()
2961 itp->itp_inactive; in get_appropriate_polhead()
2964 if (itp != NULL) { in get_appropriate_polhead()
2978 ipsec_tun_pol_t *itp; in spdsock_parse() local
3097 spmsg->spd_msg_type, &itp); in spdsock_parse()
3104 if (itp != NULL) { in spdsock_parse()
3105 mutex_enter(&itp->itp_lock); in spdsock_parse()
3107 itp->itp_flags &= ~ITPF_PFLAGS; in spdsock_parse()
3109 itp->itp_flags &= ~ITPF_IFLAGS; in spdsock_parse()
3110 mutex_exit(&itp->itp_lock); in spdsock_parse()
3113 spdsock_flush(q, iph, itp, mp); in spdsock_parse()
3115 if (itp != NULL) { in spdsock_parse()
3117 update_iptun_policy(itp); in spdsock_parse()
3118 ITP_REFRELE(itp, ns); in spdsock_parse()
3122 if (itp != NULL) in spdsock_parse()
3123 ITP_REFRELE(itp, ns); in spdsock_parse()
3136 spdsock_addrule(q, iph, mp, extv, itp); in spdsock_parse()
3139 spdsock_deleterule(q, iph, mp, extv, itp); in spdsock_parse()
3142 spdsock_lookup(q, iph, mp, extv, itp); in spdsock_parse()
3150 if (itp != NULL) { in spdsock_parse()
3154 update_iptun_policy(itp); in spdsock_parse()
3155 ITP_REFRELE(itp, ns); in spdsock_parse()