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
--8S1fMsFYqgBC+BN/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 06/01/16 at 08:25P, Sreekanth Rupavatharam wrote: > I am seeing a strange issue with transmit with igb driver and wanted to c= heck with you if this issue is already noted. I didn?t find anything partic= ularly matching in Bugzilla. There is a test I am running where a iXIa is s= ending arps at about 500/sec for 10 seconds. This test works fine if the in= coming 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 corr= ect value(about 5000), but dev.igb.1.mac_stats.total_pkts_txd doesn?t refle= ct that. >=20 >=20 > Before > dev.igb.1.queue0.tx_packets: 24907933 > dev.igb.1.mac_stats.total_pkts_txd: 16647169 >=20 > After > dev.igb.1.queue0.tx_packets: 24913324 > dev.igb.1.mac_stats.total_pkts_txd: 16647545 = | >=20 >=20 > queue0.tx_packets difference =3D 24913324 ? 24907933 =3D 5391 > mac_stats.total_pkts_txd difference =3D 16647545 ? 16647169 =3D 376 >=20 > 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 <=3D 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 --8S1fMsFYqgBC+BN/ Content-Type: application/pgp-signature -----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----- --8S1fMsFYqgBC+BN/--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160602202015.GG8994>