From owner-freebsd-net@FreeBSD.ORG Mon Jan 28 13:41:31 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AA1016A41A for ; Mon, 28 Jan 2008 13:41:31 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 8BFA113C442 for ; Mon, 28 Jan 2008 13:41:30 +0000 (UTC) (envelope-from andre@freebsd.org) Received: (qmail 98845 invoked from network); 28 Jan 2008 13:01:59 -0000 Received: from localhost (HELO [127.0.0.1]) ([127.0.0.1]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 28 Jan 2008 13:01:59 -0000 Message-ID: <479DDB8E.1040504@freebsd.org> Date: Mon, 28 Jan 2008 14:41:34 +0100 From: Andre Oppermann User-Agent: Thunderbird 1.5.0.14 (Windows/20071210) MIME-Version: 1.0 To: Maxim Konovalov References: <200711200656.lAK6u4bc021279@repoman.freebsd.org> <4797B77E.2090605@freebsd.org> <20080124005006.D93697@odysseus.silby.com> <47986F27.10401@freebsd.org> <20080124145713.K15031@mp2.macomnet.net> <47988A2A.5010506@freebsd.org> <20080124164704.X15031@mp2.macomnet.net> <47989E3C.4030700@freebsd.org> <20080124171957.N15031@mp2.macomnet.net> <20080125073623.F15031@mp2.macomnet.net> <479A7B55.6050302@freebsd.org> <20080126132516.I15031@mp2.macomnet.net> <479DA47C.6090905@freebsd.org> <20080128140354.Y29850@mp2.macomnet.net> In-Reply-To: <20080128140354.Y29850@mp2.macomnet.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: cvs commit: src/sys/netinet tcp_syncache.c X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jan 2008 13:41:31 -0000 Maxim Konovalov wrote: > [...] >> Who's fault is it? Clearly the adsl modem. It's tcp is utterly >> broken. Should FreeBSD work around it? In this case I don't think >> so. Normally yes if it is an edge case in a specification or some >> generally made mistake. This is not the case with the adsl modem. >> It's really broken and in complete disregard of even the basic >> standards. The vendor should fix it, not us work around it. >> > It used to work for years and works now. I see no point to make > FreeBSD to not work with countless devices around the world. In this case the issue was fixed by changing the window scaling algorithm because many stateful firewalls get this wrong too (configuration problem by not tracking the initial SYN with the wscale parameter). Otherwise I don't agree that we have to bend over backwards to support a broken device that doesn't even implement the basic TCP RFCs remotely correct. I don't say we should brake it for the sake of braking it but if there are compelling and RFC compliant arguments *for* a change that breaks these totally non-compliant devices then so be it. Call your vendor and have them make it TCP RFC compliant. Here the simplest fix for their source code would be to just disable support of window scaling since it doesn't need it anyway. A compelling argument for a change may be support of higher speed links with high latency (like 100Mbit/s with 200ms). This time we were able to solve this issue in a compatible way (for the Asustek adsl router). The next it may not be so lucky. -- Andre