[TCP]: Describe tcp_init_cwnd() thoroughly in a comment.

People often get tripped up by this function and think that
it does not implemented the prescribed algorithms from
RFC2414 and RFC3390, even though it does.

So add a comment to head off such misunderstandings in the
future.

Signed-off-by: David S. Miller <davem@davemloft.net>

+9 -1
+9 -1
net/ipv4/tcp_input.c
··· 755 755 } 756 756 } 757 757 758 - /* Numbers are taken from RFC2414. */ 758 + /* Numbers are taken from RFC3390. 759 + * 760 + * John Heffner states: 761 + * 762 + * The RFC specifies a window of no more than 4380 bytes 763 + * unless 2*MSS > 4380. Reading the pseudocode in the RFC 764 + * is a bit misleading because they use a clamp at 4380 bytes 765 + * rather than use a multiplier in the relevant range. 766 + */ 759 767 __u32 tcp_init_cwnd(struct tcp_sock *tp, struct dst_entry *dst) 760 768 { 761 769 __u32 cwnd = (dst ? dst_metric(dst, RTAX_INITCWND) : 0);