dccp: make upper bound for seq_window consistent on 32/64 bit
Gerrit Renker [Sun, 2 Jan 2011 17:15:58 +0000 (18:15 +0100)]
The 'seq_window' sysctl sets the initial value for the DCCP Sequence Window,
which may range from 32..2^46-1 (RFC 4340, 7.5.2). The patch sets the upper
bound consistently to 2^32-1 on both 32 and 64 bit systems, which should be
sufficient - with a RTT of 1sec and 1-byte packets, a seq_window of 2^32-1
corresponds to a link speed of 34 Gbps.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>

Documentation/networking/dccp.txt
net/dccp/sysctl.c

index b395ca6..811872b 100644 (file)
@@ -167,6 +167,7 @@ rx_ccid = 2
 seq_window = 100
        The initial sequence window (sec. 7.5.2) of the sender. This influences
        the local ackno validity and the remote seqno validity windows (7.5.1).
+       Values in the range Wmin = 32 (RFC 4340, 7.5.2) up to 2^32-1 can be set.
 
 tx_qlen = 5
        The size of the transmit buffer in packets. A value of 0 corresponds
index 5639438..4234882 100644 (file)
@@ -21,7 +21,8 @@
 /* Boundary values */
 static int             zero     = 0,
                        u8_max   = 0xFF;
-static unsigned long   seqw_min = 32;
+static unsigned long   seqw_min = DCCPF_SEQ_WMIN,
+                       seqw_max = 0xFFFFFFFF;          /* maximum on 32 bit */
 
 static struct ctl_table dccp_default_table[] = {
        {
@@ -31,6 +32,7 @@ static struct ctl_table dccp_default_table[] = {
                .mode           = 0644,
                .proc_handler   = proc_doulongvec_minmax,
                .extra1         = &seqw_min,            /* RFC 4340, 7.5.2 */
+               .extra2         = &seqw_max,
        },
        {
                .procname       = "rx_ccid",