remarkable-linux/net/dccp
Gerrit Renker e28fe59f9c dccp ccid-2: Update code for the Ack Vector input/registration routine
This patch uupdates the code which registers new packets as received, using the
new circular buffer interface. It contributes a new algorithm which 
	* supports both tail/head pointers and buffer wrap-around and
	* deals with overflow (head/tail move in lock-step).

The updated code is also partioned differently, into
	1. dealing with the empty buffer,
	2. adding new packets into non-empty buffer,
	3. reserving space when encountering a `hole' in the sequence space,
	4. updating old state and deciding when old state is irrelevant.

Protection against large burst losses: With regard to (3), it is too costly to
reserve space when there are large bursts of losses. When bursts get too large,
the code does no longer reserve space and just fills in cells normally. This
measure reduces space consumption by a factor of 63.

The code reuses in part the previous implementation by Arnaldo de Melo.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
2008-09-04 07:45:37 +02:00
..
ccids dccp ccid-2: Ack Vector interface clean-up 2008-09-04 07:45:36 +02:00
ackvec.c dccp ccid-2: Update code for the Ack Vector input/registration routine 2008-09-04 07:45:37 +02:00
ackvec.h dccp ccid-2: Update code for the Ack Vector input/registration routine 2008-09-04 07:45:37 +02:00
ccid.c dccp: Auto-load (when supported) CCID plugins for negotiation 2008-09-04 07:45:31 +02:00
ccid.h dccp: Unused argument in CCID tx function 2008-09-04 07:45:35 +02:00
dccp.h dccp ccid-2: Implementation of circular Ack Vector buffer with overflow handling 2008-09-04 07:45:36 +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 ccid-2: Use feature-negotiation to report Ack Ratio changes 2008-09-04 07:45:32 +02:00
feat.h dccp: Debugging functions for feature negotiation 2008-09-04 07:45:32 +02:00
input.c dccp ccid-2: Algorithm to update buffer state 2008-09-04 07:45:37 +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
Kconfig [DCCP]: Promote CCID2 as default CCID 2008-01-28 14:54:46 -08:00
Makefile
minisocks.c dccp: Fix the adjustments to AWL and SWL 2008-09-04 07:45:35 +02:00
options.c dccp ccid-2: Algorithm to update buffer state 2008-09-04 07:45:37 +02:00
output.c dccp: Merge now-reduced connect_init() function 2008-09-04 07:45:35 +02:00
probe.c dccp: Reduce noise in output and convert to ktime_t 2008-09-04 07:45:36 +02:00
proto.c dccp ccid-2: Use feature-negotiation to report Ack Ratio changes 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