diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2010-08-29 19:23:12 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-30 13:45:26 -0700 |
commit | 22b71c8f4f3db8df92f5e7b081c265bc56c0bd2f (patch) | |
tree | b913f63369b09ad703ed52a42b367455785ef3af /net/ipv4/tcp_input.c | |
parent | d26eeb07fd02de31848b59d19687daff0e93532f (diff) | |
download | kernel_goldelico_gta04-22b71c8f4f3db8df92f5e7b081c265bc56c0bd2f.zip kernel_goldelico_gta04-22b71c8f4f3db8df92f5e7b081c265bc56c0bd2f.tar.gz kernel_goldelico_gta04-22b71c8f4f3db8df92f5e7b081c265bc56c0bd2f.tar.bz2 |
tcp/dccp: Consolidate common code for RFC 3390 conversion
This patch consolidates initial-window code common to TCP and CCID-2:
* TCP uses RFC 3390 in a packet-oriented manner (tcp_input.c) and
* CCID-2 uses RFC 3390 in packet-oriented manner (RFC 4341).
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index e663b78..1bc87a0 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -805,25 +805,12 @@ void tcp_update_metrics(struct sock *sk) } } -/* Numbers are taken from RFC3390. - * - * John Heffner states: - * - * The RFC specifies a window of no more than 4380 bytes - * unless 2*MSS > 4380. Reading the pseudocode in the RFC - * is a bit misleading because they use a clamp at 4380 bytes - * rather than use a multiplier in the relevant range. - */ __u32 tcp_init_cwnd(struct tcp_sock *tp, struct dst_entry *dst) { __u32 cwnd = (dst ? dst_metric(dst, RTAX_INITCWND) : 0); - if (!cwnd) { - if (tp->mss_cache > 1460) - cwnd = 2; - else - cwnd = (tp->mss_cache > 1095) ? 3 : 4; - } + if (!cwnd) + cwnd = rfc3390_bytes_to_packets(tp->mss_cache); return min_t(__u32, cwnd, tp->snd_cwnd_clamp); } |