Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Jun 2016 13:20:15 -0700
From:      hiren panchasara <hiren@strugglingcoder.info>
To:        Sreekanth Rupavatharam <rupavath@juniper.net>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, "jfvogel@gmail.com" <jfvogel@gmail.com>
Subject:   Re: Possible transmit/stats problem in igb driver.
Message-ID:  <20160602202015.GG8994@strugglingcoder.info>
In-Reply-To: <D7944476-98AD-4548-99E3-6E88648E2B06@juniper.net>
References:  <D7944476-98AD-4548-99E3-6E88648E2B06@juniper.net>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
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

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQF8BAABCgBmBQJXUJT8XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4
QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/l/HsH/3yM/3BrY28adQ5zv4N9ozYa
L5NB+vKIqIIzoc42arBztEWd759qrG/2cjxB90VYQx2fjCHJD8NmWFKR5vcLRQ94
NysYNc5ZydBoI3fkistnChGQulnBOnSSYWZfjPCyliiF/Hwm/AImI9UZfeEygP34
Fj3qsTkU++aSr5N6zCnsUoirdH6sDi9zu7GxgBfiqfJInSdZLN727cIfdQWco2l1
Y8NND3KV9PQpBRwSRMUghcrrfHe2FdIOGV34GBXQUTH/h6RWjL91Szarlxqhgj9a
Up9uPa0xcd/zw2W/X2mlJLjp16cxgALTLiXcHiaCdWzl8hG4iyFZMjbjh8Otajc=
=O54H
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160602202015.GG8994>