On Fri, 9 Mar 2018 09:52:54 +0900 Hyong Youb Kim <hyon...@cisco.com> wrote:
> On Thu, Mar 08, 2018 at 02:14:27PM -0800, Stephen Hemminger wrote: > > On Wed, 7 Mar 2018 18:47:00 -0800 > > John Daley <johnd...@cisco.com> wrote: > > > > > 'catch-all' filters should be added last. > > > > > > +- **Statistics** > > > + > > > + - ``rx_good_bytes`` (ibytes) always includes VLAN header (4B) and CRC > > > bytes (4B). > > > + - When the NIC drops a packet because the Rx queue has no free buffers, > > > + ``rx_good_bytes`` still increments by 4B if the packet is not VLAN > > > tagged or > > > + VLAN stripping is disabled, or by 8B if the packet is VLAN tagged > > > and stripping > > > + is enabled. > > > > All drivers must provide consistent statistics! > > That means do NOT include CRC in the rx byte counts. > > Yes, several drivers in DPDK are already broken for this. > > > > Otherwise there are cases like packets being forwarded from HW NIC to > > virtio and the counts > > differ and customers think data is lots. > > Thanks for sharing this specific use case issue. > > We are aware that our current counters are non-standard. Newer 100G > hardware models have fixed the problem (i.e. no CRC bytes, no > incrementing of bytes when no buffers). We plan to update the doc > again when we add these newer models to the supported hardware list. > > As for older models, we will see if we can fix up stats in software.. > > -Hyong Don't worry some of the Intel drivers are buggy last I checked. Also make sure that when forwarding that bytes transmitted == bytes received. There were some drivers adding CRC on the receive but no on transmit. It maybe true that you want to count CRC if the CRC stripping flag is not set.