linux/net/dccp
Gerrit Renker 5753fdfe8b dccp ccid-2: Algorithm to update buffer state
This provides a routine to consistently update the buffer state when the
peer acknowledges receipt of Ack Vectors; updating state in the list of Ack
Vectors as well as in the circular buffer.

While based on RFC 4340, several additional (and necessary) precautions were
added to protect the consistency of the buffer state. These additions are
essential, since analysis and experience showed that the basic algorithm was
insufficient for this task (which lead to problems that were hard to debug).

The algorithm now
 * deals with HC-sender acknowledging to HC-receiver and vice versa,
 * keeps track of the last unacknowledged but received seqno in tail_ackno,
 * has special cases to reset the overflow condition when appropriate,
 * is protected against receiving older information (would mess up buffer state).

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
2010-11-15 07:11:59 +01:00
..
ccids dccp ccid-2: Ack Vector interface clean-up 2010-11-10 21:20:07 +01:00
ackvec.c dccp ccid-2: Algorithm to update buffer state 2010-11-15 07:11:59 +01:00
ackvec.h dccp ccid-2: Algorithm to update buffer state 2010-11-15 07:11:59 +01:00
ccid.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ccid.h dccp: Return-value convention of hc_tx_send_packet() 2010-10-28 10:27:00 -07:00
dccp.h dccp ccid-2: Implementation of circular Ack Vector buffer with overflow handling 2010-11-10 21:21:35 +01:00
diag.c dccp_diag: LISTEN sockets don't have CCIDs 2008-12-17 16:08:01 -08:00
feat.c dccp: Kill dead code and add static markers. 2010-10-06 23:12:07 -07:00
feat.h dccp: Kill dead code and add static markers. 2010-10-06 23:12:07 -07:00
input.c dccp ccid-2: Algorithm to update buffer state 2010-11-15 07:11:59 +01:00
ipv4.c tproxy: fix hash locking issue when using port redirection in __inet_inherit_port() 2010-10-21 13:06:43 +02:00
ipv6.c tproxy: fix hash locking issue when using port redirection in __inet_inherit_port() 2010-10-21 13:06:43 +02:00
ipv6.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig dccp: Lockless integration of CCID congestion-control plugins 2009-01-04 21:42:53 -08:00
Makefile dccp: Integrate the TFRC library with DCCP 2009-01-04 21:45:33 -08:00
minisocks.c dccp: fix the adjustments to AWL and SWL 2010-10-12 06:57:40 +02:00
options.c dccp ccid-2: Algorithm to update buffer state 2010-11-15 07:11:59 +01:00
output.c dccp: Refine the wait-for-ccid mechanism 2010-10-28 10:27:01 -07:00
probe.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
proto.c dccp: Refine the wait-for-ccid mechanism 2010-10-28 10:27:01 -07:00
sysctl.c sysctl net: Remove unused binary sysctl code 2009-11-12 02:05:06 -08:00
timer.c dccp: Refine the wait-for-ccid mechanism 2010-10-28 10:27:01 -07:00