Lines Matching refs:connp

107 conn_recvancillary_size(conn_t *connp, crb_t recv_ancillary,
111 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
131 connp->conn_family == AF_INET) {
145 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
172 connp->conn_family == AF_INET6) {
255 conn_recvancillary_add(conn_t *connp, crb_t recv_ancillary,
284 connp->conn_family == AF_INET) {
285 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
305 ipif = ipif_good_addr(ill, IPCL_ZONEID(connp));
335 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
399 connp->conn_family == AF_INET6) {
522 cred_t *rcr = connp->conn_cred;
591 conn_t *connp = coa->coa_connp;
603 *i1 = connp->conn_debug ? SO_DEBUG : 0;
606 *i1 = connp->conn_keepalive ? SO_KEEPALIVE : 0;
611 lgr->l_onoff = connp->conn_linger ? SO_LINGER : 0;
612 lgr->l_linger = connp->conn_lingertime;
617 *i1 = connp->conn_oobinline ? SO_OOBINLINE : 0;
620 *i1 = connp->conn_reuseaddr ? SO_REUSEADDR : 0;
623 *i1 = connp->conn_so_type;
630 *i1 = connp->conn_useloopback ? SO_USELOOPBACK : 0;
633 *i1 = connp->conn_broadcast ? SO_BROADCAST : 0;
637 *i1 = connp->conn_sndbuf;
640 *i1 = connp->conn_rcvbuf;
651 *i1 = connp->conn_dgram_errind ? SO_DGRAM_ERRIND : 0;
654 *i1 = connp->conn_recv_ancillary.crb_recvucred;
657 *i1 = connp->conn_recv_ancillary.crb_timestamp;
660 *i1 = connp->conn_isvrrp;
663 *i1 = connp->conn_anon_mlp;
666 *i1 = (connp->conn_mac_mode == CONN_MAC_AWARE);
669 *i1 = (connp->conn_mac_mode == CONN_MAC_IMPLICIT);
672 *i1 = connp->conn_allzones;
675 *i1 = connp->conn_exclbind ? SO_EXCLBIND : 0;
678 *i1 = connp->conn_proto;
682 *i1 = connp->conn_family;
689 if (connp->conn_family != AF_INET)
716 *i1 = connp->conn_recv_ancillary.
762 *i1 = connp->conn_recv_ancillary.crb_recvopts;
765 *i1 = connp->conn_recv_ancillary.crb_recvdstaddr;
768 *i1 = connp->conn_recv_ancillary.crb_recvif;
771 *i1 = connp->conn_recv_ancillary.crb_recvslla;
774 *i1 = connp->conn_recv_ancillary.crb_recvttl;
798 (void) ip_mrouter_get(name, connp, ptr);
801 return (ipsec_req_from_conn(connp, (ipsec_req_t *)ptr,
805 *i1 = connp->conn_bound_if;
808 *i1 = connp->conn_unspec_src;
821 if (connp->conn_family != AF_INET6)
849 *i1 = connp->conn_bound_if;
852 *i1 = connp->conn_unspec_src;
855 *i1 = connp->conn_recv_ancillary.crb_ip_recvpktinfo;
858 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvtclass;
861 *i1 = connp->conn_ipv6_recvpathmtu;
864 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvhoplimit;
867 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvhopopts;
870 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvdstopts;
874 connp->conn_recv_ancillary.crb_old_ipv6_recvdstopts;
877 *i1 = connp->conn_recv_ancillary.
881 *i1 = connp->conn_recv_ancillary.crb_ipv6_recvrthdr;
933 return (ip_fill_mtuinfo(connp, ixa,
936 return (ipsec_req_from_conn(connp, (ipsec_req_t *)ptr,
950 *i1 = connp->conn_ipv6_v6only;
959 *i1 = connp->conn_anon_priv_bind;
962 *i1 = connp->conn_exclbind ? UDP_EXCLBIND : 0;
971 *i1 = connp->conn_recv_ancillary.crb_recvdstaddr;
974 *i1 = connp->conn_anon_priv_bind;
977 *i1 = connp->conn_exclbind ? TCP_EXCLBIND : 0;
1047 conn_t *connp = coa->coa_connp;
1054 if (IPCL_IS_BOUND(connp))
1064 if (IPCL_IS_BOUND(connp))
1075 mutex_enter(&connp->conn_lock);
1079 connp->conn_debug = onoff;
1082 connp->conn_keepalive = onoff;
1088 connp->conn_linger = 1;
1089 connp->conn_lingertime = lgr->l_linger;
1091 connp->conn_linger = 0;
1092 connp->conn_lingertime = 0;
1097 connp->conn_oobinline = onoff;
1101 connp->conn_reuseaddr = onoff;
1111 connp->conn_useloopback = onoff;
1114 connp->conn_broadcast = onoff;
1118 connp->conn_sndbuf = *i1;
1123 connp->conn_rcvbuf = *i1;
1134 connp->conn_dgram_errind = onoff;
1137 connp->conn_recv_ancillary.crb_recvucred = onoff;
1140 connp->conn_allzones = onoff;
1145 ixa->ixa_zoneid = connp->conn_zoneid;
1148 connp->conn_recv_ancillary.crb_timestamp = onoff;
1151 connp->conn_isvrrp = onoff;
1154 connp->conn_anon_mlp = onoff;
1157 connp->conn_mac_mode = onoff ?
1161 connp->conn_mac_mode = onoff ?
1165 connp->conn_exclbind = onoff;
1168 mutex_exit(&connp->conn_lock);
1177 conn_t *connp = coa->coa_connp;
1184 zoneid_t zoneid = IPCL_ZONEID(connp);
1186 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
1189 if (connp->conn_family != AF_INET)
1291 mutex_enter(&connp->conn_lock);
1296 mutex_exit(&connp->conn_lock);
1304 mutex_exit(&connp->conn_lock);
1310 mutex_enter(&connp->conn_lock);
1312 mutex_exit(&connp->conn_lock);
1317 mutex_enter(&connp->conn_lock);
1323 mutex_exit(&connp->conn_lock);
1343 mutex_enter(&connp->conn_lock);
1344 connp->conn_recv_ancillary.crb_recvopts = onoff;
1345 mutex_exit(&connp->conn_lock);
1348 mutex_enter(&connp->conn_lock);
1349 connp->conn_recv_ancillary.crb_recvdstaddr = onoff;
1350 mutex_exit(&connp->conn_lock);
1353 mutex_enter(&connp->conn_lock);
1354 connp->conn_recv_ancillary.crb_recvif = onoff;
1355 mutex_exit(&connp->conn_lock);
1358 mutex_enter(&connp->conn_lock);
1359 connp->conn_recv_ancillary.crb_recvslla = onoff;
1360 mutex_exit(&connp->conn_lock);
1363 mutex_enter(&connp->conn_lock);
1364 connp->conn_recv_ancillary.crb_recvttl = onoff;
1365 mutex_exit(&connp->conn_lock);
1378 mutex_enter(&connp->conn_lock);
1379 connp->conn_recv_ancillary.crb_ip_recvpktinfo =
1381 mutex_exit(&connp->conn_lock);
1386 mutex_enter(&connp->conn_lock);
1396 mutex_exit(&connp->conn_lock);
1417 return (ip_opt_set_multicast_group(connp, name,
1428 return (ip_opt_set_multicast_sources(connp, name,
1432 mutex_enter(&connp->conn_lock);
1433 error = ipsec_set_req(cr, connp, (ipsec_req_t *)invalp);
1434 mutex_exit(&connp->conn_lock);
1452 mutex_enter(&connp->conn_lock);
1453 connp->conn_incoming_ifindex = ifindex; /* Receive */
1454 connp->conn_bound_if = ifindex; /* getsockopt */
1455 mutex_exit(&connp->conn_lock);
1459 mutex_enter(&connp->conn_lock);
1460 connp->conn_unspec_src = onoff;
1466 mutex_exit(&connp->conn_lock);
1483 error = ip_mrouter_set((int)name, connp, checkonly,
1499 conn_t *connp = coa->coa_connp;
1505 zoneid_t zoneid = IPCL_ZONEID(connp);
1506 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
1509 if (connp->conn_family != AF_INET6)
1701 mutex_enter(&connp->conn_lock);
1703 ipp->ipp_unicast_hops = connp->conn_default_ttl;
1707 mutex_exit(&connp->conn_lock);
1730 return (ip_opt_set_multicast_group(connp, name,
1737 return (ip_opt_set_multicast_sources(connp, name,
1742 mutex_enter(&connp->conn_lock);
1743 connp->conn_incoming_ifindex = ifindex; /* Receive */
1744 connp->conn_bound_if = ifindex; /* getsockopt */
1745 mutex_exit(&connp->conn_lock);
1749 mutex_enter(&connp->conn_lock);
1750 connp->conn_unspec_src = onoff;
1755 mutex_exit(&connp->conn_lock);
1758 mutex_enter(&connp->conn_lock);
1759 connp->conn_recv_ancillary.crb_ip_recvpktinfo = onoff;
1760 mutex_exit(&connp->conn_lock);
1763 mutex_enter(&connp->conn_lock);
1764 connp->conn_recv_ancillary.crb_ipv6_recvtclass = onoff;
1765 mutex_exit(&connp->conn_lock);
1768 mutex_enter(&connp->conn_lock);
1769 connp->conn_ipv6_recvpathmtu = onoff;
1770 mutex_exit(&connp->conn_lock);
1773 mutex_enter(&connp->conn_lock);
1774 connp->conn_recv_ancillary.crb_ipv6_recvhoplimit =
1776 mutex_exit(&connp->conn_lock);
1779 mutex_enter(&connp->conn_lock);
1780 connp->conn_recv_ancillary.crb_ipv6_recvhopopts = onoff;
1781 mutex_exit(&connp->conn_lock);
1784 mutex_enter(&connp->conn_lock);
1785 connp->conn_recv_ancillary.crb_ipv6_recvdstopts = onoff;
1786 mutex_exit(&connp->conn_lock);
1789 mutex_enter(&connp->conn_lock);
1790 connp->conn_recv_ancillary.crb_old_ipv6_recvdstopts =
1792 mutex_exit(&connp->conn_lock);
1795 mutex_enter(&connp->conn_lock);
1796 connp->conn_recv_ancillary.crb_ipv6_recvrthdrdstopts =
1798 mutex_exit(&connp->conn_lock);
1801 mutex_enter(&connp->conn_lock);
1802 connp->conn_recv_ancillary.crb_ipv6_recvrthdr = onoff;
1803 mutex_exit(&connp->conn_lock);
1806 mutex_enter(&connp->conn_lock);
1822 mutex_exit(&connp->conn_lock);
1828 mutex_enter(&connp->conn_lock);
1839 mutex_exit(&connp->conn_lock);
1847 mutex_enter(&connp->conn_lock);
1855 mutex_exit(&connp->conn_lock);
1873 mutex_enter(&connp->conn_lock);
1877 mutex_exit(&connp->conn_lock);
1885 mutex_exit(&connp->conn_lock);
1890 mutex_enter(&connp->conn_lock);
1895 mutex_exit(&connp->conn_lock);
1903 mutex_exit(&connp->conn_lock);
1908 mutex_enter(&connp->conn_lock);
1912 mutex_exit(&connp->conn_lock);
1920 mutex_exit(&connp->conn_lock);
1925 mutex_enter(&connp->conn_lock);
1929 mutex_exit(&connp->conn_lock);
1937 mutex_exit(&connp->conn_lock);
1962 mutex_enter(&connp->conn_lock);
1963 error = ipsec_set_req(cr, connp, (ipsec_req_t *)invalp);
1964 mutex_exit(&connp->conn_lock);
1981 mutex_enter(&connp->conn_lock);
1983 mutex_exit(&connp->conn_lock);
1989 mutex_enter(&connp->conn_lock);
1990 connp->conn_ipv6_v6only = onoff;
1991 mutex_exit(&connp->conn_lock);
2003 conn_t *connp = coa->coa_connp;
2019 mutex_enter(&connp->conn_lock);
2022 connp->conn_anon_priv_bind = onoff;
2025 connp->conn_exclbind = onoff;
2028 mutex_exit(&connp->conn_lock);
2038 conn_t *connp = coa->coa_connp;
2054 mutex_enter(&connp->conn_lock);
2057 connp->conn_anon_priv_bind = onoff;
2060 connp->conn_exclbind = onoff;
2063 connp->conn_recv_ancillary.crb_recvdstaddr = onoff;
2066 mutex_exit(&connp->conn_lock);
2071 conn_getsockname(conn_t *connp, struct sockaddr *sa, uint_t *salenp)
2076 if (connp->conn_family == AF_INET) {
2085 if (!IN6_IS_ADDR_V4MAPPED_ANY(&connp->conn_saddr_v6) &&
2086 !IN6_IS_ADDR_UNSPECIFIED(&connp->conn_saddr_v6)) {
2087 sin->sin_addr.s_addr = connp->conn_saddr_v4;
2096 sin->sin_addr.s_addr = connp->conn_bound_addr_v4;
2098 sin->sin_port = connp->conn_lport;
2108 if (!IN6_IS_ADDR_UNSPECIFIED(&connp->conn_saddr_v6)) {
2109 sin6->sin6_addr = connp->conn_saddr_v6;
2117 sin6->sin6_addr = connp->conn_bound_addr_v6;
2119 sin6->sin6_port = connp->conn_lport;
2121 (connp->conn_ixa->ixa_flags & IXAF_SCOPEID_SET))
2122 sin6->sin6_scope_id = connp->conn_ixa->ixa_scopeid;
2128 conn_getpeername(conn_t *connp, struct sockaddr *sa, uint_t *salenp)
2133 if (connp->conn_family == AF_INET) {
2142 sin->sin_addr.s_addr = connp->conn_faddr_v4;
2143 sin->sin_port = connp->conn_fport;
2153 sin6->sin6_addr = connp->conn_faddr_v6;
2154 sin6->sin6_port = connp->conn_fport;
2155 sin6->sin6_flowinfo = connp->conn_flowinfo;
2157 (connp->conn_ixa->ixa_flags & IXAF_SCOPEID_SET))
2158 sin6->sin6_scope_id = connp->conn_ixa->ixa_scopeid;
2185 conn_build_hdr_template(conn_t *connp, uint_t ulp_hdr_length, uint_t extra,
2188 ip_xmit_attr_t *ixa = connp->conn_ixa;
2189 ip_pkt_t *ipp = &connp->conn_xmit_ipp;
2194 ASSERT(MUTEX_HELD(&connp->conn_lock));
2210 if (hdrs_len != connp->conn_ht_iphc_allocated) {
2216 if (connp->conn_ht_iphc != NULL) {
2217 kmem_free(connp->conn_ht_iphc,
2218 connp->conn_ht_iphc_allocated);
2220 connp->conn_ht_iphc = hdrs;
2221 connp->conn_ht_iphc_allocated = hdrs_len;
2223 hdrs = connp->conn_ht_iphc;
2226 connp->conn_ht_iphc_len = hdrs_len;
2228 connp->conn_ht_ulp = hdrs + ip_hdr_length;
2229 connp->conn_ht_ulp_len = ulp_hdr_length;
2236 ip_build_hdrs_v4(hdrs, ip_hdr_length, ipp, connp->conn_proto);
2244 connp->conn_sum = cksum_massage_options_v4(ipha,
2245 connp->conn_netstack);
2247 connp->conn_sum = 0;
2254 ip_build_hdrs_v6(hdrs, ip_hdr_length, ipp, connp->conn_proto,
2259 connp->conn_sum = cksum_massage_options_v6(ip6h,
2260 ip_hdr_length, connp->conn_netstack);
2271 connp->conn_sum = 0;
2496 ip_attr_connect(const conn_t *connp, ip_xmit_attr_t *ixa,
2504 ASSERT(MUTEX_NOT_HELD(&connp->conn_lock));
2506 if (connp->conn_zone_is_global)
2524 if (connp->conn_unspec_src || v4src != INADDR_ANY)
2530 uinfo, flags, connp->conn_mac_mode);
2533 if (connp->conn_unspec_src || !IN6_IS_ADDR_UNSPECIFIED(v6src))
2539 uinfo, flags, connp->conn_mac_mode);
2553 ipsec_cache_outbound_policy(connp, v6src, v6dst, dstport, ixa);
2572 conn_connect(conn_t *connp, iulp_t *uinfo, uint32_t flags)
2574 ip_xmit_attr_t *ixa = connp->conn_ixa;
2580 ASSERT(MUTEX_HELD(&connp->conn_lock));
2582 if (connp->conn_ipversion == IPV4_VERSION)
2597 ip_attr_nexthop(&connp->conn_xmit_ipp, connp->conn_ixa,
2598 &connp->conn_faddr_v6, &nexthop);
2599 saddr = connp->conn_saddr_v6;
2600 faddr = connp->conn_faddr_v6;
2601 fport = connp->conn_fport;
2603 mutex_exit(&connp->conn_lock);
2604 error = ip_attr_connect(connp, ixa, &saddr, &faddr, &nexthop, fport,
2606 mutex_enter(&connp->conn_lock);
2609 connp->conn_saddr_v6 = saddr;
2626 if (connp->conn_mlp_type != mlptSingle)
2633 error = conn_update_label(connp, ixa,
2634 &connp->conn_faddr_v6, &connp->conn_xmit_ipp);
2644 connp->conn_laddr_v6 = connp->conn_saddr_v6;
2651 connp->conn_policy_cached = B_FALSE;
2672 error = ipsec_conn_cache_policy(connp,
2673 connp->conn_ipversion == IPV4_VERSION);
2725 conn_same_as_last_v4(conn_t *connp, sin_t *sin)
2727 ASSERT(connp->conn_family == AF_INET);
2728 return (sin->sin_addr.s_addr == connp->conn_v4lastdst &&
2729 sin->sin_port == connp->conn_lastdstport);
2736 conn_same_as_last_v6(conn_t *connp, sin6_t *sin6)
2738 return (IN6_ARE_ADDR_EQUAL(&connp->conn_v6lastdst, &sin6->sin6_addr) &&
2739 sin6->sin6_port == connp->conn_lastdstport &&
2740 sin6->sin6_flowinfo == connp->conn_lastflowinfo &&
2741 sin6->sin6_scope_id == connp->conn_lastscopeid);
2752 conn_update_label(const conn_t *connp, const ip_xmit_attr_t *ixa,
2776 conn_t *, connp, char *, opt_storage,
2809 conn_t *, connp, char *, opt_storage,