• Finn Thain's avatar
    net/sonic: Fix interface error stats collection · 427db97d
    Finn Thain authored
    The tx_aborted_errors statistic should count packets flagged with EXD,
    EXC, FU, or BCM bits because those bits denote an aborted transmission.
    That corresponds to the bitmask 0x0446, not 0x0642. Use macros for these
    constants to avoid mistakes. Better to leave out FIFO Underruns (FU) as
    there's a separate counter for that purpose.
    
    Don't lump all these errors in with the general tx_errors counter as
    that's used for tx timeout events.
    
    On the rx side, don't count RDE and RBAE interrupts as dropped packets.
    These interrupts don't indicate a lost packet, just a lack of resources.
    When a lack of resources results in a lost packet, this gets reported
    in the rx_missed_errors counter (along with RFO events).
    
    Don't double-count rx_frame_errors and rx_crc_errors.
    
    Don't use the general rx_errors counter for events that already have
    special counters.
    
    Fixes: 1da177e4 ("Linux-2.6.12-rc2")
    Tested-by: default avatarStan Johnson <userm57@yahoo.com>
    Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    427db97d
sonic.h 13.6 KB