Parcourir la source

dccp: make upper bound for seq_window consistent on 32/64 bit

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>
Gerrit Renker il y a 14 ans
Parent
commit
bfbb23466a
2 fichiers modifiés avec 4 ajouts et 1 suppressions
  1. 1 0
      Documentation/networking/dccp.txt
  2. 3 1
      net/dccp/sysctl.c

+ 1 - 0
Documentation/networking/dccp.txt

@@ -167,6 +167,7 @@ rx_ccid = 2
 seq_window = 100
 seq_window = 100
 	The initial sequence window (sec. 7.5.2) of the sender. This influences
 	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).
 	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
 tx_qlen = 5
 	The size of the transmit buffer in packets. A value of 0 corresponds
 	The size of the transmit buffer in packets. A value of 0 corresponds

+ 3 - 1
net/dccp/sysctl.c

@@ -21,7 +21,8 @@
 /* Boundary values */
 /* Boundary values */
 static int		zero     = 0,
 static int		zero     = 0,
 			u8_max   = 0xFF;
 			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[] = {
 static struct ctl_table dccp_default_table[] = {
 	{
 	{
@@ -31,6 +32,7 @@ static struct ctl_table dccp_default_table[] = {
 		.mode		= 0644,
 		.mode		= 0644,
 		.proc_handler	= proc_doulongvec_minmax,
 		.proc_handler	= proc_doulongvec_minmax,
 		.extra1		= &seqw_min,		/* RFC 4340, 7.5.2 */
 		.extra1		= &seqw_min,		/* RFC 4340, 7.5.2 */
+		.extra2		= &seqw_max,
 	},
 	},
 	{
 	{
 		.procname	= "rx_ccid",
 		.procname	= "rx_ccid",