• Fabrice Bellet's avatar
    conncheck: remove cancelled pair state · 95f8805e
    Fabrice Bellet authored
    Pairs with the state NICE_CHECK_CANCELLED are the pairs targeted for
    removal after the nomination of a pair with an higher priority,
    described in Section 8.1.2 "Updating States", item 2 of RFC 5245. They
    include also pairs that overflow the conncheck list size, but this is a
    somewhat more marginal situation. So we are mainly interested in the
    first use case of this state.
    
    This state mixes two different situations, that deserve a distinct
    handling : on one side, there are waiting or frozen pairs that must be
    removed, this is an immediate action that doesn't need a dedicated state
    for that. And on the other side, there are in-progress pairs that
    should no longer be retransmitted, because another pair with a higher
    priority has already been nominated.
    
    This patch removes the cancelled state, and adds a flag
    retransmit_on_timeout to deal with this last situation. Note that this
    case should not generate a triggered check, as per described in section
    7.2.1.4, when the state of the pair is In-Progress or Failed, since this
    pair of lower priority has no hope to replace the nominated one.
    
    Differential Revision: https://phabricator.freedesktop.org/D1114
    95f8805e
conncheck.h 4.52 KB