Subject: Re: [PATCH] net: pktgen: support injecting packets for qdisc testing

From: John Fastabend <[email-masked]>
Date: Fri, 08 Jan 2016 16:41:30 -0800

On 16-01-08 07:24 AM, John Fastabend wrote:
> On 16-01-08 06:38 AM, Jamal Hadi Salim wrote:
>> On 16-01-07 09:28 PM, John Fastabend wrote:
>>>
>>> Hi Jamal,
>>>
>>> per your comment about using pktgen to test qdiscs here is the
>>> patch I've been using most the day which has been working well.
>>> I'm guessing this is more or less what you had in mind.
>>>
>>
>> I have attached the one i used over the holidays - see if there are
>> any differences(sorry dont have much time right now).
>>
>> cheers,
>> jamal
> 
> Close except I don't back off the qdisc when I get
> xmit_{drop|cn|policed} return codes because I'm trying to
> stress the qdisc.
> 
> Also I don't see the point to doing the skb_get_tx_queue and
> txq_trans_update() this should be called by dev_queue_xmit
> anyways.
> 
> If its all the same to you I would just assume have my version in
> pktgen and later if its useful for you add an option to back-off
> when the qdisc throws an error.
> 
> Thanks,
> John
> 
> 

And burst > 1 will cause a panic as well when injecting the packet
into dev_queue_xmit(). It seems skb->users > 1 which is what the
burst value is tuning in pktgen will stop the skb from being free'd
but the stack doesn't check skb_shared().

.John