Print this page
%B

@@ -1646,10 +1646,13 @@
 #ifdef  DEBUG
                 if (!skip_sctp_cksum)
 #endif
                         sctph->sh_chksum = sctp_cksum(mp, ip_hdr_length);
                 goto ip_hdr_cksum;
+        } else if (protocol == IPPROTO_DCCP) {
+                cksump = IPH_DCCPH_CHECKSUMP(ipha, ip_hdr_length);
+                cksum = IP_DCCP_CSUM_COMP;
         } else {
                 goto ip_hdr_cksum;
         }
 
         /* ULP puts the checksum field is in the first mblk */

@@ -1735,10 +1738,13 @@
 #ifdef  DEBUG
                 if (!skip_sctp_cksum)
 #endif
                         sctph->sh_chksum = sctp_cksum(mp, ip_hdr_length);
                 goto ip_hdr_cksum;
+        } else if (protocol == IPPROTO_DCCP) {
+                cksump = IPH_DCCPH_CHECKSUMP(ipha, ip_hdr_length);
+                cksum = IP_DCCP_CSUM_COMP;
         } else {
         ip_hdr_cksum:
                 /* Calculate IPv4 header checksum */
                 ipha->ipha_hdr_checksum = 0;
                 ipha->ipha_hdr_checksum = ip_csum_hdr(ipha);