• Jon Maloy's avatar
    tipc: let group member stay in JOINED mode if unable to reclaim · 4ea5dab5
    Jon Maloy authored
    We handle a corner case in the function tipc_group_update_rcv_win().
    During extreme pessure it might happen that a message receiver has all
    its active senders in RECLAIMING or REMITTED mode, meaning that there
    is nobody to reclaim advertisements from if an additional sender tries
    to go active.
    
    Currently we just set the new sender to ACTIVE anyway, hence at least
    theoretically opening up for a receiver queue overflow by exceeding the
    MAX_ACTIVE limit. The correct solution to this is to instead add the
    member to the pending queue, while letting the oldest member in that
    queue revert to JOINED state.
    
    In this commit we refactor the code for handling message arrival from
    a JOINED member, both to make it more comprehensible and to cover the
    case described above.
    Acked-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4ea5dab5
group.c 22.1 KB