• Allan Stephens's avatar
    tipc: Fix port counter handling to correct congestion control · cb7ce914
    Allan Stephens authored
    Modifies TIPC's congestion control between a connected port and its
    peer so that it works as documented. The following changes have been
    made:
    
    1) The counter of the number of messages sent by a port now starts
       at zero, rather than one. This prevents the port from reporting port
       congestion one message earlier than it was supposed to.
    
    2) The counter of the number of messages sent by a port is now
       incremented only if a non-empty message is sent successfully.
       This prevents the port from becoming permanently congested if
       too many send attempts are unsuccessful because of congestion
       (or other reasons). It also removes the risk that empty hand-
       shaking messages used during connection setup might cause the
       port to report congestion earlier than it was supposed to.
    
    3) The counter of the number of unacknowledged messages received by
       a port controlled by an internal TIPC service is now incremented
       only if the message is non-empty, in order to be consistent with
       the aforementioned changes.
    Signed-off-by: default avatarAllan Stephens <Allan.Stephens@windriver.com>
    Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
    cb7ce914
port.c 32.6 KB