linux/net/dccp
Gerrit Renker 0a4822679d dccp: Initialisation and type-checking of feature sysctls
This patch takes care of initialising and type-checking sysctls related to
feature negotiation. Type checking is important since some of the sysctls
now directly act on the feature-negotiation process.

The sysctls are initialised with the known default values for each feature.
For the type-checking the value constraints from RFC 4340 are used:

 * Sequence Window uses the specified Wmin=32, the maximum is ulong (4 bytes),
   tested and confirmed that it works up to 4294967295 - for Gbps speed;
 * Ack Ratio is between 0 .. 0xffff (2-byte unsigned integer);
 * CCIDs are between 0 .. 255;
 * request_retries, retries1, retries2 also between 0..255 for good measure;
 * tx_qlen is checked to be non-negative;
 * sync_ratelimit remains as before.

Further changes:
----------------
Performed s@sysctl_dccp_feat@sysctl_dccp@g since the sysctls are now in feat.c.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
2008-09-04 07:45:32 +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: Auto-load (when supported) CCID plugins for negotiation 2008-09-04 07:45:31 +02:00
ccid.h dccp: Auto-load (when supported) CCID plugins for negotiation 2008-09-04 07:45:31 +02:00
dccp.h dccp: Initialisation and type-checking of feature sysctls 2008-09-04 07:45:32 +02:00
diag.c dccp ccid-2: Phase out the use of boolean Ack Vector sysctl 2008-09-04 07:45:31 +02:00
feat.c dccp: Initialisation and type-checking of feature sysctls 2008-09-04 07:45:32 +02:00
feat.h dccp: Initialisation and type-checking of feature sysctls 2008-09-04 07:45:32 +02:00
input.c dccp ccid-2: Phase out the use of boolean Ack Vector sysctl 2008-09-04 07:45:31 +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: Implement both feature-local and feature-remote Sequence Window feature 2008-09-04 07:45:32 +02:00
options.c dccp: Initialisation and type-checking of feature sysctls 2008-09-04 07:45:32 +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: Implement both feature-local and feature-remote Sequence Window feature 2008-09-04 07:45:32 +02:00
sysctl.c dccp: Initialisation and type-checking of feature sysctls 2008-09-04 07:45:32 +02:00
timer.c dccp: Limit feature negotiation to connection setup phase 2008-09-04 07:45:27 +02:00