Possible transmit/stats problem in igb driver.

hiren panchasara hiren at strugglingcoder.info
Thu Jun 2 20:20:17 UTC 2016


On 06/01/16 at 08:25P, Sreekanth Rupavatharam wrote:
> I am seeing a strange issue with transmit with igb driver and wanted to check with you if this issue is already noted. I didn?t find anything particularly matching in Bugzilla. There is a test I am running where a iXIa is sending arps at about 500/sec for 10 seconds. This test works fine if the incoming packet size is 64 bytes, but if the packets are larger than 64 bytes, then I see that the counter in dev.igb.1.queue0.tx_packets shows the correct value(about 5000), but dev.igb.1.mac_stats.total_pkts_txd doesn?t reflect that.
> 
> 
> Before
> dev.igb.1.queue0.tx_packets: 24907933
> dev.igb.1.mac_stats.total_pkts_txd: 16647169
> 
> After
> dev.igb.1.queue0.tx_packets: 24913324
> dev.igb.1.mac_stats.total_pkts_txd: 16647545                                    |
> 
> 
> queue0.tx_packets difference = 24913324 ? 24907933 = 5391
> mac_stats.total_pkts_txd difference = 16647545 ? 16647169 = 376
> 
> I do not see any errors in the stats(I can post the complete stats if you wish) nor do I see pause frames being received. Is there an explanation as to why the packets are dispatched to the hardware but are not transmitted on to the wire?

Apart from stats, do you see anything else going wrong? i.e. do you
actually see less packets (arp replies??) than expected?

Taking your example, tx_packets is something we count in the drivers and
total_pkts_txd is calculated in the card and we just read it off of it
to report (E1000_TPT).

To understand your setup better, ixia is the sender and your box with
igb(4) is the receiver and your are sending arp requests to it.

Can you post following for working (size <= 64bytes) and non-working
(size > 64bytes) cases for before/after?

sysctl dev.igb | grep tx_packets
sysctl dev.igb | grep total_pkts_txd
sysctl dev.igb | grep rx_packets
sysctl dev.igb | grep total_pkts_recvd

netstat -sp arp

(You can netstat -z to clear the counters between runs.)

Cheers,
Hiren
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 603 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20160602/887d1821/attachment.sig>


More information about the freebsd-net mailing list