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

--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>