|
Lines 162-167
Link Here
|
| 162 |
struct ip save_ip; |
162 |
struct ip save_ip; |
| 163 |
struct sockaddr *append_sa; |
163 |
struct sockaddr *append_sa; |
| 164 |
|
164 |
|
|
|
165 |
u_short osum; |
| 166 |
|
| 165 |
udpstat.udps_ipackets++; |
167 |
udpstat.udps_ipackets++; |
| 166 |
|
168 |
|
| 167 |
/* |
169 |
/* |
|
Lines 214-219
Link Here
|
| 214 |
/* |
216 |
/* |
| 215 |
* Checksum extended UDP header and data. |
217 |
* Checksum extended UDP header and data. |
| 216 |
*/ |
218 |
*/ |
|
|
219 |
osum = uh->uh_sum; |
| 217 |
if (uh->uh_sum) { |
220 |
if (uh->uh_sum) { |
| 218 |
if (m->m_pkthdr.csum_flags & CSUM_DATA_VALID) { |
221 |
if (m->m_pkthdr.csum_flags & CSUM_DATA_VALID) { |
| 219 |
if (m->m_pkthdr.csum_flags & CSUM_PSEUDO_HDR) |
222 |
if (m->m_pkthdr.csum_flags & CSUM_PSEUDO_HDR) |
|
Lines 234-239
Link Here
|
| 234 |
return; |
237 |
return; |
| 235 |
} |
238 |
} |
| 236 |
} |
239 |
} |
|
|
240 |
|
| 241 |
/* restore original datagram */ |
| 242 |
uh->uh_sum = osum; |
| 237 |
|
243 |
|
| 238 |
if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) || |
244 |
if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) || |
| 239 |
in_broadcast(ip->ip_dst, m->m_pkthdr.rcvif)) { |
245 |
in_broadcast(ip->ip_dst, m->m_pkthdr.rcvif)) { |