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 <bogdan.hamc...@freescale.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>


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 <gree...@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

Reply via email to