Lines Matching defs:sel

4874 	ipsec_selector_t sel;
5118 bzero(&sel, sizeof (sel));
5119 sel.ips_isv4 = (ixa->ixa_flags & IXAF_IS_IPV4) != 0;
5121 sel.ips_protocol = (ixa->ixa_ipsec_inaf == AF_INET) ?
5124 sel.ips_protocol = ixa->ixa_ipsec_proto;
5125 sel.ips_local_port = ixa->ixa_ipsec_src_port;
5126 sel.ips_remote_port = ixa->ixa_ipsec_dst_port;
5128 sel.ips_icmp_type = ixa->ixa_ipsec_icmp_type;
5129 sel.ips_icmp_code = ixa->ixa_ipsec_icmp_code;
5130 sel.ips_is_icmp_inv_acq = 0;
5132 sel.ips_local_addr_v4 = ipha->ipha_src;
5133 sel.ips_remote_addr_v4 = ipha->ipha_dst;
5135 sel.ips_local_addr_v6 = ip6h->ip6_src;
5136 sel.ips_remote_addr_v6 = ip6h->ip6_dst;
5157 extended->b_cont = sadb_extended_acquire(&sel, pp, ap, tunnel_mode,
5490 sadb_extended_acquire(ipsec_selector_t *sel, ipsec_policy_t *pol,
5560 ASSERT(sel->ips_protocol == IPPROTO_ENCAP);
5564 ASSERT(sel->ips_protocol == IPPROTO_IPV6);
5614 proto = sel->ips_protocol; /* Either _ENCAP or _IPV6 */
5630 proto = sel->ips_protocol;
5631 lport = sel->ips_local_port;
5632 rport = sel->ips_remote_port;
5635 af = sel->ips_isv4 ? AF_INET : AF_INET6;
5642 (uint32_t *)(&sel->ips_local_addr_v6), lport, proto, 0);
5650 (uint32_t *)(&sel->ips_remote_addr_v6), rport, proto, 0);
6251 ipsec_conn_pol(ipsec_selector_t *sel, conn_t *connp, ipsec_policy_t **ppp)
6260 pp = ipsec_find_policy(IPSEC_TYPE_OUTBOUND, connp, sel,
6272 ipsec_udp_pol(ipsec_selector_t *sel, ipsec_policy_t **ppp, ip_stack_t *ipst)
6280 if (sel->ips_local_port == 0)
6283 connfp = &ipst->ips_ipcl_udp_fanout[IPCL_UDP_HASH(sel->ips_local_port,
6287 if (sel->ips_isv4) {
6290 if (IPCL_UDP_MATCH(connp, sel->ips_local_port,
6291 sel->ips_local_addr_v4, sel->ips_remote_port,
6292 sel->ips_remote_addr_v4))
6299 portonly.ips_local_port = sel->ips_local_port;
6300 sel = &portonly;
6307 if (IPCL_UDP_MATCH_V6(connp, sel->ips_local_port,
6308 sel->ips_local_addr_v6, sel->ips_remote_port,
6309 sel->ips_remote_addr_v6))
6323 ipsec_conn_pol(sel, connp, ppp);
6328 ipsec_find_listen_conn(uint16_t *pptr, ipsec_selector_t *sel, ip_stack_t *ipst)
6332 const in6_addr_t *v6addrmatch = &sel->ips_local_addr_v6;
6334 if (sel->ips_local_port == 0)
6338 IPCL_BIND_HASH(sel->ips_local_port, ipst)];
6341 if (sel->ips_isv4) {
6345 sel->ips_local_addr_v4, pptr[1]))
6377 ipsec_tcp_pol(ipsec_selector_t *sel, ipsec_policy_t **ppp, ip_stack_t *ipst)
6393 if (sel->ips_local_port == 0)
6400 pptr[0] = sel->ips_remote_port;
6401 pptr[1] = sel->ips_local_port;
6404 IPCL_CONN_HASH(sel->ips_remote_addr_v4, ports, ipst)];
6408 if (sel->ips_isv4) {
6411 sel->ips_remote_addr_v4, sel->ips_local_addr_v4,
6419 sel->ips_remote_addr_v6, sel->ips_local_addr_v6,
6433 if ((connp = ipsec_find_listen_conn(pptr, sel, ipst)) == NULL)
6437 ipsec_conn_pol(sel, connp, ppp);
6442 ipsec_sctp_pol(ipsec_selector_t *sel, ipsec_policy_t **ppp,
6458 if (sel->ips_local_port == 0)
6465 pptr[0] = sel->ips_remote_port;
6466 pptr[1] = sel->ips_local_port;
6473 if (sel->ips_isv4) {
6476 IN6_IPADDR_TO_V4MAPPED(sel->ips_remote_addr_v4, &dst);
6477 IN6_IPADDR_TO_V4MAPPED(sel->ips_local_addr_v4, &src);
6481 connp = sctp_find_conn(&sel->ips_remote_addr_v6,
6482 &sel->ips_local_addr_v6, ports, ALL_ZONES,
6487 ipsec_conn_pol(sel, connp, ppp);
6492 * Fill in a query for the SPD (in "sel") using two PF_KEY address extensions.
6504 ipsec_get_inverse_acquire_sel(ipsec_selector_t *sel, sadb_address_t *srcext,
6512 bzero(sel, sizeof (*sel));
6513 sel->ips_protocol = srcext->sadb_address_proto;
6522 sel->ips_remote_addr_v6 = dst6->sin6_addr;
6523 sel->ips_local_addr_v6 = src6->sin6_addr;
6524 if (sel->ips_protocol == IPPROTO_ICMPV6) {
6525 sel->ips_is_icmp_inv_acq = 1;
6527 sel->ips_remote_port = dst6->sin6_port;
6528 sel->ips_local_port = src6->sin6_port;
6530 sel->ips_isv4 = B_FALSE;
6537 sel->ips_remote_addr_v4 = dst->sin_addr.s_addr;
6538 sel->ips_local_addr_v4 = src->sin_addr.s_addr;
6539 if (sel->ips_protocol == IPPROTO_ICMP) {
6540 sel->ips_is_icmp_inv_acq = 1;
6542 sel->ips_remote_port = dst->sin_port;
6543 sel->ips_local_port = src->sin_port;
6545 sel->ips_isv4 = B_TRUE;
6562 ipsec_tun_pol(ipsec_selector_t *sel, ipsec_policy_t **ppp,
6588 * Reset "sel" to indicate inner selectors. Pass
6591 if ((err = ipsec_get_inverse_acquire_sel(sel,
6616 * changing fields in "sel".
6624 *ppp = ipsec_find_policy_head(NULL, polhead, IPSEC_TYPE_INBOUND, sel);
6642 ipsec_oth_pol(ipsec_selector_t *sel, ipsec_policy_t **ppp,
6645 boolean_t isv4 = sel->ips_isv4;
6650 connfp = &ipst->ips_ipcl_proto_fanout_v4[sel->ips_protocol];
6652 connfp = &ipst->ips_ipcl_proto_fanout_v6[sel->ips_protocol];
6660 connp->conn_laddr_v4 == sel->ips_local_addr_v4) &&
6662 connp->conn_faddr_v4 == sel->ips_remote_addr_v4))
6667 &sel->ips_local_addr_v6)) &&
6670 &sel->ips_remote_addr_v6)))
6682 ipsec_conn_pol(sel, connp, ppp);
6718 ipsec_selector_t sel, isel;
6783 err = ipsec_get_inverse_acquire_sel(&sel, srcext, dstext, &diagnostic);
6790 sel.ips_protocol != IPPROTO_ENCAP && sel.ips_protocol != 0) ||
6792 sel.ips_protocol != IPPROTO_IPV6 && sel.ips_protocol != 0))) {
6802 switch (sel.ips_protocol) {
6804 ipsec_tcp_pol(&sel, &pp, ipst);
6807 ipsec_udp_pol(&sel, &pp, ipst);
6810 ipsec_sctp_pol(&sel, &pp, ipst);
6815 * Assume sel.ips_remote_addr_* has the right address at
6818 itp = itp_get_byaddr((uint32_t *)(&sel.ips_local_addr_v6),
6819 (uint32_t *)(&sel.ips_remote_addr_v6), src->sin6_family,
6828 isel.ips_isv4 = (sel.ips_protocol == IPPROTO_ENCAP);
6840 ipsec_oth_pol(&sel, &pp, ipst);
6849 pp = ipsec_find_policy(IPSEC_TYPE_OUTBOUND, NULL, &sel, ns);
6863 retmp = sadb_extended_acquire(&sel, pp, NULL,