Lines Matching refs:sel

1763 	ipsec_selector_t sel;  in conn_to_unique()  local
1771 if (ipsec_init_inbound_sel(&sel, data_mp, ipha, ip6h, in conn_to_unique()
1776 return (SA_UNIQUE_ID(sel.ips_remote_port, sel.ips_local_port, in conn_to_unique()
1777 sel.ips_protocol, 0)); in conn_to_unique()
1781 if (ipsec_init_inbound_sel(&sel, data_mp, ipha, ip6h, SEL_NONE) == in conn_to_unique()
1783 ASSERT(sel.ips_local_port == connp->conn_lport); in conn_to_unique()
1784 ASSERT(sel.ips_remote_port == connp->conn_fport); in conn_to_unique()
1785 ASSERT(sel.ips_protocol == connp->conn_proto); in conn_to_unique()
1945 ipsec_selector_t *sel, boolean_t is_icmp_inv_acq) in ipsec_find_policy_chain() argument
1960 (isel->ipsl_proto != sel->ips_protocol)) in ipsec_find_policy_chain()
1965 isel->ipsl_remote_pfxlen, &sel->ips_remote_addr_v6)) in ipsec_find_policy_chain()
1970 isel->ipsl_local_pfxlen, &sel->ips_local_addr_v6)) in ipsec_find_policy_chain()
1974 isel->ipsl_rport != sel->ips_remote_port) in ipsec_find_policy_chain()
1978 isel->ipsl_lport != sel->ips_local_port) in ipsec_find_policy_chain()
1983 (isel->ipsl_icmp_type > sel->ips_icmp_type || in ipsec_find_policy_chain()
1984 isel->ipsl_icmp_type_end < sel->ips_icmp_type)) { in ipsec_find_policy_chain()
1989 (isel->ipsl_icmp_code > sel->ips_icmp_code || in ipsec_find_policy_chain()
1991 sel->ips_icmp_code)) { in ipsec_find_policy_chain()
2021 int direction, ipsec_selector_t *sel) in ipsec_find_policy_head() argument
2025 uint8_t is_icmp_inv_acq = sel->ips_is_icmp_inv_acq; in ipsec_find_policy_head()
2026 int af = sel->ips_isv4 ? IPSEC_AF_V4 : IPSEC_AF_V6; in ipsec_find_policy_head()
2033 if (sel->ips_isv4) { in ipsec_find_policy_head()
2034 if (sel->ips_protocol != IPPROTO_ICMP) { in ipsec_find_policy_head()
2037 sel->ips_protocol); in ipsec_find_policy_head()
2040 if (sel->ips_protocol != IPPROTO_ICMPV6) { in ipsec_find_policy_head()
2043 sel->ips_protocol); in ipsec_find_policy_head()
2053 root->ipr_hash[selector_hash(sel, root)].hash_head, sel, in ipsec_find_policy_head()
2056 curbest = ipsec_find_policy_chain(curbest, root->ipr_nonhash[af], sel, in ipsec_find_policy_head()
2085 ipsec_find_policy(int direction, const conn_t *connp, ipsec_selector_t *sel, in ipsec_find_policy() argument
2092 direction, sel); in ipsec_find_policy()
2095 direction, sel); in ipsec_find_policy()
2119 ipsec_selector_t sel; in ipsec_check_global_policy() local
2126 sel.ips_is_icmp_inv_acq = 0; in ipsec_check_global_policy()
2159 if (ipsec_init_inbound_sel(&sel, data_mp, ipha, ip6h, in ipsec_check_global_policy()
2182 p = ipsec_find_policy(IPSEC_TYPE_INBOUND, connp, &sel, ns); in ipsec_check_global_policy()
2183 pkt_unique = SA_UNIQUE_ID(sel.ips_remote_port, in ipsec_check_global_policy()
2184 sel.ips_local_port, sel.ips_protocol, 0); in ipsec_check_global_policy()
2689 ipsec_init_inbound_sel(ipsec_selector_t *sel, mblk_t *mp, ipha_t *ipha, in ipsec_init_inbound_sel() argument
2712 sel->ips_isv4 = B_FALSE; in ipsec_init_inbound_sel()
2713 sel->ips_local_addr_v6 = ip6h->ip6_dst; in ipsec_init_inbound_sel()
2714 sel->ips_remote_addr_v6 = ip6h->ip6_src; in ipsec_init_inbound_sel()
2757 sel->ips_isv4 = B_TRUE; in ipsec_init_inbound_sel()
2758 sel->ips_local_addr_v4 = ipha->ipha_dst; in ipsec_init_inbound_sel()
2759 sel->ips_remote_addr_v4 = ipha->ipha_src; in ipsec_init_inbound_sel()
2772 sel->ips_protocol = nexthdr; in ipsec_init_inbound_sel()
2777 sel->ips_remote_port = sel->ips_local_port = 0; in ipsec_init_inbound_sel()
2798 sel->ips_icmp_type = *transportp++; in ipsec_init_inbound_sel()
2799 sel->ips_icmp_code = *transportp; in ipsec_init_inbound_sel()
2800 sel->ips_remote_port = sel->ips_local_port = 0; in ipsec_init_inbound_sel()
2803 sel->ips_remote_port = *ports++; in ipsec_init_inbound_sel()
2804 sel->ips_local_port = *ports; in ipsec_init_inbound_sel()
2815 ipsec_init_outbound_ports(ipsec_selector_t *sel, mblk_t *mp, ipha_t *ipha, in ipsec_init_outbound_ports() argument
2870 sel->ips_protocol = nexthdr; in ipsec_init_outbound_ports()
2873 sel->ips_local_port = sel->ips_remote_port = 0; in ipsec_init_outbound_ports()
2901 sel->ips_icmp_type = *typecode++; in ipsec_init_outbound_ports()
2902 sel->ips_icmp_code = *typecode; in ipsec_init_outbound_ports()
2903 sel->ips_remote_port = sel->ips_local_port = 0; in ipsec_init_outbound_ports()
2905 sel->ips_local_port = *ports++; in ipsec_init_outbound_ports()
2906 sel->ips_remote_port = *ports; in ipsec_init_outbound_ports()
3149 selector_hash(ipsec_selector_t *sel, ipsec_policy_root_t *root) in selector_hash() argument
3151 if (sel->ips_isv4) { in selector_hash()
3152 return (IPSEC_IPV4_HASH(sel->ips_remote_addr_v4, in selector_hash()
3155 return (IPSEC_IPV6_HASH(sel->ips_remote_addr_v6, root->ipr_nchains)); in selector_hash()
3882 ipsec_selkey_t sel; in ipsec_polhead_insert() local
3886 bzero(&sel, sizeof (sel)); in ipsec_polhead_insert()
3887 sel.ipsl_valid = (fam == IPSEC_AF_V4 ? IPSL_IPV4 : IPSL_IPV6); in ipsec_polhead_insert()
3888 if ((pol = ipsec_policy_create(&sel, actp, nact, IPSEC_PRIO_SOCKET, in ipsec_polhead_insert()
4025 ipsec_selector_t sel; in ipsec_in_to_out() local
4029 bzero((void*)&sel, sizeof (sel)); in ipsec_in_to_out()
4050 if (!ipsec_init_outbound_ports(&sel, data_mp, ipha, ip6h, 0, in ipsec_in_to_out()
4055 ixa->ixa_ipsec_src_port = sel.ips_local_port; in ipsec_in_to_out()
4056 ixa->ixa_ipsec_dst_port = sel.ips_remote_port; in ipsec_in_to_out()
4057 ixa->ixa_ipsec_proto = sel.ips_protocol; in ipsec_in_to_out()
4058 ixa->ixa_ipsec_icmp_type = sel.ips_icmp_type; in ipsec_in_to_out()
4059 ixa->ixa_ipsec_icmp_code = sel.ips_icmp_code; in ipsec_in_to_out()
4200 ipsec_selector_t sel; in ip_output_attach_policy() local
4219 bzero((void*)&sel, sizeof (sel)); in ip_output_attach_policy()
4222 sel.ips_local_addr_v4 = ipha->ipha_src; in ip_output_attach_policy()
4223 sel.ips_remote_addr_v4 = ip_get_dst(ipha); in ip_output_attach_policy()
4224 sel.ips_isv4 = B_TRUE; in ip_output_attach_policy()
4226 sel.ips_isv4 = B_FALSE; in ip_output_attach_policy()
4227 sel.ips_local_addr_v6 = ip6h->ip6_src; in ip_output_attach_policy()
4228 sel.ips_remote_addr_v6 = ip_get_dst_v6(ip6h, mp, NULL); in ip_output_attach_policy()
4230 sel.ips_protocol = ixa->ixa_protocol; in ip_output_attach_policy()
4232 if (!ipsec_init_outbound_ports(&sel, mp, ipha, ip6h, 0, ipss)) { in ip_output_attach_policy()
4243 p = ipsec_find_policy(IPSEC_TYPE_OUTBOUND, connp, &sel, ns); in ip_output_attach_policy()
4256 ixa->ixa_ipsec_src_port = sel.ips_local_port; in ip_output_attach_policy()
4257 ixa->ixa_ipsec_dst_port = sel.ips_remote_port; in ip_output_attach_policy()
4258 ixa->ixa_ipsec_icmp_type = sel.ips_icmp_type; in ip_output_attach_policy()
4259 ixa->ixa_ipsec_icmp_code = sel.ips_icmp_code; in ip_output_attach_policy()
4260 ixa->ixa_ipsec_proto = sel.ips_protocol; in ip_output_attach_policy()
4323 ipsec_selector_t sel; in ipsec_conn_cache_policy() local
4331 bzero((void*)&sel, sizeof (sel)); in ipsec_conn_cache_policy()
4333 sel.ips_protocol = connp->conn_proto; in ipsec_conn_cache_policy()
4334 sel.ips_local_port = connp->conn_lport; in ipsec_conn_cache_policy()
4335 sel.ips_remote_port = connp->conn_fport; in ipsec_conn_cache_policy()
4336 sel.ips_is_icmp_inv_acq = 0; in ipsec_conn_cache_policy()
4337 sel.ips_isv4 = isv4; in ipsec_conn_cache_policy()
4339 sel.ips_local_addr_v4 = connp->conn_laddr_v4; in ipsec_conn_cache_policy()
4340 sel.ips_remote_addr_v4 = connp->conn_faddr_v4; in ipsec_conn_cache_policy()
4342 sel.ips_local_addr_v6 = connp->conn_laddr_v6; in ipsec_conn_cache_policy()
4343 sel.ips_remote_addr_v6 = connp->conn_faddr_v6; in ipsec_conn_cache_policy()
4346 p = ipsec_find_policy(IPSEC_TYPE_INBOUND, connp, &sel, ns); in ipsec_conn_cache_policy()
4352 p = ipsec_find_policy(IPSEC_TYPE_OUTBOUND, connp, &sel, ns); in ipsec_conn_cache_policy()
4375 connp->conn_ixa->ixa_ipsec_src_port = sel.ips_local_port; in ipsec_conn_cache_policy()
4376 connp->conn_ixa->ixa_ipsec_dst_port = sel.ips_remote_port; in ipsec_conn_cache_policy()
4377 connp->conn_ixa->ixa_ipsec_icmp_type = sel.ips_icmp_type; in ipsec_conn_cache_policy()
4378 connp->conn_ixa->ixa_ipsec_icmp_code = sel.ips_icmp_code; in ipsec_conn_cache_policy()
4379 connp->conn_ixa->ixa_ipsec_proto = sel.ips_protocol; in ipsec_conn_cache_policy()
4442 ipsec_selector_t sel; in ipsec_cache_outbound_policy() local
4445 bzero((void*)&sel, sizeof (sel)); in ipsec_cache_outbound_policy()
4447 sel.ips_protocol = connp->conn_proto; in ipsec_cache_outbound_policy()
4448 sel.ips_local_port = connp->conn_lport; in ipsec_cache_outbound_policy()
4449 sel.ips_remote_port = dstport; in ipsec_cache_outbound_policy()
4450 sel.ips_is_icmp_inv_acq = 0; in ipsec_cache_outbound_policy()
4451 sel.ips_isv4 = isv4; in ipsec_cache_outbound_policy()
4453 IN6_V4MAPPED_TO_IPADDR(v6src, sel.ips_local_addr_v4); in ipsec_cache_outbound_policy()
4454 IN6_V4MAPPED_TO_IPADDR(v6dst, sel.ips_remote_addr_v4); in ipsec_cache_outbound_policy()
4456 sel.ips_local_addr_v6 = *v6src; in ipsec_cache_outbound_policy()
4457 sel.ips_remote_addr_v6 = *v6dst; in ipsec_cache_outbound_policy()
4460 p = ipsec_find_policy(IPSEC_TYPE_OUTBOUND, connp, &sel, ns); in ipsec_cache_outbound_policy()
4477 ixa->ixa_ipsec_src_port = sel.ips_local_port; in ipsec_cache_outbound_policy()
4478 ixa->ixa_ipsec_dst_port = sel.ips_remote_port; in ipsec_cache_outbound_policy()
4479 ixa->ixa_ipsec_icmp_type = sel.ips_icmp_type; in ipsec_cache_outbound_policy()
4480 ixa->ixa_ipsec_icmp_code = sel.ips_icmp_code; in ipsec_cache_outbound_policy()
4481 ixa->ixa_ipsec_proto = sel.ips_protocol; in ipsec_cache_outbound_policy()
5187 ipsec_selector_t sel; in ipsec_tun_outbound() local
5211 bzero(&sel, sizeof (sel)); in ipsec_tun_outbound()
5214 sel.ips_isv4 = B_TRUE; in ipsec_tun_outbound()
5215 sel.ips_local_addr_v4 = inner_ipv4->ipha_src; in ipsec_tun_outbound()
5216 sel.ips_remote_addr_v4 = inner_ipv4->ipha_dst; in ipsec_tun_outbound()
5217 sel.ips_protocol = (uint8_t)inner_ipv4->ipha_protocol; in ipsec_tun_outbound()
5220 sel.ips_isv4 = B_FALSE; in ipsec_tun_outbound()
5221 sel.ips_local_addr_v6 = inner_ipv6->ip6_src; in ipsec_tun_outbound()
5226 sel.ips_remote_addr_v6 = inner_ipv6->ip6_dst; in ipsec_tun_outbound()
5262 sel.ips_remote_addr_v6 = ip_get_dst_v6(inner_ipv6, mp, in ipsec_tun_outbound()
5308 if (sel.ips_isv4) { in ipsec_tun_outbound()
5314 sel.ips_local_addr_v4 = inner_ipv4->ipha_src; in ipsec_tun_outbound()
5315 sel.ips_remote_addr_v4 = inner_ipv4->ipha_dst; in ipsec_tun_outbound()
5316 sel.ips_protocol = in ipsec_tun_outbound()
5321 sel.ips_local_addr_v6 = inner_ipv6->ip6_src; in ipsec_tun_outbound()
5322 sel.ips_remote_addr_v6 = inner_ipv6->ip6_dst; in ipsec_tun_outbound()
5332 sel.ips_protocol = v6_proto; in ipsec_tun_outbound()
5335 sel.ips_protocol); in ipsec_tun_outbound()
5342 if (!ipsec_init_outbound_ports(&sel, mp, in ipsec_tun_outbound()
5353 sel.ips_protocol, ntohs(sel.ips_local_port), in ipsec_tun_outbound()
5354 ntohs(sel.ips_remote_port)); in ipsec_tun_outbound()
5360 sel.ips_protocol, ntohs(sel.ips_local_port), in ipsec_tun_outbound()
5361 ntohs(sel.ips_remote_port)); in ipsec_tun_outbound()
5366 pol = ipsec_find_policy_head(NULL, polhead, IPSEC_TYPE_OUTBOUND, &sel); in ipsec_tun_outbound()
5549 ipsec_selector_t sel; in ipsec_tun_inbound() local
5559 sel.ips_is_icmp_inv_acq = 0; in ipsec_tun_inbound()
5601 rc = ipsec_init_inbound_sel(&sel, data_mp, inner_ipv4, in ipsec_tun_inbound()
5710 rc = ipsec_init_inbound_sel(&sel, data_mp, in ipsec_tun_inbound()
5768 tmpaddr = sel.ips_local_addr_v6; in ipsec_tun_inbound()
5769 sel.ips_local_addr_v6 = sel.ips_remote_addr_v6; in ipsec_tun_inbound()
5770 sel.ips_remote_addr_v6 = tmpaddr; in ipsec_tun_inbound()
5771 tmpport = sel.ips_local_port; in ipsec_tun_inbound()
5772 sel.ips_local_port = sel.ips_remote_port; in ipsec_tun_inbound()
5773 sel.ips_remote_port = tmpport; in ipsec_tun_inbound()
5779 &sel); in ipsec_tun_inbound()
5801 pkt_unique = SA_UNIQUE_ID(sel.ips_remote_port, in ipsec_tun_inbound()
5802 sel.ips_local_port, in ipsec_tun_inbound()
5804 IPPROTO_ENCAP, sel.ips_protocol); in ipsec_tun_inbound()