[PATCH 04/18] [CCID2]: Don't assign negative values to Ack Ratio

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] Since it makes not sense to assign negative values to Ack Ratio, this patch disallows this possibility. As a consequence, a Bug test for negative Ack Ratio values becomes obsolete. Furthermore, a check against overflow (as Ack Ratio may not exceed 2 bytes,

[PATCH 03/18] [CCID2]: Fix sequence number arithmetic/comparisons

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] This replaces use of normal subtraction with modulo-48 subtraction. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Acked-by: Ian McDonald [EMAIL PROTECTED] Signed-off-by: Arnaldo Carvalho de Melo [EMAIL PROTECTED] --- net/dccp/ccids/ccid2.c |9 ++---

[PATCH 02/18] [CCID2]: Bug in reading Ack Vectors

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] In CCID2 the receiver-history is sorted in ascending order of sequence number, but the processing of received Ack Vectors requires the list traversal in the opposite direction. The current code has a bug in this regard: the list traversal is upwards. As a

[PATCH 06/18] [DCCP]: Initialize dccp_sock before calling the ccid constructors

2007-11-24 Thread Arnaldo Carvalho de Melo
This is because in the next patch CCID2 will assume that dccps_mss_cache is non-zero. Signed-off-by: Arnaldo Carvalho de Melo [EMAIL PROTECTED] --- net/dccp/proto.c | 25 + 1 files changed, 13 insertions(+), 12 deletions(-) diff --git a/net/dccp/proto.c

[PATCH 07/18] [CCID2]: Larger initial windows also for CCID2

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] RFC 4341, sec. 5 states that The cwnd parameter is initialized to at most four packets for new connections, following the rules from [RFC3390], which is implemented by this patch. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Acked-by: Ian McDonald [EMAIL

[PATCH 08/18] [CCID2]: Disable broken Ack Ratio adaptation algorithm

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] This comments out a problematic section comprising a half-finished algorithm: - The variable `ccid2hctx_ackloss' is never initialised to a value different from 0 and hence in fact is a read-only constant. - The `arsent' variable counts packets other

[PATCH 10/18] [CCID2]: Replace read-only variable with constant

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] This replaces the field member `numdupack', which was used as a read-only constant in the code, with a #define. Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] Signed-off-by: Arnaldo Carvalho de Melo [EMAIL

[PATCH 17/18] [DCCP]: Check for unread data on close

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] This removes one FIXME with regard to close when there is still unread data. The mechanism is implemented similar to TCP: with regard to DCCP-specifics, a Reset with Code 2, Aborted is sent to the peer. This corresponds in part to RFC 4340, 8.1.1 and 8.1.5.

[PATCH 12/18] [CCID2]: Replace pipe assignment-function with assignment

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] The function ccid2_change_pipe only does an assignment. This patch simplifies the code by replacing the function with the assignment it performs. Furthermore, the type of pipe is promoted from `signed' to unsigned (increasing the range). As a result, a

[PATCH 18/18] [DCCP]: Add support for abortive release

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] This continues from the previous patch and adds support for actively aborting a DCCP connection, using a Reset Code 2, Aborted to inform the peer of an abortive release. I have tried this in various client/server settings and it works as expected.

[PATCH 09/18] [CCID2]: Remove unused variable

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] This removes a variable `ccid2hctx_sent' which is incremented but never referenced/read (i.e., dead code). Signed-off-by: Gerrit Renker [EMAIL PROTECTED] Signed-off-by: Ian McDonald [EMAIL PROTECTED] Signed-off-by: Arnaldo Carvalho de Melo [EMAIL PROTECTED]

[PATCH 01/18] [ACKVEC]: Reduce length of identifiers

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] This is reduces the length of the struct ackvec/ackvec_record fields. It is a purely text-based replacement: s#dccpavr_#avr_#g; s#dccpav_#av_#g; and increases readability somewhat. Signed-off-by: Gerrit Renker [EMAIL PROTECTED]

[PATCH 15/18] [CCID2]: Remove redundant ack-counting variable

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] The code used two different variables to count Acks, one of them redundant. This patch reduces the number of Ack counters to one. The type of the Ack counter has also been changed to u32 (twice the range of int); and the variable has been renamed into

[PATCH 05/18] [CCID2]: Deadlock and spurious timeouts when Ack Ratio cwnd

2007-11-24 Thread Arnaldo Carvalho de Melo
From: Gerrit Renker [EMAIL PROTECTED] This patch removes a bug in the current code. I agree with Andrea's comment that there is a problem here but the way it is treated does not fix it. The problem is that whenever Ack Ratio cwnd, starvation/deadlock occurs: * the receiver will not send an Ack