From owner-freebsd-current@FreeBSD.ORG Sun Apr 24 22:44:17 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 C92B116A4CE for ; Sun, 24 Apr 2005 22:44:17 +0000 (GMT) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id E872143D31 for ; Sun, 24 Apr 2005 22:44:16 +0000 (GMT) (envelope-from andre@freebsd.org) Received: (qmail 3917 invoked from network); 24 Apr 2005 22:45:30 -0000 Received: from unknown (HELO freebsd.org) ([62.48.0.54]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 24 Apr 2005 22:45:30 -0000 Message-ID: <426C213F.2AC415F6@freebsd.org> Date: Mon, 25 Apr 2005 00:44:15 +0200 From: Andre Oppermann X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Matthew Sullivan References: <426426AE.2060406@uq.edu.au><42663EA1.3020409@uq.edu.au> <20050424150211.GA87520@walton.maths.tcd.ie> <426BC78A.3E56D99B@freebsd.org> <426C1600.106@uq.edu.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: David Malone 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: Sun, 24 Apr 2005 22:44:17 -0000 Matthew Sullivan wrote: > > Andre Oppermann wrote: > > >David Malone wrote: > > > > > >>On Sat, Apr 23, 2005 at 10:27:53PM +1000, Matthew Sullivan wrote: > >> > >> > >>>Ok well thanks to Andrew @ Supernews and a lot of debugging it appears > >>>there is a bug.... > >>> > >>>sys/netinet/ip_icmp.c: line 440 > >>> if (!mtu) > >>> mtu = ip_next_mtu(mtu, 1); > >>>Problem is ip_next_mtu will always return 0 when called with (0, 1) ... > >>> > >>> > >>I think this might be a bug, but Andre would know better. Andre - > >>it looks to me as if the first argument to ip_next_mtu here should > >>be the current MTU for the path, but it is being set to the mtu > >>from the ICMP message, which (in this case) is zero. > >> > >> > > > >This is a bug indeed. Let me think how to fix this most efficiently... > > > > > > > >>(This is in the code that has just been moved to tcp_ctlinput.) > >> > >> > >> > >>>Apparently the gateway should be suggesting a MTU value for use.... the > >>>gateway is also FreeBSD 5.3 so something needs fixing .. :-/ > >>> > >>> > >>Are you using ip fast forwarding on the gateway? It calculates the > >>size that is put into the ICMP message in a slightly different way > >>to the other forwrd path. > >> > >> > > > >The quoted code above is used only for incoming ICMP packets. It > >does not generate them? What is the problem being observed exactly? > > > > > > > As David suggested my config is shown here: > > http://lists.freebsd.org/pipermail/freebsd-current/2005-April/048980.html > > After talking with people I see 2 issues..... > > 1/ The bug is being triggered when the incoming 'need frag' ICMP message > doesn't have a suggested value. > > This ICMP message is being generated by 'stealth.sorbs.net' which is a > FreeBSD 5.3 p9 server running FAST_IPSEC (no crypto card yet - waiting > for delivery), and otherwise pretty standard kernel. As for fast forwarding: > > net.inet.ip.fastforwarding: 0 > > 2/ The bug itself is also a problem, as it cannot be guarenteed that the > host returning the ICMP 'need frag' will fill in a suggested mtu, so > that also needs to be looked at (but I guess you know that already ;-)) Ok, I'm looking into this stuff. -- Andre