forked from Minki/linux
[PKTGEN]: Respect hard_header_len of device.
Don't assume 16. Found by Ben Greear. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e048a374d0
commit
7ac5459ec0
@ -1860,13 +1860,14 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
|
||||
*/
|
||||
mod_cur_headers(pkt_dev);
|
||||
|
||||
skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + 16, GFP_ATOMIC);
|
||||
datalen = (odev->hard_header_len + 16) & ~0xf;
|
||||
skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + datalen, GFP_ATOMIC);
|
||||
if (!skb) {
|
||||
sprintf(pkt_dev->result, "No memory");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
skb_reserve(skb, 16);
|
||||
skb_reserve(skb, datalen);
|
||||
|
||||
/* Reserve for ethernet and IP header */
|
||||
eth = (__u8 *) skb_push(skb, 14);
|
||||
|
Loading…
Reference in New Issue
Block a user