linux/net/dccp/ccids/lib
Gerrit Renker 8a9c7e92e0 [TFRC]: Ringbuffer to track loss interval history
A ringbuffer-based implementation of loss interval history is easier to
maintain, allocate, and update.

The `swap' routine to keep the RX history sorted is due to and was written
by Arnaldo Carvalho de Melo, simplifying an earlier macro-based variant.

Details:
 * access to the Loss Interval Records via macro wrappers (with safety checks);
 * simplified, on-demand allocation of entries (no extra memory consumption on
   lossless links); cache allocation is local to the module / exported as service;
 * provision of RFC-compliant algorithm to re-compute average loss interval;
 * provision of comprehensive, new loss detection algorithm
 	- support for all cases of loss, including re-ordered/duplicate packets;
 	- waiting for NDUPACK=3 packets to fill the hole;
	- updating loss records when a late-arriving packet fills a hole.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-28 14:57:18 -08:00
..
loss_interval.c [TFRC]: Ringbuffer to track loss interval history 2008-01-28 14:57:18 -08:00
loss_interval.h [TFRC]: Ringbuffer to track loss interval history 2008-01-28 14:57:18 -08:00
Makefile [TFRC]: Provide central source file and debug facility 2008-01-28 14:56:39 -08:00
packet_history.c [TFRC]: Ringbuffer to track loss interval history 2008-01-28 14:57:18 -08:00
packet_history.h [TFRC]: Ringbuffer to track loss interval history 2008-01-28 14:57:18 -08:00
tfrc_equation.c [NET] DCCP: Fix whitespace errors. 2007-02-10 23:19:27 -08:00
tfrc.c [TFRC]: Put RX/TX initialisation into tfrc.c 2008-01-28 14:57:15 -08:00
tfrc.h [TFRC]: Ringbuffer to track loss interval history 2008-01-28 14:57:18 -08:00