[dpdk-dev] ixgbe: account more Rx errors Issue

Tahhan, Maryam maryam.tahhan at intel.com
Fri Sep 4 14:44:54 CEST 2015


> From: Andriy Berestovskyy [mailto:aber at semihalf.com]
> Sent: Friday, September 4, 2015 10:38 AM
> To: Tahhan, Maryam; dev at dpdk.org
> Subject: ixgbe: account more Rx errors Issue
> 
> Hi,
> Updating to DPDK 2.1 I noticed an issue with the ixgbe stats.
> 
> In commit f6bf669b9900 "ixgbe: account more Rx errors" we add XEC
> hardware counter (l3_l4_xsum_error) to the ierrors now. The issue is the
> UDP packets with zero check sum are counted in XEC and now in ierrors too.
> 
> I've tried to disable hw_ip_checksum in rxmode, but it didn't help.
> 
> I'm not sure we should add XEC to ierrors, because packets counted in XEC
> are not dropped by the NIC actually. So in my case ierrors counter is now
> greater than actual number of packets received by the NIC, which makes no
> sense.
> 
> What's your opinion?

Hi Andriy
Thanks for flagging this, I'm aware of this phenomenon, unfortunately it means we are hitting 2 hw registers on the NIC.

XEC counts the Number of receive IPv4, TCP, UDP or SCTP XSUM errors

And general crc errors counts Counts the number of receive packets with CRC errors. In order for a packet to be counted in this register, it must be 64 bytes or greater (from <Destination Address> through <CRC>, inclusively) in length. This register counts all packets received, regardless of L2 filtering and receive enablement

So our options are we can:
1. Add only one of these into the error stats.
2. We can introduce some cooking of stats in this scenario, so only add either or if they are equal or one is higher than the other.
3. Add them all which means you can have more errors than the number of received packets, but TBH this is going to be the case if your packets have multiple errors anyway.

I'm happy to go with either 1, 2 or 3 but would like some more feedback from the community on this front.

Regards
Maryam
> Regards,
> Andriy


More information about the dev mailing list