linux/net/dccp/ccids/lib
Gerrit Renker 535c55df13 dccp tfrc/ccid-3: Computing Loss Rate from Loss Event Rate
This adds a function to take care of the following cases occurring in the
computation of the Loss Rate p:

 * 1/(2^32-1) is mapped into 0% as per RFC 4342, 8.5;
 * 1/0        is mapped into the maximum of 100%;
 * we want to avoid that p = 1/x is rounded down to 0 when x is very large,
   since this means accidentally re-entering slow-start (indicated by p==0).

In the last case, the minimum-resolution value of p is returned.

Furthermore, a bug in ccid3_hc_rx_getsockopt is fixed (1/0 was mapped into ~0U),
which now allows to consistently print the scaled p-values as

        printf("Loss Event Rate = %u.%04u %%\n", rx_info.tfrcrx_p / 10000, 
                                                 rx_info.tfrcrx_p % 10000);

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
2008-09-04 07:45:34 +02:00
..
loss_interval.c dccp ccid-3: Replace lazy BUG_ON with condition 2008-09-04 07:45:25 +02:00
loss_interval.h
Makefile
packet_history.c dccp ccid-3: Remove ugly RTT-sampling history lookup 2008-09-04 07:45:34 +02:00
packet_history.h dccp ccid-3: Remove ugly RTT-sampling history lookup 2008-09-04 07:45:34 +02:00
tfrc_equation.c dccp tfrc/ccid-3: Computing Loss Rate from Loss Event Rate 2008-09-04 07:45:34 +02:00
tfrc.c
tfrc.h dccp tfrc/ccid-3: Computing Loss Rate from Loss Event Rate 2008-09-04 07:45:34 +02:00