diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-18 18:08:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-18 18:08:16 -0500 |
commit | 097916ecafd3bbedbde3ba068522093bf72319b3 (patch) | |
tree | 95b8f52826883ccb04086725f0b94186adc1566f /net/core/pktgen.c | |
parent | 3da38566dfd4b2402b280cb52ffc7c56f1a95b9c (diff) | |
parent | 29f8f63272bd286549d1c7f75ad22686191d35d8 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/core/pktgen.c')
-rw-r--r-- | net/core/pktgen.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 3827f881f429..da16f8fd1494 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c | |||
@@ -1860,13 +1860,14 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev, | |||
1860 | */ | 1860 | */ |
1861 | mod_cur_headers(pkt_dev); | 1861 | mod_cur_headers(pkt_dev); |
1862 | 1862 | ||
1863 | skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + 16, GFP_ATOMIC); | 1863 | datalen = (odev->hard_header_len + 16) & ~0xf; |
1864 | skb = alloc_skb(pkt_dev->cur_pkt_size + 64 + datalen, GFP_ATOMIC); | ||
1864 | if (!skb) { | 1865 | if (!skb) { |
1865 | sprintf(pkt_dev->result, "No memory"); | 1866 | sprintf(pkt_dev->result, "No memory"); |
1866 | return NULL; | 1867 | return NULL; |
1867 | } | 1868 | } |
1868 | 1869 | ||
1869 | skb_reserve(skb, 16); | 1870 | skb_reserve(skb, datalen); |
1870 | 1871 | ||
1871 | /* Reserve for ethernet and IP header */ | 1872 | /* Reserve for ethernet and IP header */ |
1872 | eth = (__u8 *) skb_push(skb, 14); | 1873 | eth = (__u8 *) skb_push(skb, 14); |