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
pgp2nT52JLUQM.pgp
Description: PGP signature
