Patch by Andreas Färber:

* Fix the boot net stack's IPService to base the calculation payload size
   on the IP-indicated packet size instead of the Ethernet payload.

Thanks a lot! Fixes ticket #5234.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35016 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus 2010-01-11 20:50:06 +00:00
parent 4eb548a8ae
commit 98664e52dd
1 changed files with 2 additions and 1 deletions

View File

@ -112,7 +112,8 @@ IPService::HandleEthernetPacket(EthernetService *ethernet,
if (service->IPProtocol() == header->protocol) {
service->HandleIPPacket(this, ntohl(header->source),
ntohl(header->destination),
(uint8*)data + headerLength, size - headerLength);
(uint8*)data + headerLength,
ntohs(header->total_length) - headerLength);
break;
}
}