Lines Matching refs:ixa

165     pid_t pid, ip_xmit_attr_t *ixa);
168 ip_xmit_attr_t *ixa);
928 ip_xmit_attr_t *ixa; in udp_icmp_input() local
936 ixa = conn_get_ixa(connp, B_FALSE); in udp_icmp_input()
937 if (ixa == NULL || ixa->ixa_ire == NULL) { in udp_icmp_input()
942 if (ixa != NULL) in udp_icmp_input()
943 ixa_refrele(ixa); in udp_icmp_input()
946 (void) ip_get_pmtu(ixa); in udp_icmp_input()
950 if (ixa->ixa_flags & IXAF_PMTU_IPV4_DF) { in udp_icmp_input()
958 ixa_refrele(ixa); in udp_icmp_input()
1616 ip_xmit_attr_t *ixa = coa->coa_ixa; in udp_do_opt_set() local
1679 ip_xmit_attr_replace_tsl(ixa, newcr->cr_label); in udp_do_opt_set()
1680 ixa->ixa_flags |= IXAF_UCRED_TSL; in udp_do_opt_set()
1993 udp_prepend_hdr(conn_t *connp, ip_xmit_attr_t *ixa, const ip_pkt_t *ipp, in udp_prepend_hdr() argument
2011 mp = conn_prepend_hdr(ixa, ipp, v6src, v6dst, IPPROTO_UDP, flowinfo, in udp_prepend_hdr()
2019 ixa->ixa_pktlen = data_len + ixa->ixa_ip_hdr_length; in udp_prepend_hdr()
2021 udpha = (udpha_t *)(mp->b_rptr + ixa->ixa_ip_hdr_length); in udp_prepend_hdr()
2043 if (ixa->ixa_flags & IXAF_IS_IPV4) { in udp_prepend_hdr()
2046 ASSERT(ntohs(ipha->ipha_length) == ixa->ixa_pktlen); in udp_prepend_hdr()
2060 ASSERT(ntohs(ip6h->ip6_plen) + IPV6_HDR_LEN == ixa->ixa_pktlen); in udp_prepend_hdr()
2607 ip_xmit_attr_t *ixa; in udp_output_ancillary() local
2627 ixa = conn_get_ixa_exclusive(connp); in udp_output_ancillary()
2628 if (ixa == NULL) { in udp_output_ancillary()
2634 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_ancillary()
2635 ixa->ixa_cred = cr; in udp_output_ancillary()
2636 ixa->ixa_cpid = pid; in udp_output_ancillary()
2639 ip_xmit_attr_restore_tsl(ixa, ixa->ixa_cred); in udp_output_ancillary()
2643 ip_attr_newdst(ixa); in udp_output_ancillary()
2648 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_ancillary()
2649 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_ancillary()
2650 ixa->ixa_cpid = connp->conn_cpid; in udp_output_ancillary()
2651 ixa_refrele(ixa); in udp_output_ancillary()
2673 coa->coa_ixa = ixa; in udp_output_ancillary()
2716 ixa->ixa_flags &= ~IXAF_SCOPEID_SET; in udp_output_ancillary()
2717 ixa->ixa_flags |= IXAF_IS_IPV4; in udp_output_ancillary()
2726 ixa->ixa_scopeid = sin6->sin6_scope_id; in udp_output_ancillary()
2727 ixa->ixa_flags |= IXAF_SCOPEID_SET; in udp_output_ancillary()
2729 ixa->ixa_flags &= ~IXAF_SCOPEID_SET; in udp_output_ancillary()
2733 ixa->ixa_flags |= IXAF_IS_IPV4; in udp_output_ancillary()
2735 ixa->ixa_flags &= ~IXAF_IS_IPV4; in udp_output_ancillary()
2755 if (ixa->ixa_flags & IXAF_IS_IPV4) { in udp_output_ancillary()
2764 ip_attr_nexthop(ipp, ixa, &v6dst, &v6nexthop); in udp_output_ancillary()
2765 error = ip_attr_connect(connp, ixa, &v6src, &v6dst, &v6nexthop, dstport, in udp_output_ancillary()
2788 if (ixa->ixa_ire != NULL) { in udp_output_ancillary()
2815 !((ixa->ixa_flags & IXAF_UCRED_TSL))) { in udp_output_ancillary()
2833 error = conn_update_label(connp, ixa, &v6dst, ipp); in udp_output_ancillary()
2840 mp = udp_prepend_hdr(connp, ixa, ipp, &v6src, &v6dst, dstport, in udp_output_ancillary()
2847 if (ixa->ixa_pktlen > IP_MAXPACKET) { in udp_output_ancillary()
2856 DTRACE_UDP5(send, mblk_t *, NULL, ip_xmit_attr_t *, ixa, in udp_output_ancillary()
2858 &mp->b_rptr[ixa->ixa_ip_hdr_length]); in udp_output_ancillary()
2860 error = conn_ip_output(mp, ixa); in udp_output_ancillary()
2866 (void) ixa_check_drain_insert(connp, ixa); in udp_output_ancillary()
2891 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_ancillary()
2892 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_ancillary()
2893 ixa->ixa_cpid = connp->conn_cpid; in udp_output_ancillary()
2894 ixa_refrele(ixa); in udp_output_ancillary()
2910 ip_xmit_attr_t *ixa; in udp_output_connected() local
2916 ixa = conn_get_ixa(connp, B_FALSE); in udp_output_connected()
2917 if (ixa == NULL) { in udp_output_connected()
2924 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_connected()
2925 ixa->ixa_cred = cr; in udp_output_connected()
2926 ixa->ixa_cpid = pid; in udp_output_connected()
2929 mp = udp_prepend_header_template(connp, ixa, mp, &connp->conn_saddr_v6, in udp_output_connected()
2935 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_connected()
2936 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_connected()
2937 ixa->ixa_cpid = connp->conn_cpid; in udp_output_connected()
2938 ixa_refrele(ixa); in udp_output_connected()
2948 if (ixa->ixa_ire == NULL) { in udp_output_connected()
2956 ip_attr_nexthop(&connp->conn_xmit_ipp, ixa, &faddr, &nexthop); in udp_output_connected()
2959 error = ip_attr_connect(connp, ixa, &saddr, &faddr, &nexthop, in udp_output_connected()
2982 if (ixa->ixa_ire != NULL) { in udp_output_connected()
2993 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_connected()
2994 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_connected()
2995 ixa->ixa_cpid = connp->conn_cpid; in udp_output_connected()
2996 ixa_refrele(ixa); in udp_output_connected()
3005 ASSERT(ixa->ixa_ire != NULL); in udp_output_connected()
3010 DTRACE_UDP5(send, mblk_t *, NULL, ip_xmit_attr_t *, ixa, in udp_output_connected()
3012 &mp->b_rptr[ixa->ixa_ip_hdr_length]); in udp_output_connected()
3014 error = conn_ip_output(mp, ixa); in udp_output_connected()
3020 (void) ixa_check_drain_insert(connp, ixa); in udp_output_connected()
3031 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_connected()
3032 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_connected()
3033 ixa->ixa_cpid = connp->conn_cpid; in udp_output_connected()
3034 ixa_refrele(ixa); in udp_output_connected()
3046 ip_xmit_attr_t *ixa) in udp_output_lastdst() argument
3053 ASSERT(ixa != NULL); in udp_output_lastdst()
3056 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_lastdst()
3057 ixa->ixa_cred = cr; in udp_output_lastdst()
3058 ixa->ixa_cpid = pid; in udp_output_lastdst()
3060 mp = udp_prepend_header_template(connp, ixa, mp, &connp->conn_v6lastsrc, in udp_output_lastdst()
3066 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_lastdst()
3067 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_lastdst()
3068 ixa->ixa_cpid = connp->conn_cpid; in udp_output_lastdst()
3069 ixa_refrele(ixa); in udp_output_lastdst()
3079 if (ixa->ixa_ire == NULL) { in udp_output_lastdst()
3087 ip_attr_nexthop(&connp->conn_xmit_ipp, ixa, &lastdst, &nexthop); in udp_output_lastdst()
3090 error = ip_attr_connect(connp, ixa, &lastsrc, &lastdst, in udp_output_lastdst()
3113 if (ixa->ixa_ire != NULL) { in udp_output_lastdst()
3124 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_lastdst()
3125 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_lastdst()
3126 ixa->ixa_cpid = connp->conn_cpid; in udp_output_lastdst()
3127 ixa_refrele(ixa); in udp_output_lastdst()
3140 DTRACE_UDP5(send, mblk_t *, NULL, ip_xmit_attr_t *, ixa, in udp_output_lastdst()
3142 &mp->b_rptr[ixa->ixa_ip_hdr_length]); in udp_output_lastdst()
3144 error = conn_ip_output(mp, ixa); in udp_output_lastdst()
3150 (void) ixa_check_drain_insert(connp, ixa); in udp_output_lastdst()
3174 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_lastdst()
3175 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_lastdst()
3176 ixa->ixa_cpid = connp->conn_cpid; in udp_output_lastdst()
3177 ixa_refrele(ixa); in udp_output_lastdst()
3191 udp_prepend_header_template(conn_t *connp, ip_xmit_attr_t *ixa, mblk_t *mp, in udp_prepend_header_template() argument
3219 ixa->ixa_pktlen = pktlen; in udp_prepend_header_template()
3241 ixa->ixa_ip_hdr_length = ip_hdr_length; in udp_prepend_header_template()
3260 if (ixa->ixa_flags & IXAF_IS_IPV4) { in udp_prepend_header_template()
3556 ip_xmit_attr_t *ixa; in udp_wput() local
3564 ixa = conn_get_ixa(connp, B_FALSE); in udp_wput()
3565 if (ixa == NULL) { in udp_wput()
3573 ipsec_outbound_policy_current(ixa)) { in udp_wput()
3577 pid, ixa); in udp_wput()
3582 sin6, ipversion, cr, pid, ixa); in udp_wput()
3619 ip_xmit_attr_t *ixa; in udp_wput() local
3627 ixa = conn_get_ixa(connp, B_FALSE); in udp_wput()
3628 if (ixa == NULL) { in udp_wput()
3635 ipsec_outbound_policy_current(ixa)) { in udp_wput()
3639 pid, ixa); in udp_wput()
3644 NULL, ipversion, cr, pid, ixa); in udp_wput()
3677 ushort_t ipversion, cred_t *cr, pid_t pid, ip_xmit_attr_t *ixa) in udp_output_newdst() argument
3691 ASSERT(ixa != NULL); in udp_output_newdst()
3699 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_newdst()
3700 ixa->ixa_cred = cr; in udp_output_newdst()
3701 ixa->ixa_cpid = pid; in udp_output_newdst()
3704 ip_xmit_attr_restore_tsl(ixa, ixa->ixa_cred); in udp_output_newdst()
3719 ip_attr_newdst(ixa); in udp_output_newdst()
3737 ixa->ixa_flags &= ~IXAF_SCOPEID_SET; in udp_output_newdst()
3738 ixa->ixa_flags |= IXAF_IS_IPV4; in udp_output_newdst()
3747 ixa->ixa_scopeid = sin6->sin6_scope_id; in udp_output_newdst()
3748 ixa->ixa_flags |= IXAF_SCOPEID_SET; in udp_output_newdst()
3750 ixa->ixa_flags &= ~IXAF_SCOPEID_SET; in udp_output_newdst()
3754 ixa->ixa_flags |= IXAF_IS_IPV4; in udp_output_newdst()
3756 ixa->ixa_flags &= ~IXAF_IS_IPV4; in udp_output_newdst()
3771 if (ixa->ixa_flags & IXAF_IS_IPV4) { in udp_output_newdst()
3780 ip_attr_nexthop(&connp->conn_xmit_ipp, ixa, &v6dst, &v6nexthop); in udp_output_newdst()
3783 error = ip_attr_connect(connp, ixa, &v6src, &v6dst, &v6nexthop, dstport, in udp_output_newdst()
3805 if (ixa->ixa_ire != NULL) { in udp_output_newdst()
3877 error = conn_update_label(connp, ixa, &v6dst, in udp_output_newdst()
3903 if (ixa->ixa_flags & IXAF_IS_IPV4) { in udp_output_newdst()
3907 if (ixa->ixa_flags & IXAF_PMTU_IPV4_DF) { in udp_output_newdst()
3924 oldixa = conn_replace_ixa(connp, ixa); in udp_output_newdst()
3929 connp->conn_lastscopeid = ixa->ixa_scopeid; in udp_output_newdst()
3934 data_mp = udp_prepend_header_template(connp, ixa, data_mp, &v6src, in udp_output_newdst()
3949 DTRACE_UDP5(send, mblk_t *, NULL, ip_xmit_attr_t *, ixa, in udp_output_newdst()
3951 &data_mp->b_rptr[ixa->ixa_ip_hdr_length]); in udp_output_newdst()
3953 error = conn_ip_output(data_mp, ixa); in udp_output_newdst()
3959 (void) ixa_check_drain_insert(connp, ixa); in udp_output_newdst()
3983 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_newdst()
3984 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_newdst()
3985 ixa->ixa_cpid = connp->conn_cpid; in udp_output_newdst()
3986 ixa_refrele(ixa); in udp_output_newdst()
3990 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_output_newdst()
3991 ixa->ixa_cred = connp->conn_cred; /* Restore */ in udp_output_newdst()
3992 ixa->ixa_cpid = connp->conn_cpid; in udp_output_newdst()
3993 ixa_refrele(ixa); in udp_output_newdst()
5539 ip_xmit_attr_t *ixa; in udp_do_connect() local
5619 ixa = conn_get_ixa(connp, B_FALSE); in udp_do_connect()
5620 if (ixa == NULL) in udp_do_connect()
5633 ixa_refrele(ixa); in udp_do_connect()
5698 ASSERT(!(ixa->ixa_free_flags & IXA_FREE_CRED)); in udp_do_connect()
5699 ixa->ixa_cred = cr; in udp_do_connect()
5700 ixa->ixa_cpid = pid; in udp_do_connect()
5703 ip_xmit_attr_restore_tsl(ixa, ixa->ixa_cred); in udp_do_connect()
5707 ixa->ixa_flags |= IXAF_SCOPEID_SET; in udp_do_connect()
5708 ixa->ixa_scopeid = scopeid; in udp_do_connect()
5711 ixa->ixa_flags &= ~IXAF_SCOPEID_SET; in udp_do_connect()
5755 oldixa = conn_replace_ixa(connp, ixa); in udp_do_connect()
5796 ixa_refrele(ixa); in udp_do_connect()
5800 if (ixa != NULL) in udp_do_connect()
5801 ixa_refrele(ixa); in udp_do_connect()
5912 ip_xmit_attr_t *ixa; in udp_send() local
6019 ixa = conn_get_ixa(connp, B_FALSE); in udp_send()
6020 if (ixa == NULL) { in udp_send()
6025 ixa = NULL; in udp_send()
6042 if (ixa != NULL) in udp_send()
6043 ixa_refrele(ixa); in udp_send()
6050 ASSERT(ixa == NULL); in udp_send()
6055 ipsec_outbound_policy_current(ixa)) { in udp_send()
6057 error = udp_output_lastdst(connp, mp, cr, pid, ixa); in udp_send()
6061 ipversion, cr, pid, ixa); in udp_send()
6082 ixa = conn_get_ixa(connp, B_FALSE); in udp_send()
6083 if (ixa == NULL) { in udp_send()
6088 ixa = NULL; in udp_send()
6103 if (ixa != NULL) in udp_send()
6104 ixa_refrele(ixa); in udp_send()
6110 ASSERT(ixa == NULL); in udp_send()
6114 ipsec_outbound_policy_current(ixa)) { in udp_send()
6116 error = udp_output_lastdst(connp, mp, cr, pid, ixa); in udp_send()
6120 ipversion, cr, pid, ixa); in udp_send()