| If we set s to first packet size then s is way too low as this is not a | data packet. On my system this is 24 bytes (skb->len) and if sending | 1400 byte packets you are sending at a rate over 50 x too much. | | More conservative default is mss and follows general principle of being | conservative rather than aggressive. I don't agree with this patch. 1) all packets going through ccid3 are data packets (restriction len > 0 in ccid3_hc_tx_send_packet). 2) your example is specific to iperf, but with other sources the initial packet may look different: we should not modify generic kernel code just because with a specific application it looks strange. 3) we already have the larger initial windows code tackling this issue: as soon as the first feedback packet arrives, the min(4*MSS, max(2*MSS, 4380)) kicks in - which has an even stronger effect than just using 1 * MSS. OK? | | Signed-off-by: Ian McDonald <ian.mcdonald@xxxxxxxxxxx> | --- | diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c | index 1ae4f52..b40cad6 100644 | --- a/net/dccp/ccids/ccid3.c | +++ b/net/dccp/ccids/ccid3.c | @@ -342,7 +342,7 @@ static int ccid3_hc_tx_send_packet(struct sock *sk, struct sk_buff *skb) | ccid3_hc_tx_set_state(sk, TFRC_SSTATE_NO_FBACK); | | /* Set initial sending rate X/s to 1pps (X is scaled by 2^6) */ | - ccid3_hc_tx_update_s(hctx, skb->len); | + ccid3_hc_tx_update_s(hctx, dp->dccps_mss_cache); | hctx->ccid3hctx_x = hctx->ccid3hctx_s; | hctx->ccid3hctx_x <<= 6; | | - | 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 | | - 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