david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

iphdr->hlen includes the IP header, so truncate packet *before*

stripping the header.  Also fix an htons/ntohs confusion.
This commit is contained in:
Michael Brown 2006-08-09 11:52:53 +00:00
parent ee9ae8130a
commit 867c7aef59
1 changed files with 1 additions and 1 deletions

View File

@ -441,8 +441,8 @@ static int ipv4_rx ( struct pk_buff *pkb, struct net_device *netdev __unused,
dest.sin.sin_addr = iphdr->dest;
/* Strip header */
pkb_unput ( pkb, pkb_len ( pkb ) - ntohs ( iphdr->len ) );
pkb_pull ( pkb, sizeof ( *iphdr ) );
pkb_unput ( pkb, pkb_len ( pkb ) - htons ( iphdr->len ) );
/* Send it to the transport layer */
return tcpip_rx ( pkb, iphdr->protocol, &src.st, &dest.st );