/titanic_50/usr/src/uts/common/inet/ip/ |
H A D | ip_attr.c | 108 #define IXA_REFRELE(ixa) \ argument 110 if (atomic_dec_32_nv(&(ixa)->ixa_refcnt) == 0) \ 111 ixa_inactive(ixa); \ 114 #define IXA_REFHOLD(ixa) \ argument 116 ASSERT3U((ixa)->ixa_refcnt, !=, 0); \ 117 atomic_inc_32(&(ixa)->ixa_refcnt); \ 234 ip_xmit_attr_to_mblk(ip_xmit_attr_t *ixa) in ip_xmit_attr_to_mblk() argument 238 nce_t *nce = ixa->ixa_nce; in ip_xmit_attr_to_mblk() 251 ixm->ixm_flags = ixa->ixa_flags; in ip_xmit_attr_to_mblk() 252 ixm->ixm_stackid = ixa->ixa_ipst->ips_netstack->netstack_stackid; in ip_xmit_attr_to_mblk() [all …]
|
H A D | ip_output.c | 135 conn_ip_output(mblk_t *mp, ip_xmit_attr_t *ixa) in conn_ip_output() argument 137 iaflags_t ixaflags = ixa->ixa_flags; in conn_ip_output() 142 ip_stack_t *ipst = ixa->ixa_ipst; in conn_ip_output() 147 ASSERT(ixa->ixa_ire != NULL); in conn_ip_output() 149 ASSERT(ixa->ixa_dce != NULL); /* Could be default dce */ in conn_ip_output() 152 ASSERT(ixa->ixa_curthread == NULL); in conn_ip_output() 153 ixa->ixa_curthread = curthread; in conn_ip_output() 161 ire = ixa->ixa_ire; in conn_ip_output() 190 if (ire->ire_generation != ixa->ixa_ire_generation) { in conn_ip_output() 191 error = ip_verify_ire(mp, ixa); in conn_ip_output() [all …]
|
H A D | ip6_output.c | 104 ip_output_simple_v6(mblk_t *mp, ip_xmit_attr_t *ixa) in ip_output_simple_v6() argument 115 iaflags_t ixaflags = ixa->ixa_flags; in ip_output_simple_v6() 116 ip_stack_t *ipst = ixa->ixa_ipst; in ip_output_simple_v6() 126 ASSERT(ixa->ixa_nce == NULL); in ip_output_simple_v6() 128 ixa->ixa_pktlen = ntohs(ip6h->ip6_plen) + IPV6_HDR_LEN; in ip_output_simple_v6() 129 ASSERT(ixa->ixa_pktlen == msgdsize(mp)); in ip_output_simple_v6() 130 if (!ip_hdr_length_nexthdr_v6(mp, ip6h, &ixa->ixa_ip_hdr_length, in ip_output_simple_v6() 139 ixa->ixa_protocol = *nexthdrp; in ip_output_simple_v6() 153 ire = ip_select_route_v6(&firsthop, ip6h->ip6_src, ixa, NULL, &setsrc, in ip_output_simple_v6() 168 ixa->ixa_fragsize = IP_MAXPACKET; in ip_output_simple_v6() [all …]
|
H A D | icmp.c | 130 sin6_t *sin6, cred_t *cr, pid_t pid, ip_xmit_attr_t *ixa); 727 ip_xmit_attr_t *ixa; in rawip_do_connect() local 791 ixa = conn_get_ixa(connp, B_FALSE); in rawip_do_connect() 792 if (ixa == NULL) in rawip_do_connect() 803 ixa_refrele(ixa); in rawip_do_connect() 861 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in rawip_do_connect() 862 ixa->ixa_cred = cr; in rawip_do_connect() 863 ixa->ixa_cpid = pid; in rawip_do_connect() 866 ip_xmit_attr_restore_tsl(ixa, ixa->ixa_cred); in rawip_do_connect() 870 ixa->ixa_flags |= IXAF_SCOPEID_SET; in rawip_do_connect() [all …]
|
H A D | conn_opt.c | 592 ip_xmit_attr_t *ixa = coa->coa_ixa; in conn_opt_get() local 594 ip_stack_t *ipst = ixa->ixa_ipst; in conn_opt_get() 629 *i1 = (ixa->ixa_flags & IXAF_DONTROUTE) ? in conn_opt_get() 727 pktinfo->ipi_ifindex = ixa->ixa_ifindex; in conn_opt_get() 735 *i1 = (ixa->ixa_flags & IXAF_DONTFRAG) != 0; in conn_opt_get() 747 if (ixa->ixa_flags & IXAF_NEXTHOP_SET) { in conn_opt_get() 748 *(ipaddr_t *)ptr = ixa->ixa_nexthop_v4; in conn_opt_get() 756 *(ipaddr_t *)ptr = ixa->ixa_multicast_ifaddr; in conn_opt_get() 759 *(uchar_t *)ptr = ixa->ixa_multicast_ttl; in conn_opt_get() 762 *ptr = (ixa->ixa_flags & IXAF_MULTICAST_LOOP) ? 1 : 0; in conn_opt_get() [all …]
|
H A D | ip_sadb.c | 97 ipsec_getassocbyconn(isaf_t *bucket, ip_xmit_attr_t *ixa, uint32_t *src, in ipsec_getassocbyconn() argument 103 boolean_t tunnel_mode = (ixa->ixa_flags & IXAF_IPSEC_TUNNEL); in ipsec_getassocbyconn() 106 ipsec_policy_t *pp = ixa->ixa_ipsec_policy; in ipsec_getassocbyconn() 107 ipsec_action_t *actlist = ixa->ixa_ipsec_action; in ipsec_getassocbyconn() 109 ipsec_latch_t *ipl = ixa->ixa_ipsec_latch; in ipsec_getassocbyconn() 111 sa_family_t inaf = ixa->ixa_ipsec_inaf; in ipsec_getassocbyconn() 112 uint32_t *insrc = ixa->ixa_ipsec_insrc; in ipsec_getassocbyconn() 113 uint32_t *indst = ixa->ixa_ipsec_indst; in ipsec_getassocbyconn() 114 uint8_t insrcpfx = ixa->ixa_ipsec_insrcpfx; in ipsec_getassocbyconn() 115 uint8_t indstpfx = ixa->ixa_ipsec_indstpfx; in ipsec_getassocbyconn() [all …]
|
H A D | ip_ftable.c | 1062 ip_xmit_attr_t *ixa, uint_t *generationp, in6_addr_t *setsrcp, in ip_select_route() argument 1069 ip_stack_t *ipst = ixa->ixa_ipst; in ip_select_route() 1072 iaflags_t ixaflags = ixa->ixa_flags; in ip_select_route() 1076 boolean_t isv6 = !(ixa->ixa_flags & IXAF_IS_IPV4); in ip_select_route() 1085 (ixa->ixa_flags & IXAF_VERIFY_SOURCE)); in ip_select_route() 1101 if (ixa->ixa_multicast_ifindex != 0) { in ip_select_route() 1102 ill = ill_lookup_on_ifindex(ixa->ixa_multicast_ifindex, in ip_select_route() 1106 ASSERT(ixa->ixa_scopeid != 0); in ip_select_route() 1107 ill = ill_lookup_on_ifindex(ixa->ixa_scopeid, in ip_select_route() 1109 } else if (ixa->ixa_ifindex != 0) { in ip_select_route() [all …]
|
H A D | spd.c | 4022 ipsec_in_to_out(ip_recv_attr_t *ira, ip_xmit_attr_t *ixa, mblk_t *data_mp, in ipsec_in_to_out() argument 4027 netstack_t *ns = ixa->ixa_ipst->ips_netstack; in ipsec_in_to_out() 4048 ixa->ixa_ipsec_action = reflect_action; 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() 4068 ixa->ixa_flags |= IXAF_IPSEC_SECURE; in ipsec_in_to_out() 4070 ixa->ixa_flags |= IXAF_NO_IPSEC; in ipsec_in_to_out() [all …]
|
H A D | ip.c | 3365 ip_xmit_attr_t *ixa, iulp_t *uinfo, uint32_t flags, uint_t mac_mode) in ip_set_destination_v4() argument 3370 zoneid_t zoneid = ixa->ixa_zoneid; /* Honors SO_ALLZONES */ in ip_set_destination_v4() 3371 ip_stack_t *ipst = ixa->ixa_ipst; in ip_set_destination_v4() 3379 ASSERT(ixa->ixa_flags & IXAF_IS_IPV4); in ip_set_destination_v4() 3391 error = tsol_check_dest(ixa->ixa_tsl, &dst_addr, IPV4_VERSION, in ip_set_destination_v4() 3397 ip_xmit_attr_replace_tsl(ixa, tsl); in ip_set_destination_v4() 3407 ire = ip_select_route_v4(firsthop, *src_addrp, ixa, in ip_set_destination_v4() 3461 if (ixa->ixa_ire != NULL) in ip_set_destination_v4() 3462 ire_refrele_notr(ixa->ixa_ire); in ip_set_destination_v4() 3467 ixa->ixa_ire = ire; in ip_set_destination_v4() [all …]
|
H A D | ipsecesp.c | 1821 esp_do_outbound_ah(mblk_t *data_mp, ip_xmit_attr_t *ixa) in esp_do_outbound_ah() argument 1825 ap = ixa->ixa_ipsec_action; in esp_do_outbound_ah() 1827 ipsec_policy_t *pp = ixa->ixa_ipsec_policy; in esp_do_outbound_ah() 1838 if (ixa->ixa_ipsec_ah_sa == NULL) { in esp_do_outbound_ah() 1839 if (!ipsec_outbound_sa(data_mp, ixa, IPPROTO_AH)) { in esp_do_outbound_ah() 1840 sadb_acquire(data_mp, ixa, B_TRUE, B_FALSE); in esp_do_outbound_ah() 1844 ASSERT(ixa->ixa_ipsec_ah_sa != NULL); in esp_do_outbound_ah() 1846 data_mp = ixa->ixa_ipsec_ah_sa->ipsa_output_func(data_mp, ixa); in esp_do_outbound_ah() 2392 esp_submit_req_outbound(mblk_t *data_mp, ip_xmit_attr_t *ixa, ipsa_t *assoc, in esp_submit_req_outbound() argument 2408 netstack_t *ns = ixa->ixa_ipst->ips_netstack; in esp_submit_req_outbound() [all …]
|
H A D | ip6.c | 1968 const in6_addr_t *firsthop, ip_xmit_attr_t *ixa, iulp_t *uinfo, in ip_set_destination_v6() argument 1974 zoneid_t zoneid = ixa->ixa_zoneid; /* Honors SO_ALLZONES */ in ip_set_destination_v6() 1975 ip_stack_t *ipst = ixa->ixa_ipst; in ip_set_destination_v6() 1986 ASSERT(!(ixa->ixa_flags & IXAF_IS_IPV4)); in ip_set_destination_v6() 1998 error = tsol_check_dest(ixa->ixa_tsl, dst_addr, IPV6_VERSION, in ip_set_destination_v6() 2004 ip_xmit_attr_replace_tsl(ixa, tsl); in ip_set_destination_v6() 2014 ire = ip_select_route_v6(firsthop, *src_addrp, ixa, &generation, in ip_set_destination_v6() 2068 if (ixa->ixa_ire != NULL) in ip_set_destination_v6() 2069 ire_refrele_notr(ixa->ixa_ire); in ip_set_destination_v6() 2074 ixa->ixa_ire = ire; in ip_set_destination_v6() [all …]
|
H A D | ipsecah.c | 1004 ah_outbound_finish(mblk_t *data_mp, ip_xmit_attr_t *ixa) in ah_outbound_finish() argument 1006 netstack_t *ns = ixa->ixa_ipst->ips_netstack; in ah_outbound_finish() 1009 ill_t *ill = ixa->ixa_nce->nce_ill; in ah_outbound_finish() 1011 if (!ipsec_outbound_sa(data_mp, ixa, IPPROTO_AH)) { in ah_outbound_finish() 1020 data_mp = ah_outbound(data_mp, ixa); in ah_outbound_finish() 1024 (void) ip_output_post_ipsec(data_mp, ixa); in ah_outbound_finish() 2964 ah_submit_req_outbound(mblk_t *phdr_mp, ip_xmit_attr_t *ixa, in ah_submit_req_outbound() argument 2973 ill_t *ill = ixa->ixa_nce->nce_ill; in ah_submit_req_outbound() 2983 if ((mp = ip_xmit_attr_to_mblk(ixa)) == NULL || in ah_submit_req_outbound() 3012 ASSERT(ixa->ixa_ipsec_ah_sa != NULL); in ah_submit_req_outbound() [all …]
|
H A D | ip_dce.c | 368 dce_lookup_pkt(mblk_t *mp, ip_xmit_attr_t *ixa, uint_t *generationp) in dce_lookup_pkt() argument 370 if (ixa->ixa_flags & IXAF_IS_IPV4) { in dce_lookup_pkt() 379 return (dce_lookup_v4(final_dst, ixa->ixa_ipst, generationp)); in dce_lookup_pkt() 391 if (IN6_IS_ADDR_LINKSCOPE(&final_dst) && ixa->ixa_nce != NULL) { in dce_lookup_pkt() 392 ifindex = ixa->ixa_nce->nce_common->ncec_ill-> in dce_lookup_pkt() 395 return (dce_lookup_v6(&final_dst, ifindex, ixa->ixa_ipst, in dce_lookup_pkt()
|
H A D | sadb.c | 4856 sadb_acquire(mblk_t *datamp, ip_xmit_attr_t *ixa, boolean_t need_ah, argument 4868 ipsec_policy_t *pp = ixa->ixa_ipsec_policy; 4869 ipsec_action_t *ap = ixa->ixa_ipsec_action; 4875 boolean_t tunnel_mode = (ixa->ixa_flags & IXAF_IPSEC_TUNNEL) != 0; 4877 netstack_t *ns = ixa->ixa_ipst->ips_netstack; 4896 sp = (ixa->ixa_flags & IXAF_IS_IPV4) ? &spp->s_v4 : &spp->s_v6; 4899 tsl = ixa->ixa_tsl; 4907 unique_id = SA_FORM_UNIQUE_ID(ixa); 4924 ASSERT(ixa->ixa_flags & IXAF_IS_IPV4); 4931 ASSERT(!(ixa->ixa_flags & IXAF_IS_IPV4)); [all …]
|
/titanic_50/usr/src/uts/common/inet/iptun/ |
H A D | iptun.c | 708 ip_xmit_attr_t *ixa; in iptun_bind() local 718 ixa = conn_get_ixa(connp, B_FALSE); in iptun_bind() 719 if (ixa == NULL) in iptun_bind() 723 ixa->ixa_flags |= IXAF_PMTU_DISCOVERY; in iptun_bind() 741 ixa->ixa_flags |= IXAF_IS_IPV4; in iptun_bind() 752 ixa->ixa_flags &= ~IXAF_IS_IPV4; in iptun_bind() 765 ixa->ixa_flags |= IXAF_IS_IPV4; in iptun_bind() 781 ip_attr_newdst(ixa); in iptun_bind() 793 ixa->ixa_flags |= IXAF_DONTFRAG | IXAF_PMTU_IPV4_DF; in iptun_bind() 796 error = ip_attr_connect(connp, ixa, &connp->conn_saddr_v6, in iptun_bind() [all …]
|
/titanic_50/usr/src/uts/common/inet/sctp/ |
H A D | sctp_conn.c | 147 ip_xmit_attr_t *ixa; in sctp_conn_request() local 242 ip_xmit_attr_t *ixa = econnp->conn_ixa; in sctp_conn_request() local 247 if (ixa->ixa_free_flags & IXA_FREE_TSL) { in sctp_conn_request() 248 ASSERT(ixa->ixa_tsl != NULL); in sctp_conn_request() 249 label_rele(ixa->ixa_tsl); in sctp_conn_request() 250 ixa->ixa_free_flags &= ~IXA_FREE_TSL; in sctp_conn_request() 251 ixa->ixa_tsl = NULL; in sctp_conn_request() 268 ip_xmit_attr_replace_tsl(ixa, ira->ira_tsl); in sctp_conn_request() 270 ixa->ixa_tsl = crgetlabel(econnp->conn_cred); in sctp_conn_request() 283 ixa = eager->sctp_current->sf_ixa; in sctp_conn_request() [all …]
|
H A D | sctp_error.c | 103 ip_xmit_attr_t *ixa = fp->sf_ixa; in sctp_user_abort() local 156 sctp_set_iplen(sctp, mp, ixa); in sctp_user_abort() 157 ASSERT(ixa->ixa_ire != NULL); in sctp_user_abort() 158 ASSERT(ixa->ixa_cred != NULL); in sctp_user_abort() 160 (void) conn_ip_output(mp, ixa); in sctp_user_abort() 188 ip_xmit_attr_t *ixa; in sctp_send_abort() local 266 ixa = conn_get_ixa_exclusive(connp); in sctp_send_abort() 267 if (ixa == NULL) { in sctp_send_abort() 271 ixa->ixa_flags &= ~IXAF_VERIFY_PMTU; in sctp_send_abort() 273 ixa->ixa_pktlen = ahlen + alen; in sctp_send_abort() [all …]
|
H A D | sctp_cookie.c | 502 ip_xmit_attr_t *ixa = NULL; in sctp_send_initack() local 607 ixa = conn_get_ixa_exclusive(connp); in sctp_send_initack() 608 if (ixa == NULL) { in sctp_send_initack() 613 ixa->ixa_flags &= ~IXAF_VERIFY_PMTU; in sctp_send_initack() 616 ixa->ixa_flags |= IXAF_IS_IPV4; in sctp_send_initack() 618 ixa->ixa_flags &= ~IXAF_IS_IPV4; in sctp_send_initack() 635 if (ixa->ixa_free_flags & IXA_FREE_TSL) { in sctp_send_initack() 636 ASSERT(ixa->ixa_tsl != NULL); in sctp_send_initack() 637 label_rele(ixa->ixa_tsl); in sctp_send_initack() 638 ixa->ixa_free_flags &= ~IXA_FREE_TSL; in sctp_send_initack() [all …]
|
H A D | sctp.c | 970 ip_xmit_attr_t *ixa = fp->sf_ixa; in sctp_update_pmtu() local 979 pmtu = ip_get_pmtu(ixa); in sctp_update_pmtu() 987 if (ixa->ixa_flags & IXAF_IS_IPV4) in sctp_update_pmtu() 1013 ixa->ixa_fragsize = ixa->ixa_pmtu = pmtu; in sctp_update_pmtu() 1024 ixa->ixa_flags |= IXAF_PMTU_TOO_SMALL; in sctp_update_pmtu() 1026 if (ixa->ixa_flags & IXAF_PMTU_TOO_SMALL) in sctp_update_pmtu() 1027 ixa->ixa_flags &= ~(IXAF_DONTFRAG | IXAF_PMTU_IPV4_DF); in sctp_update_pmtu() 1034 if (ixa->ixa_flags & IXAF_IS_IPV4) { in sctp_update_pmtu() 1035 if (!(ixa->ixa_flags & IXAF_PMTU_IPV4_DF)) { in sctp_update_pmtu() 1052 sctp_notify(void *arg, ip_xmit_attr_t *ixa, ixa_notify_type_t ntype, in sctp_notify() argument [all …]
|
H A D | sctp_common.c | 390 sctp_set_iplen(sctp_t *sctp, mblk_t *mp, ip_xmit_attr_t *ixa) in sctp_set_iplen() argument 402 ixa->ixa_pktlen = sum; in sctp_set_iplen() 406 ixa->ixa_ip_hdr_length = sctp->sctp_ip_hdr_len; in sctp_set_iplen() 410 ixa->ixa_ip_hdr_length = sctp->sctp_ip_hdr6_len; in sctp_set_iplen() 471 ip_xmit_attr_t *ixa = connp->conn_ixa; in sctp_add_faddr() local 474 ASSERT(ixa->ixa_tsl != NULL); in sctp_add_faddr() 492 err = tsol_check_dest(ixa->ixa_tsl, in sctp_add_faddr() 496 err = tsol_check_dest(ixa->ixa_tsl, in sctp_add_faddr() 504 ip_xmit_attr_replace_tsl(ixa, effective_tsl); in sctp_add_faddr()
|
/titanic_50/usr/src/uts/common/inet/udp/ |
H A D | udp.c | 165 pid_t pid, ip_xmit_attr_t *ixa); 168 ip_xmit_attr_t *ixa); 994 ip_xmit_attr_t *ixa; in udp_icmp_input() local 1002 ixa = conn_get_ixa(connp, B_FALSE); in udp_icmp_input() 1003 if (ixa == NULL || ixa->ixa_ire == NULL) { in udp_icmp_input() 1008 if (ixa != NULL) in udp_icmp_input() 1009 ixa_refrele(ixa); in udp_icmp_input() 1012 (void) ip_get_pmtu(ixa); in udp_icmp_input() 1016 if (ixa->ixa_flags & IXAF_PMTU_IPV4_DF) { in udp_icmp_input() 1024 ixa_refrele(ixa); in udp_icmp_input() [all …]
|
/titanic_50/usr/src/uts/common/inet/tcp/ |
H A D | tcp_output.c | 1099 ip_xmit_attr_t *ixa; in tcp_output() local 1280 ixa = connp->conn_ixa; in tcp_output() 1281 ixa->ixa_pktlen = plen; in tcp_output() 1283 if (ixa->ixa_flags & IXAF_IS_IPV4) { in tcp_output() 1350 tcpha = (tcpha_t *)(rptr + ixa->ixa_ip_hdr_length); in tcp_output() 1743 ip_xmit_attr_t *ixa = econnp->conn_ixa; in tcp_send_synack() local 1757 ixa->ixa_pktlen = msgdsize(mp); in tcp_send_synack() 1758 (void) conn_ip_output(mp, ixa); in tcp_send_synack() 1778 ip_xmit_attr_t *ixa = connp->conn_ixa; in tcp_send() local 1993 ixa->ixa_pktlen = len; in tcp_send() [all …]
|
H A D | tcp.c | 290 static void tcp_update_lso(tcp_t *tcp, ip_xmit_attr_t *ixa); 2466 ip_xmit_attr_t *ixa = connp->conn_ixa; in tcp_update_pmtu() local 2479 pmtu = ip_get_pmtu(ixa); in tcp_update_pmtu() 2480 ixaflags = ixa->ixa_flags; in tcp_update_pmtu() 2506 ixa->ixa_fragsize = ixa->ixa_pmtu = pmtu; in tcp_update_pmtu() 2533 ixa->ixa_flags = ixaflags; in tcp_update_pmtu() 3173 ip_xmit_attr_t *ixa = connp->conn_ixa; in tcp_zcopy_check() local 3179 else if ((do_tcpzcopy == 1) && (ixa->ixa_flags & IXAF_ZCOPY_CAPAB)) in tcp_zcopy_check() 3185 ixa->ixa_flags |= IXAF_VERIFY_ZCOPY; in tcp_zcopy_check() 3190 ixa->ixa_flags &= ~IXAF_VERIFY_ZCOPY; in tcp_zcopy_check() [all …]
|
H A D | tcp_bind.c | 533 ip_xmit_attr_t *ixa = connp->conn_ixa; in tcp_bind_check() local 615 ixa->ixa_flags |= IXAF_SCOPEID_SET; in tcp_bind_check() 616 ixa->ixa_scopeid = scopeid; in tcp_bind_check() 619 ixa->ixa_flags &= ~IXAF_SCOPEID_SET; in tcp_bind_check()
|
/titanic_50/usr/src/uts/common/inet/ |
H A D | sadb.h | 611 #define SA_FORM_UNIQUE_ID(ixa) \ argument 612 SA_UNIQUE_ID((ixa)->ixa_ipsec_src_port, (ixa)->ixa_ipsec_dst_port, \ 613 (((ixa)->ixa_flags & IXAF_IPSEC_TUNNEL) ? \ 614 ((ixa)->ixa_ipsec_inaf == AF_INET6 ? \ 616 (ixa)->ixa_ipsec_proto), \ 617 (((ixa)->ixa_flags & IXAF_IPSEC_TUNNEL) ? \ 618 (ixa)->ixa_ipsec_proto : 0))
|