Lines Matching defs:sel
1763 ipsec_selector_t sel;
1771 if (ipsec_init_inbound_sel(&sel, data_mp, ipha, ip6h,
1776 return (SA_UNIQUE_ID(sel.ips_remote_port, sel.ips_local_port,
1777 sel.ips_protocol, 0));
1781 if (ipsec_init_inbound_sel(&sel, data_mp, ipha, ip6h, SEL_NONE) ==
1783 ASSERT(sel.ips_local_port == connp->conn_lport);
1784 ASSERT(sel.ips_remote_port == connp->conn_fport);
1785 ASSERT(sel.ips_protocol == connp->conn_proto);
1945 ipsec_selector_t *sel, boolean_t is_icmp_inv_acq)
1960 (isel->ipsl_proto != sel->ips_protocol))
1965 isel->ipsl_remote_pfxlen, &sel->ips_remote_addr_v6))
1970 isel->ipsl_local_pfxlen, &sel->ips_local_addr_v6))
1974 isel->ipsl_rport != sel->ips_remote_port)
1978 isel->ipsl_lport != sel->ips_local_port)
1983 (isel->ipsl_icmp_type > sel->ips_icmp_type ||
1984 isel->ipsl_icmp_type_end < sel->ips_icmp_type)) {
1989 (isel->ipsl_icmp_code > sel->ips_icmp_code ||
1991 sel->ips_icmp_code)) {
2021 int direction, ipsec_selector_t *sel)
2025 uint8_t is_icmp_inv_acq = sel->ips_is_icmp_inv_acq;
2026 int af = sel->ips_isv4 ? IPSEC_AF_V4 : IPSEC_AF_V6;
2033 if (sel->ips_isv4) {
2034 if (sel->ips_protocol != IPPROTO_ICMP) {
2037 sel->ips_protocol);
2040 if (sel->ips_protocol != IPPROTO_ICMPV6) {
2043 sel->ips_protocol);
2053 root->ipr_hash[selector_hash(sel, root)].hash_head, sel,
2056 curbest = ipsec_find_policy_chain(curbest, root->ipr_nonhash[af], sel,
2085 ipsec_find_policy(int direction, const conn_t *connp, ipsec_selector_t *sel,
2092 direction, sel);
2095 direction, sel);
2119 ipsec_selector_t sel;
2126 sel.ips_is_icmp_inv_acq = 0;
2154 * Fudge sel for UNIQUE_ID setting below.
2159 if (ipsec_init_inbound_sel(&sel, data_mp, ipha, ip6h,
2182 p = ipsec_find_policy(IPSEC_TYPE_INBOUND, connp, &sel, ns);
2183 pkt_unique = SA_UNIQUE_ID(sel.ips_remote_port,
2184 sel.ips_local_port, sel.ips_protocol, 0);
2677 * SELRET_SUCCESS --> "sel" now has initialized IPsec selector data.
2689 ipsec_init_inbound_sel(ipsec_selector_t *sel, mblk_t *mp, ipha_t *ipha,
2712 sel->ips_isv4 = B_FALSE;
2713 sel->ips_local_addr_v6 = ip6h->ip6_dst;
2714 sel->ips_remote_addr_v6 = ip6h->ip6_src;
2757 sel->ips_isv4 = B_TRUE;
2758 sel->ips_local_addr_v4 = ipha->ipha_dst;
2759 sel->ips_remote_addr_v4 = ipha->ipha_src;
2772 sel->ips_protocol = nexthdr;
2777 sel->ips_remote_port = sel->ips_local_port = 0;
2798 sel->ips_icmp_type = *transportp++;
2799 sel->ips_icmp_code = *transportp;
2800 sel->ips_remote_port = sel->ips_local_port = 0;
2803 sel->ips_remote_port = *ports++;
2804 sel->ips_local_port = *ports;
2815 ipsec_init_outbound_ports(ipsec_selector_t *sel, mblk_t *mp, ipha_t *ipha,
2870 sel->ips_protocol = nexthdr;
2873 sel->ips_local_port = sel->ips_remote_port = 0;
2901 sel->ips_icmp_type = *typecode++;
2902 sel->ips_icmp_code = *typecode;
2903 sel->ips_remote_port = sel->ips_local_port = 0;
2905 sel->ips_local_port = *ports++;
2906 sel->ips_remote_port = *ports;
3149 selector_hash(ipsec_selector_t *sel, ipsec_policy_root_t *root)
3151 if (sel->ips_isv4) {
3152 return (IPSEC_IPV4_HASH(sel->ips_remote_addr_v4,
3155 return (IPSEC_IPV6_HASH(sel->ips_remote_addr_v6, root->ipr_nchains));
3882 ipsec_selkey_t sel;
3886 bzero(&sel, sizeof (sel));
3887 sel.ipsl_valid = (fam == IPSEC_AF_V4 ? IPSL_IPV4 : IPSL_IPV6);
3888 if ((pol = ipsec_policy_create(&sel, actp, nact, IPSEC_PRIO_SOCKET,
4025 ipsec_selector_t sel;
4029 bzero((void*)&sel, sizeof (sel));
4050 if (!ipsec_init_outbound_ports(&sel, data_mp, ipha, ip6h, 0,
4055 ixa->ixa_ipsec_src_port = sel.ips_local_port;
4056 ixa->ixa_ipsec_dst_port = sel.ips_remote_port;
4057 ixa->ixa_ipsec_proto = sel.ips_protocol;
4058 ixa->ixa_ipsec_icmp_type = sel.ips_icmp_type;
4059 ixa->ixa_ipsec_icmp_code = sel.ips_icmp_code;
4200 ipsec_selector_t sel;
4219 bzero((void*)&sel, sizeof (sel));
4222 sel.ips_local_addr_v4 = ipha->ipha_src;
4223 sel.ips_remote_addr_v4 = ip_get_dst(ipha);
4224 sel.ips_isv4 = B_TRUE;
4226 sel.ips_isv4 = B_FALSE;
4227 sel.ips_local_addr_v6 = ip6h->ip6_src;
4228 sel.ips_remote_addr_v6 = ip_get_dst_v6(ip6h, mp, NULL);
4230 sel.ips_protocol = ixa->ixa_protocol;
4232 if (!ipsec_init_outbound_ports(&sel, mp, ipha, ip6h, 0, ipss)) {
4243 p = ipsec_find_policy(IPSEC_TYPE_OUTBOUND, connp, &sel, ns);
4256 ixa->ixa_ipsec_src_port = sel.ips_local_port;
4257 ixa->ixa_ipsec_dst_port = sel.ips_remote_port;
4258 ixa->ixa_ipsec_icmp_type = sel.ips_icmp_type;
4259 ixa->ixa_ipsec_icmp_code = sel.ips_icmp_code;
4260 ixa->ixa_ipsec_proto = sel.ips_protocol;
4323 ipsec_selector_t sel;
4331 bzero((void*)&sel, sizeof (sel));
4333 sel.ips_protocol = connp->conn_proto;
4334 sel.ips_local_port = connp->conn_lport;
4335 sel.ips_remote_port = connp->conn_fport;
4336 sel.ips_is_icmp_inv_acq = 0;
4337 sel.ips_isv4 = isv4;
4339 sel.ips_local_addr_v4 = connp->conn_laddr_v4;
4340 sel.ips_remote_addr_v4 = connp->conn_faddr_v4;
4342 sel.ips_local_addr_v6 = connp->conn_laddr_v6;
4343 sel.ips_remote_addr_v6 = connp->conn_faddr_v6;
4346 p = ipsec_find_policy(IPSEC_TYPE_INBOUND, connp, &sel, ns);
4352 p = ipsec_find_policy(IPSEC_TYPE_OUTBOUND, connp, &sel, ns);
4375 connp->conn_ixa->ixa_ipsec_src_port = sel.ips_local_port;
4376 connp->conn_ixa->ixa_ipsec_dst_port = sel.ips_remote_port;
4377 connp->conn_ixa->ixa_ipsec_icmp_type = sel.ips_icmp_type;
4378 connp->conn_ixa->ixa_ipsec_icmp_code = sel.ips_icmp_code;
4379 connp->conn_ixa->ixa_ipsec_proto = sel.ips_protocol;
4442 ipsec_selector_t sel;
4445 bzero((void*)&sel, sizeof (sel));
4447 sel.ips_protocol = connp->conn_proto;
4448 sel.ips_local_port = connp->conn_lport;
4449 sel.ips_remote_port = dstport;
4450 sel.ips_is_icmp_inv_acq = 0;
4451 sel.ips_isv4 = isv4;
4453 IN6_V4MAPPED_TO_IPADDR(v6src, sel.ips_local_addr_v4);
4454 IN6_V4MAPPED_TO_IPADDR(v6dst, sel.ips_remote_addr_v4);
4456 sel.ips_local_addr_v6 = *v6src;
4457 sel.ips_remote_addr_v6 = *v6dst;
4460 p = ipsec_find_policy(IPSEC_TYPE_OUTBOUND, connp, &sel, ns);
4477 ixa->ixa_ipsec_src_port = sel.ips_local_port;
4478 ixa->ixa_ipsec_dst_port = sel.ips_remote_port;
4479 ixa->ixa_ipsec_icmp_type = sel.ips_icmp_type;
4480 ixa->ixa_ipsec_icmp_code = sel.ips_icmp_code;
4481 ixa->ixa_ipsec_proto = sel.ips_protocol;
5186 ipsec_selector_t sel;
5210 bzero(&sel, sizeof (sel));
5213 sel.ips_isv4 = B_TRUE;
5214 sel.ips_local_addr_v4 = inner_ipv4->ipha_src;
5215 sel.ips_remote_addr_v4 = inner_ipv4->ipha_dst;
5216 sel.ips_protocol = (uint8_t)inner_ipv4->ipha_protocol;
5219 sel.ips_isv4 = B_FALSE;
5220 sel.ips_local_addr_v6 = inner_ipv6->ip6_src;
5225 sel.ips_remote_addr_v6 = inner_ipv6->ip6_dst;
5261 sel.ips_remote_addr_v6 = ip_get_dst_v6(inner_ipv6, mp,
5307 if (sel.ips_isv4) {
5313 sel.ips_local_addr_v4 = inner_ipv4->ipha_src;
5314 sel.ips_remote_addr_v4 = inner_ipv4->ipha_dst;
5315 sel.ips_protocol =
5320 sel.ips_local_addr_v6 = inner_ipv6->ip6_src;
5321 sel.ips_remote_addr_v6 = inner_ipv6->ip6_dst;
5331 sel.ips_protocol = v6_proto;
5334 sel.ips_protocol);
5341 if (!ipsec_init_outbound_ports(&sel, mp,
5349 "(v4) sel.ips_protocol = %d, "
5350 "sel.ips_local_port = %d, "
5351 "sel.ips_remote_port = %d\n",
5352 sel.ips_protocol, ntohs(sel.ips_local_port),
5353 ntohs(sel.ips_remote_port));
5356 "(v6) sel.ips_protocol = %d, "
5357 "sel.ips_local_port = %d, "
5358 "sel.ips_remote_port = %d\n",
5359 sel.ips_protocol, ntohs(sel.ips_local_port),
5360 ntohs(sel.ips_remote_port));
5365 pol = ipsec_find_policy_head(NULL, polhead, IPSEC_TYPE_OUTBOUND, &sel);
5548 ipsec_selector_t sel;
5558 sel.ips_is_icmp_inv_acq = 0;
5600 rc = ipsec_init_inbound_sel(&sel, data_mp, inner_ipv4,
5709 rc = ipsec_init_inbound_sel(&sel, data_mp,
5767 tmpaddr = sel.ips_local_addr_v6;
5768 sel.ips_local_addr_v6 = sel.ips_remote_addr_v6;
5769 sel.ips_remote_addr_v6 = tmpaddr;
5770 tmpport = sel.ips_local_port;
5771 sel.ips_local_port = sel.ips_remote_port;
5772 sel.ips_remote_port = tmpport;
5778 &sel);
5800 pkt_unique = SA_UNIQUE_ID(sel.ips_remote_port,
5801 sel.ips_local_port,
5803 IPPROTO_ENCAP, sel.ips_protocol);
5809 * "sel" is still good here, so let's use it!