From 8cc2fab87f94d92719cdf2cce1cb6e98518326d1 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 18 Jan 2006 14:19:10 -0800 Subject: [PATCH] --- yaml --- r: 18869 b: refs/heads/master c: 7ac5459ec0f074022818af35c589b9e2b406d7c3 h: refs/heads/master i: 18867: 8c346048a75a9ff50638768e9aed34c072190fc7 v: v3 --- [refs] | 2 +- trunk/net/core/pktgen.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 4abd37a34fca..d47499d28bbf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e048a374d0d7beb9cf3529eac71ddd79699c8669 +refs/heads/master: 7ac5459ec0f074022818af35c589b9e2b406d7c3 diff --git a/trunk/net/core/pktgen.c b/trunk/net/core/pktgen.c index 3827f881f429..da16f8fd1494 100644 --- a/trunk/net/core/pktgen.c +++ b/trunk/net/core/pktgen.c @@ -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);