|
@@ -755,7 +755,15 @@ void tcp_update_metrics(struct sock *sk)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/* Numbers are taken from RFC2414. */
|
|
|
+/* 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);
|