• Gerrit Renker's avatar
    dccp: Implement both feature-local and feature-remote Sequence Window feature · 51c7d4fa
    Gerrit Renker authored
    This adds full support for local/remote Sequence Window feature, from which the 
      * sequence-number-validity (W) and 
      * acknowledgment-number-validity (W') windows 
    derive as specified in RFC 4340, 7.5.3. 
    
    Specifically, the following changes are introduced:
      * integrated new socket fields into dccp_sk;
      * updated the update_gsr/gss routines with regard to these fields;
      * updated handler code: the Sequence Window feature is located at the TX side,
        so the local feature is meant if the handler-rx flag is false;
      * the initialisation of `rcv_wnd' in reqsk is removed, since
        - rcv_wnd is not used by the code anywhere;
        - sequence number checks are not done in the LISTEN state (cf. 7.5.3);
        - dccp_check_req checks the Ack number validity more rigorously;
      * the `struct dccp_minisock' became empty and is now removed.
    
    Until the handshake completes with activating negotiated values, the local/remote
    Sequence-Window values are undefined and thus can not reliably be estimated.
    This issue is addressed in a separate patch.
    Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
    Acked-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
    51c7d4fa
feat.c 39.2 KB