• Michael Ellerman's avatar
    [PATCH] iseries_veth: Fix bogus counting of TX errors · db5e8718
    Michael Ellerman authored
    There's a number of problems with the way iseries_veth counts TX errors.
    
    Firstly it counts conditions which aren't really errors as TX errors. This
    includes if we don't have a connection struct for the other LPAR, or if the
    other LPAR is currently down (or just doesn't want to talk to us). Neither
    of these should count as TX errors.
    
    Secondly, it counts one TX error for each LPAR that fails to accept the packet.
    This can lead to TX error counts higher than the total number of packets sent
    through the interface. This is confusing for users.
    
    This patch fixes that behaviour. The non-error conditions are no longer
    counted, and we introduce a new and I think saner meaning to the TX counts.
    
    If a packet is successfully transmitted to any LPAR then it is transmitted
    and tx_packets is incremented by 1.
    
    If there is an error transmitting a packet to any LPAR then that is counted
    as one error, ie. tx_errors is incremented by 1.
    Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
    db5e8718
iseries_veth.c 38.2 KB