Wrong checksum may have been computed for certain UDP packets.

Reviewed by:	jlemon
This commit is contained in:
ru 2000-11-01 16:56:33 +00:00
parent 105fcddd7f
commit 549eb5cb6b

View File

@ -220,7 +220,7 @@ udp_input(m, off, proto)
uh->uh_sum = m->m_pkthdr.csum_data; uh->uh_sum = m->m_pkthdr.csum_data;
else else
uh->uh_sum = in_pseudo(ip->ip_src.s_addr, uh->uh_sum = in_pseudo(ip->ip_src.s_addr,
ip->ip_dst.s_addr, htonl(ip->ip_len + ip->ip_dst.s_addr, htonl((u_short)len +
m->m_pkthdr.csum_data + IPPROTO_UDP)); m->m_pkthdr.csum_data + IPPROTO_UDP));
uh->uh_sum ^= 0xffff; uh->uh_sum ^= 0xffff;
} else { } else {