[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Subject: RFC3390 implementation
- From: opolyakov at yahoo.com (Oleg Polyakov)
- Date: Fri Apr 11 16:27:00 2003
Nice to see RFC3390 implemented. It looks like it worth mention in tuning(7).
While we on it - there is section 2 in RFC:
>2. Implementation Issues
> When larger initial windows are implemented along with Path MTU
> Discovery [RFC1191], and the MSS being used is found to be too large,
> the congestion window `cwnd' SHOULD be reduced to prevent large
> bursts of smaller segments. Specifically, `cwnd' SHOULD be reduced
> by the ratio of the old segment size to the new segment size.
So we need to take care of cwnd reduction in tcp_mtudisc function.
Here is a patch attached.
Or we may do it conditionally depending on tcp_do_rfc3390 variable.
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
-------------- next part --------------
--- tcp_subr.c.orig Fri Apr 11 13:05:53 2003
+++ tcp_subr.c Fri Apr 11 13:06:27 2003
@@ -1449,6 +1449,14 @@
if (so->so_snd.sb_hiwat < mss)
mss = so->so_snd.sb_hiwat;
+ * Follow suggestion in RFC 3390 to reduce the congestion
+ * window by the ratio of the old segment size to the new
+ * segment size.
+ if (mss < tp->t_maxseg)
+ tp->snd_cwnd = max((tp->snd_cwnd / tp->t_maxseg) *
+ mss, mss);
tp->t_maxseg = mss;
Visit your host, monkey.org