RFC3390 implementation
Oleg Polyakov
opolyakov at yahoo.com
Fri Apr 11 13:19:02 PDT 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.
----
Oleg
__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com
-------------- 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 @@
#endif
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;
More information about the freebsd-net
mailing list