Skip to content
  • Fabrice Bellet's avatar
    conncheck: implement ice regular nomination method · 0636f9ad
    Fabrice Bellet authored
    This patch implements Regular Nomation as described in RFC5245
    8.1.1.1. The controlling agent lets valid pairs accumulate, and
    decides which pair to recheck with the use-candidate attribute set.
    priv_mark_pair_nominated() follows 7.2.1.5, to update the nominated
    pair when acting as a STUN server, and
    priv_map_reply_to_conn_check_request() implements 7.1.3.2.4 to
    update the nominated pair when acting as a STUN client. A new
    property is also added to the agent to control the nomination
    mode, which can be regular of aggressive, with default value
    set to aggressive.
    
    Two new flags are introduced in the CandidateCheckPair structure:
    
    - use_candidate_on_next_check indicates the STUN client to add the
      use-candidate attribute when the pair will be checked. At this
      time, the nominated flag has not been set on this pair yet.
    
    - mark_nominated_on_response_arrival indicates the STUN server
      to nominate the pair when its succesfull response to a
      previous triggered check will arrive (7.2.1.5, item #2)
    
    Differential Revision: https://phabricator.freedesktop.org/D811
    0636f9ad