linux/net/dccp
Gerrit Renker 6eb55d172b 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.

The patch also 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.

Note on retransmitting Confirm options:
---------------------------------------
Implementation experience showed that it is necessary to retransmit Confirm
options. Thanks to Leandro Melo de Sales who reported a bug in an earlier
revision of the patch set, resulting from not retransmitting these options.

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.

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>
2008-12-08 01:15:26 -08:00
..
ccids dccp: Registration routines for changing feature values 2008-11-12 00:43:40 -08:00
ackvec.c dccp: Set per-connection CCIDs via socket options 2008-11-23 16:02:31 -08:00
ackvec.h dccp: Set per-connection CCIDs via socket options 2008-11-23 16:02:31 -08:00
ccid.c dccp: Query supported CCIDs 2008-11-12 00:47:26 -08:00
ccid.h dccp: API to query the current TX/RX CCID 2008-11-23 16:04:59 -08:00
dccp.h dccp: Feature activation handlers 2008-12-01 23:34:01 -08:00
diag.c net: inet_diag_handler structs can be const 2008-11-19 15:43:27 -08:00
feat.c dccp: Feature activation handlers 2008-12-01 23:34:01 -08:00
feat.h dccp: Processing Confirm options 2008-12-01 23:33:18 -08:00
input.c dccp: Per-socket initialisation of feature negotiation 2008-11-04 23:55:49 -08:00
ipv4.c net: Convert TCP & DCCP hash tables to use RCU / hlist_nulls 2008-11-16 19:40:17 -08:00
ipv6.c netns xfrm: lookup in netns 2008-11-25 17:35:18 -08:00
ipv6.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig This reverts "Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/dccp_exp" 2008-09-09 13:27:22 +02:00
Makefile This reverts "Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/dccp_exp" 2008-09-09 13:27:22 +02:00
minisocks.c dccp: Deprecate Ack Ratio sysctl 2008-11-16 22:55:08 -08:00
options.c dccp: Processing Confirm options 2008-12-01 23:33:18 -08:00
output.c dccp: use roundup instead of opencoding 2008-12-05 22:39:49 -08:00
probe.c dccp: API to query the current TX/RX CCID 2008-11-23 16:04:59 -08:00
proto.c dccp: Integration of dynamic feature activation - part 1 (socket setup) 2008-12-08 01:15:26 -08:00
sysctl.c dccp: Deprecate Ack Ratio sysctl 2008-11-16 22:55:08 -08:00
timer.c dccp: Limit feature negotiation to connection setup phase 2008-11-12 00:42:58 -08:00