Print this page
4674 No need to undefine rptr in ip.c


12103                  */
12104                 return (mp1);
12105         }
12106         mp1 = copyb(nce->nce_dlur_mp);
12107 
12108         if (mp1 == NULL) {
12109                 ill_t *ill = nce->nce_ill;
12110 
12111                 BUMP_MIB(ill->ill_ip_mib, ipIfStatsOutDiscards);
12112                 ip_drop_output("ipIfStatsOutDiscards", mp, ill);
12113                 freemsg(mp);
12114                 return (NULL);
12115         }
12116         mp1->b_cont = mp;
12117         if (priority != 0) {
12118                 mp1->b_band = priority;
12119                 ((dl_unitdata_req_t *)(mp1->b_rptr))->dl_priority.dl_max =
12120                     priority;
12121         }
12122         return (mp1);
12123 #undef rptr
12124 }
12125 
12126 /*
12127  * Finish the outbound IPsec processing. This function is called from
12128  * ipsec_out_process() if the IPsec packet was processed
12129  * synchronously, or from {ah,esp}_kcf_callback_outbound() if it was processed
12130  * asynchronously.
12131  *
12132  * This is common to IPv4 and IPv6.
12133  */
12134 int
12135 ip_output_post_ipsec(mblk_t *mp, ip_xmit_attr_t *ixa)
12136 {
12137         iaflags_t       ixaflags = ixa->ixa_flags;
12138         uint_t          pktlen;
12139 
12140 
12141         /* AH/ESP don't update ixa_pktlen when they modify the packet */
12142         if (ixaflags & IXAF_IS_IPV4) {
12143                 ipha_t          *ipha = (ipha_t *)mp->b_rptr;




12103                  */
12104                 return (mp1);
12105         }
12106         mp1 = copyb(nce->nce_dlur_mp);
12107 
12108         if (mp1 == NULL) {
12109                 ill_t *ill = nce->nce_ill;
12110 
12111                 BUMP_MIB(ill->ill_ip_mib, ipIfStatsOutDiscards);
12112                 ip_drop_output("ipIfStatsOutDiscards", mp, ill);
12113                 freemsg(mp);
12114                 return (NULL);
12115         }
12116         mp1->b_cont = mp;
12117         if (priority != 0) {
12118                 mp1->b_band = priority;
12119                 ((dl_unitdata_req_t *)(mp1->b_rptr))->dl_priority.dl_max =
12120                     priority;
12121         }
12122         return (mp1);

12123 }
12124 
12125 /*
12126  * Finish the outbound IPsec processing. This function is called from
12127  * ipsec_out_process() if the IPsec packet was processed
12128  * synchronously, or from {ah,esp}_kcf_callback_outbound() if it was processed
12129  * asynchronously.
12130  *
12131  * This is common to IPv4 and IPv6.
12132  */
12133 int
12134 ip_output_post_ipsec(mblk_t *mp, ip_xmit_attr_t *ixa)
12135 {
12136         iaflags_t       ixaflags = ixa->ixa_flags;
12137         uint_t          pktlen;
12138 
12139 
12140         /* AH/ESP don't update ixa_pktlen when they modify the packet */
12141         if (ixaflags & IXAF_IS_IPV4) {
12142                 ipha_t          *ipha = (ipha_t *)mp->b_rptr;