Subject: Re: [PATCH] loopback: packet drops accounting

From: Eric Dumazet <[email-masked]>
Date: Fri, 17 Apr 2009 11:27:53 +0200

David Miller a écrit :
> From: Eric Dumazet <[email-masked]>
> Date: Fri, 17 Apr 2009 10:56:57 +0200
> 
>> We can in some situations drop packets in netif_rx()
>>
>> loopback driver does not report these (unlikely) drops to its stats,
>> and incorrectly change packets/bytes counts.
>>
>> After this patch applied, "ifconfig lo" can reports these drops as in :
>>
>> # ifconfig lo
>> lo        Link encap:Local Loopback
>>           inet addr:127.0.0.1  Mask:255.0.0.0
>>           UP LOOPBACK RUNNING  MTU:16436  Metric:1
>>           RX packets:692562900 errors:0 dropped:0 overruns:0 frame:0
>>           TX packets:692562900 errors:3228 dropped:3228 overruns:0 carrier:0
>>           collisions:0 txqueuelen:0
>>           RX bytes:2865674174 (2.6 GiB)  TX bytes:2865674174 (2.6 GiB)
>>
>> I chose to reflect those errors only in tx_dropped/tx_errors, and not mirror
>> these errors in rx_dropped/rx_errors.
>>
>> Signed-off-by: Eric Dumazet <[email-masked]>
> 
> Well, logically the receive is what failed, not the transmit.
> 
> I think it's therefore misleading to count it as a TX drop.
> 
> Do you feel strongly about this?

Not at all, but my plan was to go a litle bit further, ie being able to 
return from loopback_xmit() with a non null value.

netif_rx() usage in loopback device is biased, since its really a transmit :)

Oh well...