igb: Record host memory receive overflow in net_stats
authorJesper Dangaard Brouer <hawk@comx.dk>
Tue, 26 May 2009 13:50:48 +0000 (13:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 May 2009 03:35:06 +0000 (20:35 -0700)
commit3ea73afafb8cd237a823ec5d0a0a2f2396b03b33
tree591865ec06a265346b9ed9c2750701f9f570bd2c
parent8c0ab70ab9cc849af59ef6592bd652a938b21c79
igb: Record host memory receive overflow in net_stats

Based on previous patch from Jesper Dangaard Brouer.

The RNBC (Receive No Buffers Count) register for the 82576, indicate
that frames were received when there were no available buffers in host
memory to store those frames (receive descriptor head and tail
pointers were equal).  The packet is still received by the NIC if
there is space in the FIFO on the NIC.

As the RNBC value is not a packet drop, the driver stores this value
in net_stats.rx_fifo_errors to indicate that there were no system
buffers available for the incoming packet.  Actual dropped packets
are counted in the MPC value.

Saving the stats in dev->net_stats makes it visible via
/proc/net/dev as "fifo", and thus viewable to ifconfig
as "overruns" and 'netstat -i' as "RX-OVR".

The Receive No Buffers Count (RNBC) can already be queried by
ethtool -S as "rx_no_buffer_count".

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Jesper Dangaard Brouer <hawk@comx.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/igb/igb_ethtool.c
drivers/net/igb/igb_main.c