Subject: Re: pktgen question

From: Ben Greear <[email-masked]>
Date: Sun, 23 Sep 2007 23:30:00 -0700

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

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