Lines Matching refs:connp
109 conn_recvancillary_size(conn_t *connp, crb_t recv_ancillary, in conn_recvancillary_size() argument
113 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in conn_recvancillary_size()
133 connp->conn_family == AF_INET) { in conn_recvancillary_size()
147 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in conn_recvancillary_size()
174 connp->conn_family == AF_INET6) { in conn_recvancillary_size()
268 conn_recvancillary_add(conn_t *connp, crb_t recv_ancillary, in conn_recvancillary_add() argument
297 connp->conn_family == AF_INET) { in conn_recvancillary_add()
298 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in conn_recvancillary_add()
318 ipif = ipif_good_addr(ill, IPCL_ZONEID(connp)); in conn_recvancillary_add()
348 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in conn_recvancillary_add()
412 connp->conn_family == AF_INET6) { in conn_recvancillary_add()
535 cred_t *rcr = connp->conn_cred; in conn_recvancillary_add()
617 conn_t *connp = coa->coa_connp; in conn_opt_get() local
629 *i1 = connp->conn_debug ? SO_DEBUG : 0; in conn_opt_get()
632 *i1 = connp->conn_keepalive ? SO_KEEPALIVE : 0; in conn_opt_get()
637 lgr->l_onoff = connp->conn_linger ? SO_LINGER : 0; in conn_opt_get()
638 lgr->l_linger = connp->conn_lingertime; in conn_opt_get()
643 *i1 = connp->conn_oobinline ? SO_OOBINLINE : 0; in conn_opt_get()
646 *i1 = connp->conn_reuseaddr ? SO_REUSEADDR : 0; in conn_opt_get()
649 *i1 = connp->conn_so_type; in conn_opt_get()
656 *i1 = connp->conn_useloopback ? SO_USELOOPBACK : 0; in conn_opt_get()
659 *i1 = connp->conn_broadcast ? SO_BROADCAST : 0; in conn_opt_get()
663 *i1 = connp->conn_sndbuf; in conn_opt_get()
666 *i1 = connp->conn_rcvbuf; in conn_opt_get()
677 *i1 = connp->conn_dgram_errind ? SO_DGRAM_ERRIND : 0; in conn_opt_get()
680 *i1 = connp->conn_recv_ancillary.crb_recvucred; in conn_opt_get()
683 *i1 = connp->conn_recv_ancillary.crb_timestamp; in conn_opt_get()
686 *i1 = connp->conn_isvrrp; in conn_opt_get()
689 *i1 = connp->conn_anon_mlp; in conn_opt_get()
692 *i1 = (connp->conn_mac_mode == CONN_MAC_AWARE); in conn_opt_get()
695 *i1 = (connp->conn_mac_mode == CONN_MAC_IMPLICIT); in conn_opt_get()
698 *i1 = connp->conn_allzones; in conn_opt_get()
701 *i1 = connp->conn_exclbind ? SO_EXCLBIND : 0; in conn_opt_get()
704 *i1 = connp->conn_proto; in conn_opt_get()
708 *i1 = connp->conn_family; in conn_opt_get()
715 if (connp->conn_family != AF_INET) in conn_opt_get()
742 *i1 = connp->conn_recv_ancillary. in conn_opt_get()
788 *i1 = connp->conn_recv_ancillary.crb_recvopts; in conn_opt_get()
791 *i1 = connp->conn_recv_ancillary.crb_recvdstaddr; in conn_opt_get()
794 *i1 = connp->conn_recv_ancillary.crb_recvif; in conn_opt_get()
797 *i1 = connp->conn_recv_ancillary.crb_recvslla; in conn_opt_get()
800 *i1 = connp->conn_recv_ancillary.crb_recvttl; in conn_opt_get()
803 *i1 = connp->conn_recv_ancillary.crb_recvtos; in conn_opt_get()
827 (void) ip_mrouter_get(name, connp, ptr); in conn_opt_get()
830 return (ipsec_req_from_conn(connp, (ipsec_req_t *)ptr, in conn_opt_get()
834 *i1 = connp->conn_bound_if; in conn_opt_get()
837 *i1 = connp->conn_unspec_src; in conn_opt_get()
846 *i1 = connp->conn_min_ttl; in conn_opt_get()
853 if (connp->conn_family != AF_INET6) in conn_opt_get()
881 *i1 = connp->conn_bound_if; in conn_opt_get()
884 *i1 = connp->conn_unspec_src; in conn_opt_get()
887 *i1 = connp->conn_recv_ancillary.crb_ip_recvpktinfo; in conn_opt_get()
890 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvtclass; in conn_opt_get()
893 *i1 = connp->conn_ipv6_recvpathmtu; in conn_opt_get()
896 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvhoplimit; in conn_opt_get()
899 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvhopopts; in conn_opt_get()
902 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvdstopts; in conn_opt_get()
906 connp->conn_recv_ancillary.crb_old_ipv6_recvdstopts; in conn_opt_get()
909 *i1 = connp->conn_recv_ancillary. in conn_opt_get()
913 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvrthdr; in conn_opt_get()
965 return (ip_fill_mtuinfo(connp, ixa, in conn_opt_get()
968 return (ipsec_req_from_conn(connp, (ipsec_req_t *)ptr, in conn_opt_get()
982 *i1 = connp->conn_ipv6_v6only; in conn_opt_get()
985 *i1 = connp->conn_min_ttl; in conn_opt_get()
994 *i1 = connp->conn_anon_priv_bind; in conn_opt_get()
997 *i1 = connp->conn_exclbind ? UDP_EXCLBIND : 0; in conn_opt_get()
1006 *i1 = connp->conn_recv_ancillary.crb_recvdstaddr; in conn_opt_get()
1009 *i1 = connp->conn_anon_priv_bind; in conn_opt_get()
1012 *i1 = connp->conn_exclbind ? TCP_EXCLBIND : 0; in conn_opt_get()
1082 conn_t *connp = coa->coa_connp; in conn_opt_set_socket() local
1089 if (IPCL_IS_BOUND(connp)) in conn_opt_set_socket()
1099 if (IPCL_IS_BOUND(connp)) in conn_opt_set_socket()
1110 mutex_enter(&connp->conn_lock); in conn_opt_set_socket()
1114 connp->conn_debug = onoff; in conn_opt_set_socket()
1117 connp->conn_keepalive = onoff; in conn_opt_set_socket()
1123 connp->conn_linger = 1; in conn_opt_set_socket()
1124 connp->conn_lingertime = lgr->l_linger; in conn_opt_set_socket()
1126 connp->conn_linger = 0; in conn_opt_set_socket()
1127 connp->conn_lingertime = 0; in conn_opt_set_socket()
1132 connp->conn_oobinline = onoff; in conn_opt_set_socket()
1136 connp->conn_reuseaddr = onoff; in conn_opt_set_socket()
1146 connp->conn_useloopback = onoff; in conn_opt_set_socket()
1149 connp->conn_broadcast = onoff; in conn_opt_set_socket()
1153 connp->conn_sndbuf = *i1; in conn_opt_set_socket()
1158 connp->conn_rcvbuf = *i1; in conn_opt_set_socket()
1169 connp->conn_dgram_errind = onoff; in conn_opt_set_socket()
1172 connp->conn_recv_ancillary.crb_recvucred = onoff; in conn_opt_set_socket()
1175 connp->conn_allzones = onoff; in conn_opt_set_socket()
1180 ixa->ixa_zoneid = connp->conn_zoneid; in conn_opt_set_socket()
1183 connp->conn_recv_ancillary.crb_timestamp = onoff; in conn_opt_set_socket()
1186 connp->conn_isvrrp = onoff; in conn_opt_set_socket()
1189 connp->conn_anon_mlp = onoff; in conn_opt_set_socket()
1192 connp->conn_mac_mode = onoff ? in conn_opt_set_socket()
1196 connp->conn_mac_mode = onoff ? in conn_opt_set_socket()
1200 connp->conn_exclbind = onoff; in conn_opt_set_socket()
1203 mutex_exit(&connp->conn_lock); in conn_opt_set_socket()
1212 conn_t *connp = coa->coa_connp; in conn_opt_set_ip() local
1219 zoneid_t zoneid = IPCL_ZONEID(connp); in conn_opt_set_ip()
1221 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in conn_opt_set_ip()
1224 if (connp->conn_family != AF_INET) in conn_opt_set_ip()
1331 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1336 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1344 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1350 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1352 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1357 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1363 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1383 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1384 connp->conn_recv_ancillary.crb_recvopts = onoff; in conn_opt_set_ip()
1385 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1388 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1389 connp->conn_recv_ancillary.crb_recvdstaddr = onoff; in conn_opt_set_ip()
1390 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1393 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1394 connp->conn_recv_ancillary.crb_recvif = onoff; in conn_opt_set_ip()
1395 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1398 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1399 connp->conn_recv_ancillary.crb_recvslla = onoff; in conn_opt_set_ip()
1400 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1403 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1404 connp->conn_recv_ancillary.crb_recvttl = onoff; in conn_opt_set_ip()
1405 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1408 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1409 connp->conn_recv_ancillary.crb_recvtos = onoff; in conn_opt_set_ip()
1410 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1423 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1424 connp->conn_recv_ancillary.crb_ip_recvpktinfo = in conn_opt_set_ip()
1426 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1431 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1441 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1462 return (ip_opt_set_multicast_group(connp, name, in conn_opt_set_ip()
1473 return (ip_opt_set_multicast_sources(connp, name, in conn_opt_set_ip()
1477 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1478 error = ipsec_set_req(cr, connp, (ipsec_req_t *)invalp); in conn_opt_set_ip()
1479 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1497 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1498 connp->conn_incoming_ifindex = ifindex; /* Receive */ in conn_opt_set_ip()
1499 connp->conn_bound_if = ifindex; /* getsockopt */ in conn_opt_set_ip()
1500 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1504 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1505 connp->conn_unspec_src = onoff; in conn_opt_set_ip()
1511 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1528 error = ip_mrouter_set((int)name, connp, checkonly, in conn_opt_set_ip()
1535 mutex_enter(&connp->conn_lock); in conn_opt_set_ip()
1536 connp->conn_min_ttl = *i1; in conn_opt_set_ip()
1537 mutex_exit(&connp->conn_lock); in conn_opt_set_ip()
1548 conn_t *connp = coa->coa_connp; in conn_opt_set_ipv6() local
1554 zoneid_t zoneid = IPCL_ZONEID(connp); in conn_opt_set_ipv6()
1555 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in conn_opt_set_ipv6()
1558 if (connp->conn_family != AF_INET6) in conn_opt_set_ipv6()
1755 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1757 ipp->ipp_unicast_hops = connp->conn_default_ttl; in conn_opt_set_ipv6()
1761 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1784 return (ip_opt_set_multicast_group(connp, name, in conn_opt_set_ipv6()
1791 return (ip_opt_set_multicast_sources(connp, name, in conn_opt_set_ipv6()
1796 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1797 connp->conn_incoming_ifindex = ifindex; /* Receive */ in conn_opt_set_ipv6()
1798 connp->conn_bound_if = ifindex; /* getsockopt */ in conn_opt_set_ipv6()
1799 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1803 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1804 connp->conn_unspec_src = onoff; in conn_opt_set_ipv6()
1809 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1812 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1813 connp->conn_recv_ancillary.crb_ip_recvpktinfo = onoff; in conn_opt_set_ipv6()
1814 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1817 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1818 connp->conn_recv_ancillary.crb_ipv6_recvtclass = onoff; in conn_opt_set_ipv6()
1819 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1822 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1823 connp->conn_ipv6_recvpathmtu = onoff; in conn_opt_set_ipv6()
1824 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1827 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1828 connp->conn_recv_ancillary.crb_ipv6_recvhoplimit = in conn_opt_set_ipv6()
1830 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1833 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1834 connp->conn_recv_ancillary.crb_ipv6_recvhopopts = onoff; in conn_opt_set_ipv6()
1835 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1838 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1839 connp->conn_recv_ancillary.crb_ipv6_recvdstopts = onoff; in conn_opt_set_ipv6()
1840 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1843 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1844 connp->conn_recv_ancillary.crb_old_ipv6_recvdstopts = in conn_opt_set_ipv6()
1846 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1849 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1850 connp->conn_recv_ancillary.crb_ipv6_recvrthdrdstopts = in conn_opt_set_ipv6()
1852 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1855 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1856 connp->conn_recv_ancillary.crb_ipv6_recvrthdr = onoff; in conn_opt_set_ipv6()
1857 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1860 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1876 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1882 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1893 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1901 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1909 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1927 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1931 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1939 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1944 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1949 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1957 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1962 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1966 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1974 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1979 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
1983 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
1991 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
2016 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
2017 error = ipsec_set_req(cr, connp, (ipsec_req_t *)invalp); in conn_opt_set_ipv6()
2018 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
2035 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
2037 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
2043 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
2044 connp->conn_ipv6_v6only = onoff; in conn_opt_set_ipv6()
2045 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
2048 mutex_enter(&connp->conn_lock); in conn_opt_set_ipv6()
2049 connp->conn_min_ttl = *i1; in conn_opt_set_ipv6()
2050 mutex_exit(&connp->conn_lock); in conn_opt_set_ipv6()
2062 conn_t *connp = coa->coa_connp; in conn_opt_set_udp() local
2078 mutex_enter(&connp->conn_lock); in conn_opt_set_udp()
2081 connp->conn_anon_priv_bind = onoff; in conn_opt_set_udp()
2084 connp->conn_exclbind = onoff; in conn_opt_set_udp()
2087 mutex_exit(&connp->conn_lock); in conn_opt_set_udp()
2097 conn_t *connp = coa->coa_connp; in conn_opt_set_tcp() local
2113 mutex_enter(&connp->conn_lock); in conn_opt_set_tcp()
2116 connp->conn_anon_priv_bind = onoff; in conn_opt_set_tcp()
2119 connp->conn_exclbind = onoff; in conn_opt_set_tcp()
2122 connp->conn_recv_ancillary.crb_recvdstaddr = onoff; in conn_opt_set_tcp()
2125 mutex_exit(&connp->conn_lock); in conn_opt_set_tcp()
2130 conn_getsockname(conn_t *connp, struct sockaddr *sa, uint_t *salenp) in conn_getsockname() argument
2135 if (connp->conn_family == AF_INET) { in conn_getsockname()
2144 if (!IN6_IS_ADDR_V4MAPPED_ANY(&connp->conn_saddr_v6) && in conn_getsockname()
2145 !IN6_IS_ADDR_UNSPECIFIED(&connp->conn_saddr_v6)) { in conn_getsockname()
2146 sin->sin_addr.s_addr = connp->conn_saddr_v4; in conn_getsockname()
2155 sin->sin_addr.s_addr = connp->conn_bound_addr_v4; in conn_getsockname()
2157 sin->sin_port = connp->conn_lport; in conn_getsockname()
2167 if (!IN6_IS_ADDR_UNSPECIFIED(&connp->conn_saddr_v6)) { in conn_getsockname()
2168 sin6->sin6_addr = connp->conn_saddr_v6; in conn_getsockname()
2176 sin6->sin6_addr = connp->conn_bound_addr_v6; in conn_getsockname()
2178 sin6->sin6_port = connp->conn_lport; in conn_getsockname()
2180 (connp->conn_ixa->ixa_flags & IXAF_SCOPEID_SET)) in conn_getsockname()
2181 sin6->sin6_scope_id = connp->conn_ixa->ixa_scopeid; in conn_getsockname()
2187 conn_getpeername(conn_t *connp, struct sockaddr *sa, uint_t *salenp) in conn_getpeername() argument
2192 if (connp->conn_family == AF_INET) { in conn_getpeername()
2201 sin->sin_addr.s_addr = connp->conn_faddr_v4; in conn_getpeername()
2202 sin->sin_port = connp->conn_fport; in conn_getpeername()
2212 sin6->sin6_addr = connp->conn_faddr_v6; in conn_getpeername()
2213 sin6->sin6_port = connp->conn_fport; in conn_getpeername()
2214 sin6->sin6_flowinfo = connp->conn_flowinfo; in conn_getpeername()
2216 (connp->conn_ixa->ixa_flags & IXAF_SCOPEID_SET)) in conn_getpeername()
2217 sin6->sin6_scope_id = connp->conn_ixa->ixa_scopeid; in conn_getpeername()
2244 conn_build_hdr_template(conn_t *connp, uint_t ulp_hdr_length, uint_t extra, in conn_build_hdr_template() argument
2247 ip_xmit_attr_t *ixa = connp->conn_ixa; in conn_build_hdr_template()
2248 ip_pkt_t *ipp = &connp->conn_xmit_ipp; in conn_build_hdr_template()
2253 ASSERT(MUTEX_HELD(&connp->conn_lock)); in conn_build_hdr_template()
2269 if (hdrs_len != connp->conn_ht_iphc_allocated) { in conn_build_hdr_template()
2275 if (connp->conn_ht_iphc != NULL) { in conn_build_hdr_template()
2276 kmem_free(connp->conn_ht_iphc, in conn_build_hdr_template()
2277 connp->conn_ht_iphc_allocated); in conn_build_hdr_template()
2279 connp->conn_ht_iphc = hdrs; in conn_build_hdr_template()
2280 connp->conn_ht_iphc_allocated = hdrs_len; in conn_build_hdr_template()
2282 hdrs = connp->conn_ht_iphc; in conn_build_hdr_template()
2285 connp->conn_ht_iphc_len = hdrs_len; in conn_build_hdr_template()
2287 connp->conn_ht_ulp = hdrs + ip_hdr_length; in conn_build_hdr_template()
2288 connp->conn_ht_ulp_len = ulp_hdr_length; in conn_build_hdr_template()
2295 ip_build_hdrs_v4(hdrs, ip_hdr_length, ipp, connp->conn_proto); in conn_build_hdr_template()
2303 connp->conn_sum = cksum_massage_options_v4(ipha, in conn_build_hdr_template()
2304 connp->conn_netstack); in conn_build_hdr_template()
2306 connp->conn_sum = 0; in conn_build_hdr_template()
2313 ip_build_hdrs_v6(hdrs, ip_hdr_length, ipp, connp->conn_proto, in conn_build_hdr_template()
2318 connp->conn_sum = cksum_massage_options_v6(ip6h, in conn_build_hdr_template()
2319 ip_hdr_length, connp->conn_netstack); in conn_build_hdr_template()
2330 connp->conn_sum = 0; in conn_build_hdr_template()
2555 ip_attr_connect(const conn_t *connp, ip_xmit_attr_t *ixa, in ip_attr_connect() argument
2563 ASSERT(MUTEX_NOT_HELD(&connp->conn_lock)); in ip_attr_connect()
2565 if (connp->conn_zone_is_global) in ip_attr_connect()
2583 if (connp->conn_unspec_src || v4src != INADDR_ANY) in ip_attr_connect()
2589 uinfo, flags, connp->conn_mac_mode); in ip_attr_connect()
2592 if (connp->conn_unspec_src || !IN6_IS_ADDR_UNSPECIFIED(v6src)) in ip_attr_connect()
2598 uinfo, flags, connp->conn_mac_mode); in ip_attr_connect()
2612 ipsec_cache_outbound_policy(connp, v6src, v6dst, dstport, ixa); in ip_attr_connect()
2631 conn_connect(conn_t *connp, iulp_t *uinfo, uint32_t flags) in conn_connect() argument
2633 ip_xmit_attr_t *ixa = connp->conn_ixa; in conn_connect()
2639 ASSERT(MUTEX_HELD(&connp->conn_lock)); in conn_connect()
2641 if (connp->conn_ipversion == IPV4_VERSION) in conn_connect()
2656 ip_attr_nexthop(&connp->conn_xmit_ipp, connp->conn_ixa, in conn_connect()
2657 &connp->conn_faddr_v6, &nexthop); in conn_connect()
2658 saddr = connp->conn_saddr_v6; in conn_connect()
2659 faddr = connp->conn_faddr_v6; in conn_connect()
2660 fport = connp->conn_fport; in conn_connect()
2662 mutex_exit(&connp->conn_lock); in conn_connect()
2663 error = ip_attr_connect(connp, ixa, &saddr, &faddr, &nexthop, fport, in conn_connect()
2665 mutex_enter(&connp->conn_lock); in conn_connect()
2668 connp->conn_saddr_v6 = saddr; in conn_connect()
2685 if (connp->conn_mlp_type != mlptSingle) in conn_connect()
2692 error = conn_update_label(connp, ixa, in conn_connect()
2693 &connp->conn_faddr_v6, &connp->conn_xmit_ipp); in conn_connect()
2703 connp->conn_laddr_v6 = connp->conn_saddr_v6; in conn_connect()
2710 connp->conn_policy_cached = B_FALSE; in conn_connect()
2731 error = ipsec_conn_cache_policy(connp, in conn_connect()
2732 connp->conn_ipversion == IPV4_VERSION); in conn_connect()
2784 conn_same_as_last_v4(conn_t *connp, sin_t *sin) in conn_same_as_last_v4() argument
2786 ASSERT(connp->conn_family == AF_INET); in conn_same_as_last_v4()
2787 return (sin->sin_addr.s_addr == connp->conn_v4lastdst && in conn_same_as_last_v4()
2788 sin->sin_port == connp->conn_lastdstport); in conn_same_as_last_v4()
2795 conn_same_as_last_v6(conn_t *connp, sin6_t *sin6) in conn_same_as_last_v6() argument
2797 return (IN6_ARE_ADDR_EQUAL(&connp->conn_v6lastdst, &sin6->sin6_addr) && in conn_same_as_last_v6()
2798 sin6->sin6_port == connp->conn_lastdstport && in conn_same_as_last_v6()
2799 sin6->sin6_flowinfo == connp->conn_lastflowinfo && in conn_same_as_last_v6()
2800 sin6->sin6_scope_id == connp->conn_lastscopeid); in conn_same_as_last_v6()
2811 conn_update_label(const conn_t *connp, const ip_xmit_attr_t *ixa, in conn_update_label() argument
2835 conn_t *, connp, char *, opt_storage, in conn_update_label()
2868 conn_t *, connp, char *, opt_storage, in conn_update_label()