| version 1.105, 2003/08/15 03:42:05 |
version 1.106, 2003/08/21 14:49:50 |
| Line 278 udp_input(m, va_alist) |
|
| Line 278 udp_input(m, va_alist) |
|
| UDP_CSUM_COUNTER_INCR(&udp_hwcsum_bad); |
UDP_CSUM_COUNTER_INCR(&udp_hwcsum_bad); |
| goto badcsum; |
goto badcsum; |
| |
|
| case M_CSUM_UDPv4|M_CSUM_DATA: |
case M_CSUM_UDPv4|M_CSUM_DATA: { |
| |
u_int32_t hw_csum = m->m_pkthdr.csum_data; |
| UDP_CSUM_COUNTER_INCR(&udp_hwcsum_data); |
UDP_CSUM_COUNTER_INCR(&udp_hwcsum_data); |
| if ((m->m_pkthdr.csum_data ^ 0xffff) != 0) |
if (m->m_pkthdr.csum_flags & M_CSUM_NO_PSEUDOHDR) |
| |
hw_csum = in_cksum_phdr(ip->ip_src.s_addr, ip->ip_dst.s_addr, |
| |
htonl(hw_csum + ntohs(ip->ip_len) + IPPROTO_UDP)); |
| |
if ((hw_csum ^ 0xffff) != 0) |
| goto badcsum; |
goto badcsum; |
| break; |
break; |
| |
} |
| |
|
| case M_CSUM_UDPv4: |
case M_CSUM_UDPv4: |
| /* Checksum was okay. */ |
/* Checksum was okay. */ |