I think pktgen should be cloning the skbs using skb_clone(). Then it
will work for all devices, eh?
Ben Greear wrote:
jamal wrote:
On Sun, 2007-23-09 at 12:55 -0500, Steve Wise wrote:
Its a hack that breaks cxgb3 because cxgb3 uses the skb->cb area for
each skb passed down. So cxgb3 is at fault then? IE a driver cannot
use the skb->cb field if the users count is > 1? Or maybe a driver
can _never_ use the cb field?
any layer can use the cb structure whichever way they wish. There are
violations, e.g:
the vlan code also uses the cb field to pass vlan details for hardware
acceleration. How does pktgen affect it though, clone() will just copy
the cb field and pktgen doesnt touch it.
In retrospect, pktgen may have to use clone - ccing Robert Olsson.
Pktgen abuses the ref count, as far as I can tell. It works with most
ethernet drivers,
but that multi-pkt will also fail with things like vlans because the
skb->dev is changed
as it is transmitted (to the lower-level device).
I'd say just don't use the multi-pkt with pktgen on devices that can't
handle it.
Thanks,
Ben
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html