Print this page
%B
*** 1646,1655 ****
--- 1646,1658 ----
#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,1744 ****
--- 1738,1750 ----
#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);