Wrong checksum may have been computed for certain UDP packets.
Reviewed by: jlemon
This commit is contained in:
parent
105fcddd7f
commit
549eb5cb6b
@ -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 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user