Re: CCID4 Testing - bug fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



| Patch details: we modify the sender rate in the initial phase when
| congestion control is not yet applied. In the original code, the header
| penalty rate reduction of s/(s+overhead) was, I believe, incorrectly
| applied to all sender rates. 

| Otherwise you eventually throttle the rate to a very low rate as the growth
| governed by min(2*X, 2*Xrec) cannot work when the header penalty is less
| than 0.5 - in this case you shrink rather than grow. 
| 
| Example: header penalty for a 20b packet is 20/56=0.357. On RTT of
| 200msec, the initial rate is 3.2kbit/s, assuming the receiver gets this
| rate, you grow to 2*Xrec*header penalty, which is 2.28kbit/s, etc till
| you reach the min rate of s/RTT.
|
The point is correct this: would happen for all payload sizes s < 36
bytes (which applies to VoIP packets). In this case the increase factor
during slow-start is indeed less than 1 and moves from exponential
increase to decrease.

The CCID4-02 draft indeed speaks of "allowed transmit rate derived from
the TCP throughput equation" in section 5, which seems to imply that X_calc
(and not X in general) is meant, which confirms your interpretation.

| 
| Is it possible to contribute to the ccid4 tree, or (for Gerrit) would
| you like us to send you the patch which is not a large number of lines. 
| 
Please do send a patch, since this gives the other CCID-4 developers a
chance to sign this off.

Since the reduction applies to X_calc only, IMHO it should be moved like this:

	/* Update sending rate (step 4 of [RFC 3448, 4.3]) */
        if (hctx->p > 0) {
		hctx->x_calc = tfrc_calc_x(NOM_PACKET_SIZE, 
					   hctx->rtt, hctx->p);

		/* Apply header penalty as per RFC 4828, 4.2 */
		hctx->x_calc *= hctx->s;
		do_div(hctx->x_calc, hctx->s + CCID4HCTX_H);
	}

and then remove the ccid4_hc_tx_x_header_penalty() function since it is
now called in one place only.


The University of Aberdeen is a charity registered in Scotland, No SC013683.

--
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux