> I am back with a bit more information. The counters which were not
> checked in this version can be grouped in two categories:
> 
> - Error counters such as:
> 
>       u64 FrameCheckSequenceErrors;
>       u64 AlignmentErrors;
>       u64 FramesLostDueToIntMACXmitError;
>       u64 CarrierSenseErrors;
>       u64 FramesLostDueToIntMACRcvError;
>       u64 InRangeLengthErrors;
>       u64 OutOfRangeLengthField;
>       u64 FrameTooLongErrors;
>       u64 FramesAbortedDueToXSColls;
> 
>   I did extend the selftest with these ones so that we check them
>   against zero. I ran the test hundreds of times and I did not see any
>   problems.

Great.

> 
> - Collision related counters (not really errors):
> 
>       u64 SingleCollisionFrames;
>       u64 MultipleCollisionFrames;
>       u64 FramesWithDeferredXmissions;
>       u64 LateCollisions;
>       u64 FramesWithExcessiveDeferral;
> 
>   With these I don't know what to do. Theoretically, they could be
>   non-zero in half-duplex circumstances which means that checking for
>   zero would not be entirely accurate.

How about, fail the test if any are greater than 1% of the number of
packets transmitted/received? My _guess_ is, if you have 1% packet
loss, networking is not going to be happy anyway. It probably means
you have one end doing Half duplex and the other Full. That is a
typical configuration error you see causing collisions. Not that i've
actually seen this for maybe a decade!

Failing the test, with a comment about checking duplex configuration,
seems sensible.

     Andrew

Reply via email to