From owner-freebsd-current@FreeBSD.ORG Tue Apr 26 09:52:31 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1A95016A4CE for ; Tue, 26 Apr 2005 09:52:31 +0000 (GMT) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id EFAC243D5F for ; Tue, 26 Apr 2005 09:52:29 +0000 (GMT) (envelope-from andre@freebsd.org) Received: (qmail 17866 invoked from network); 26 Apr 2005 09:53:28 -0000 Received: from unknown (HELO freebsd.org) ([62.48.0.53]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 26 Apr 2005 09:53:28 -0000 Message-ID: <426E0F5C.3F157398@freebsd.org> Date: Tue, 26 Apr 2005 11:52:28 +0200 From: Andre Oppermann X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: David Malone References: <20050424150211.GA87520@walton.maths.tcd.ie> <426BC78A.3E56D99B@freebsd.org> <426C1600.106@uq.edu.au> <426D2307.97D15253@freebsd.org> <426D306B.7010000@freebsd.org> <20050426094337.GA44893@walton.maths.tcd.ie> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: silby@freebsd.org cc: qingli@freebsd.org cc: Matthew Sullivan cc: freebsd-current@freebsd.org Subject: Re: DF (Don't frag) issues X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Apr 2005 09:52:31 -0000 David Malone wrote: > > On Mon, Apr 25, 2005 at 08:01:15PM +0200, Andre Oppermann wrote: > > - Handling of received ICMP Needfrag messages. The logic was broken > > for the cases where the ICMP didn't contain a suggested value. This > > brokeness is in there since 5.2R and comes from my cleanup of the > > routing table and introduction of TCP hostcache. However there is > > no way to fix it at all. It was broken even before I broke it more. > > The idea behind the old code was to step down the MTU when we got > > a ICMP Needfrag by one step and try again. Unfortunatly it is very > > likely that the tcp window was open by a few segments already when > > we hit this. This gets us a number of those ICMP's in rapid succession > > each stepping us one down. > > I wonder if we could look into the quoted IP header and extract the > length of the IP packet that caused the needs-frag ICMP. That would > stop us getting in knots when there are a few packets in flight and > would give us a good idea about where we need to step down from. This is a really clever idea indeed. But it only works if part of the original packet is attached. Broken implementations are likely to omit that. But I'll implement your suggestion as well and post a new patch later this evening. -- Andre