• Gerrit Renker's avatar
    dccp: Integration of dynamic feature activation - part 3 (client side) · 991d927c
    Gerrit Renker authored
    This integrates feature-activation in the client:
    
     1. When dccp_parse_options() fails, the reset code is already set; request_sent\
        _state_process() currently overrides this with `Packet Error', which is not
        intended - changed to use the reset code supplied by dccp_parse_options().
    
     2. When feature negotiation fails, the socket should be marked as not usable,
        so that the application is notified that an error occurred. This is achieved
        by a new label 'unable_to_proceed': generating an error code of `Aborted',
        setting the socket state to CLOSED, returning with ECOMM in sk_err.
    
     3. Avoids parsing the Ack twice in Respond state by not doing option processing
        again in dccp_rcv_respond_partopen_state_process (as option processing has
        already been done on the request_sock in dccp_check_req).
    
    Since this addresses congestion-control initialisation, a corresponding
    FIXME has been removed.
    Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
    Acked-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    991d927c
input.c 22 KB