dccp: Integration of dynamic feature activation - part 3 (client side)
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Mon, 8 Dec 2008 09:16:27 +0000 (01:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Dec 2008 09:16:27 +0000 (01:16 -0800)
commit991d927c8652b2ab51bd8eef2b773bb2c77d457b
treeb21cab0ebe4b9f93a2c57b6dc6cd2f38ec828301
parent192b27ff35bad4cf76cc4239419e9f805935e4f8
dccp: Integration of dynamic feature activation - part 3 (client side)

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: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dccp/input.c