Subject: pktgen issue with "Observe needed_headroom of the device"

From: Ben Greear <[email-masked]>
Date: Mon, 23 May 2016 12:44:56 -0700

Regarding this commit:

879c7220e828af8bd82ea9d774c7e45c46b976e4

net: pktgen: Observe needed_headroom of the device

     Allocate enough space so as not to force the outgoing net device to do
     skb_realloc_headroom().

     Signed-off-by: Bogdan Hamciuc <[email-masked]>
     Signed-off-by: David S. Miller <[email-masked]>

I think it may be incorrect.  It seems that pkt_overhead is meant to be
the data-portion of the skb, not lower-level padding?

For instance:

	int pkt_overhead;	/* overhead for MPLS, VLANs, IPSEC etc */
...

	/* Eth + IPh + UDPh + mpls */
	datalen = pkt_dev->cur_pkt_size - 14 - 20 - 8 -
		  pkt_dev->pkt_overhead;

So, maybe we need to add that LL_RESERVED_SPACE to the size when allocating
the skb in pktgen_alloc_skb and leave it out of pkt_overhead?

And for that matter, what is that '+ 64 +' for in the size calculation?
Looks a lot like some fudge factor from long ago?

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com