linux/net/dccp
Gerrit Renker 3a53a9adfa dccp: Integration of dynamic feature activation - part 1 (socket setup)
This first patch out of three replaces the hardcoded default settings with
initialisation code for the dynamic feature negotiation.

Note on retransmitting Confirm options:
---------------------------------------
This patch also defers flushing the client feature-negotiation queue,
due to the following considerations.

As long as the client is in PARTOPEN, it needs to retransmit the Confirm
options for the Change options received on the DCCP-Response from the server.

Otherwise, if the packet containing the Confirm options gets dropped in the 
network, the connection aborts due to undefined feature negotiation state.

Thanks to Leandro Melo de Sales who reported a bug in an earlier revision
of the patch set, resulting from not retransmitting the Confirm options.

The patch now ensures that the client feature-negotiation queue is flushed only
when entering the OPEN state. Since confirmed Change options are removed as
soon as they are confirmed (in the DCCP-Response), this ensures that Confirm
options are retransmitted.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
2008-09-04 07:45:30 +02:00
..
ccids dccp: Registration routines for changing feature values 2008-09-04 07:45:27 +02:00
ackvec.c dccp: Set per-connection CCIDs via socket options 2008-09-04 07:45:28 +02:00
ackvec.h dccp: Set per-connection CCIDs via socket options 2008-09-04 07:45:28 +02:00
ccid.c dccp: Query supported CCIDs 2008-09-04 07:45:27 +02:00
ccid.h dccp: API to query the current TX/RX CCID 2008-09-04 07:45:28 +02:00
dccp.h dccp: Feature activation handlers 2008-09-04 07:45:30 +02:00
diag.c [INET]: Let inet_diag and friends autoload 2007-10-22 02:59:54 -07:00
feat.c dccp: Feature activation handlers 2008-09-04 07:45:30 +02:00
feat.h dccp: Processing Confirm options 2008-09-04 07:45:29 +02:00
input.c dccp: Per-socket initialisation of feature negotiation 2008-09-04 07:45:26 +02:00
ipv4.c dccp: Cleanup routines for feature negotiation 2008-09-04 07:45:26 +02:00
ipv6.c dccp: Cleanup routines for feature negotiation 2008-09-04 07:45:26 +02:00
ipv6.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig [DCCP]: Promote CCID2 as default CCID 2008-01-28 14:54:46 -08:00
Makefile [DCCPv6]: Resolve conditional build problem 2006-12-02 21:22:28 -08:00
minisocks.c dccp: Deprecate Ack Ratio sysctl 2008-09-04 07:45:28 +02:00
options.c dccp: Processing Confirm options 2008-09-04 07:45:29 +02:00
output.c dccp: Mechanism to resolve CCID dependencies 2008-09-04 07:45:27 +02:00
probe.c dccp: API to query the current TX/RX CCID 2008-09-04 07:45:28 +02:00
proto.c dccp: Integration of dynamic feature activation - part 1 (socket setup) 2008-09-04 07:45:30 +02:00
sysctl.c dccp: Deprecate Ack Ratio sysctl 2008-09-04 07:45:28 +02:00
timer.c dccp: Limit feature negotiation to connection setup phase 2008-09-04 07:45:27 +02:00