TCP window size issues
Andre Oppermann
oppermann at pipeline.ch
Fri Oct 17 15:29:40 PDT 2003
Andre Oppermann wrote:
>
> Carl Mascott wrote:
> >
> > Actually I have just fixed it in my copy of 4.8-R. I have a document
> > that describes the problem and my solution. I could send you that
> > and/or a set of patches. You might want to sketch out your own
> > solution before you look at mine, though. Also, I'm not done
> > testing mine yet.
>
> The patch in PR11966 has already been applied. It does not fix it.
> I've fixed it by redoing this check in tcp_input.c::tcp_mss():
>
> if ((bufsize = rt->rt_rmx.rmx_sendpipe) == 0)
> bufsize = so->sn_snd.sb_hiwat;
>
> to:
>
> if ((so->so_snd.sb_hiwat == tcp_sendspace) && rt->rt_rmx.rmx_sendpipe)
> bufsize = rt->rt_rmx.rmx_sendpipe;
> else
> bufsize = so->so_snd.sb_hiwat;
>
> The theory goes that with default buffers so_snd.sb_hiwat and
> tcp_sendspace have the same size. If that is actually the case,
> we use whatever we've got from the metrics. If not, the user
> did some changes and we take that and ignore the metrics value.
> This is not yet tested in reality... just theoretical ;-)
Just confirmed that it works.
--
Andre
More information about the freebsd-net
mailing list