Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Nov 2012 07:16:01 -0500
From:      Kim Culhan <w8hdkim@gmail.com>
To:        Dimitry Andric <dimitry@andric.com>
Cc:        Adrian Chadd <adrian@freebsd.org>, freebsd-current@freebsd.org, Andre Oppermann <andre@freebsd.org>
Subject:   Re: weird network problems on current since 10/28/2012
Message-ID:  <CAKZxVQVzCeiwvQ1KVntmyEQxhYEN5E-qZzYkOU1psT537x%2Bjsw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
On Sun, November 4, 2012 6:21 am, Dimitry Andric wrote:
> On 2012-11-04 02:13, Manfred Antar wrote:
>> At 03:29 PM 11/3/2012, Adrian Chadd wrote:
>>> On 3 November 2012 10:40, Manfred Antar <null@pozo.com> wrote:
>>>> i have problem connecting to freebsd box on local network since last
sunday.
>>>> the last kernel that works:
>>>>   FreeBSD 10.0-CURRENT #0: Sun Oct 28 12:14:38 PDT 2012
>>>> anything after that, sometimes i can connect, other times just hangs.
>>>> any network connection hangs ===== pop httpd ssh etc etc.
>>>> anyone have any ideas ?
>>>> i can checkout different sources and see if i can locate the changes
that cause
>>>> this.
>>>
>>> Please do!
> ...
>> Here is what I found doing :
>> setenv CVSROOT /usr/home/ncvs
>>
>> cvs co -D"October 28, 2012 12:14:38 PDT" sys
>>
>> A kernel from that time works fine.
>>
>> doing:
>>
>> cvs up -D"October 28, 2012 13:14:38 PDT" sys                    1 hour
later
>> the following files were changed:
>> sys/netinet/tcp_input.c
>> sys/netinet/tcp_timer.c
>> sys/netinet/tcp_var.h
>>
>> Building a kernel from these new files is when the problem starts.
>
> So, your problems seem to have been introduced by this commit by Andre:
>
>    http://svn.freebsd.org/changeset/base/242266
>
>    Increase the initial CWND to 10 segments as defined in IETF TCPM
>    draft-ietf-tcpm-initcwnd-05. It explains why the increased initial
>    window improves the overall performance of many web services without
>    risking congestion collapse.
>
>    As long as it remains a draft it is placed under a sysctl marking it
>    as experimental:
>     net.inet.tcp.experimental.initcwnd10 = 1
>    When it becomes an official RFC soon the sysctl will be changed to
>    the RFC number and moved to net.inet.tcp.
>
>    This implementation differs from the RFC draft in that it is a bit
>    more conservative in the case of packet loss on SYN or SYN|ACK because
>    we haven't reduced the default RTO to 1 second yet.  Also the restart
>    window isn't yet increased as allowed.  Both will be adjusted with
>    upcoming changes.
>
>    Is is enabled by default.  In Linux it is enabled since kernel 3.0.
>
> After the commit, there was a small discussion thread on svn-src-head@
> about the possible problems with the approach.  Maybe you are
> experiencing those?
>
> As the commit message says, you should be able to turn the feature off
> using:
>
>    sysctl net.inet.tcp.experimental.initcwnd10=0
>
> Can you please try that, and see if the problems go away?

FWIW this did not make the problem go away here.

thanks
-kim

--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKZxVQVzCeiwvQ1KVntmyEQxhYEN5E-qZzYkOU1psT537x%2Bjsw>