- /* Verify header checksum. */
- if (verify_checksum)
- {
- ip_csum_t sum0, sum1, sum2, sum3;
-
- ip4_partial_header_checksum_x1 (ip[0], sum0);
- ip4_partial_header_checksum_x1 (ip[1], sum1);
- ip4_partial_header_checksum_x1 (ip[2], sum2);
- ip4_partial_header_checksum_x1 (ip[3], sum3);
-
- error0 = 0xffff != ip_csum_fold (sum0) ?
- IP4_ERROR_BAD_CHECKSUM : error0;
- error1 = 0xffff != ip_csum_fold (sum1) ?
- IP4_ERROR_BAD_CHECKSUM : error1;
- error2 = 0xffff != ip_csum_fold (sum2) ?
- IP4_ERROR_BAD_CHECKSUM : error2;
- error3 = 0xffff != ip_csum_fold (sum3) ?
- IP4_ERROR_BAD_CHECKSUM : error3;
- }
-