From owner-freebsd-stable@FreeBSD.ORG Thu Sep 15 16:44:40 2011 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 449001065672; Thu, 15 Sep 2011 16:44:40 +0000 (UTC) (envelope-from egrosbein@rdtc.ru) Received: from eg.sd.rdtc.ru (unknown [IPv6:2a03:3100:c:13::5]) by mx1.freebsd.org (Postfix) with ESMTP id 81B318FC12; Thu, 15 Sep 2011 16:44:39 +0000 (UTC) Received: from eg.sd.rdtc.ru (localhost [127.0.0.1]) by eg.sd.rdtc.ru (8.14.5/8.14.5) with ESMTP id p8FGibJ1009924; Thu, 15 Sep 2011 23:44:38 +0700 (NOVST) (envelope-from egrosbein@rdtc.ru) Message-ID: <4E722B70.9010201@rdtc.ru> Date: Thu, 15 Sep 2011 23:44:32 +0700 From: Eugene Grosbein User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; ru-RU; rv:1.9.2.13) Gecko/20110112 Thunderbird/3.1.7 MIME-Version: 1.0 To: stable@freebsd.org, John Baldwin Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: Subject: busdma MFC broke ipfw fwd for RELENG_6 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 16:44:40 -0000 Hi! I understand that it is "a bit" late for RELENG_6 reports as 6.4-RELEASE was out in 2008 but the breakage had happened due to MFC so it's possible same problem exists in newer branches. Long story short: I've updated my old 6.4-STABLE system for recent zoneinfo updates and found the update broke 'ipfw fwd' feature: forwarded packets get corrupted, routed packets go just fine. The commit in question has been performed in 2010/08/06: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/i386/Attic/busdma_machdep.c.diff?r1=1.74.2.6;r2=1.74.2.7 I've rolled it back using recent RELENG_6 sources and packet corruption have disappeared. Full commit can be seen with the following command: cvs -q diff -u -j "RELENG_6:2010/08/06 00:00:00 GMT" -j "RELENG_6:2010/08/07 00:00:00 GMT" There was only one commit to RELENG_6 that day. I do not understand how and why it broke "ipfw fwd" but that's the fact. Some details: I have FreeBSD 6.4-STABLE router with LAN interface (rl0) and WAN interface (re0) and L2TP tunnel (ng1) built with mpd5. I forward some packets from LAN to ng0 with "ipfw fwd" and before the MFC that setup worked just fine. After update to recent RELENG_6, forwarded packets arrive corrupted to other side of L2TP tunnel or get lost in between (due to bad headers, I guess). At sending side, tcpdump shows no problems not for ng1 interface nor for re0 where it shows l2tp traffic with IP packets inside but really ougouing L2TP packets go damaged (e.g. payload with zero bytes only), that can be seen at receiving side of tunnel. If I replace "ipfw fwd" with static route into the tunnel, packets go through just fine again, so there is no problem with intermediate network. But I need policy based routing and rollback of mentioned MFC has revived my setup again. The guilty commit was found with simple "time dichotomy" (csup/build kernel/reboot/test/again etc.) Just for archives. Eugene Grosbein P.S. Most of my production routers are still 6.4-STABLE