From owner-svn-src-user@FreeBSD.ORG Tue Oct 28 05:41:44 2008 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B46831065681; Tue, 28 Oct 2008 05:41:44 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A342C8FC24; Tue, 28 Oct 2008 05:41:44 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id m9S5fiDe083661; Tue, 28 Oct 2008 05:41:44 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id m9S5fi8t083660; Tue, 28 Oct 2008 05:41:44 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200810280541.m9S5fi8t083660@svn.freebsd.org> From: Kip Macy Date: Tue, 28 Oct 2008 05:41:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r184387 - user/kmacy/HEAD_fast_xmit/sys/netinet X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Oct 2008 05:41:44 -0000 Author: kmacy Date: Tue Oct 28 05:41:44 2008 New Revision: 184387 URL: http://svn.freebsd.org/changeset/base/184387 Log: log errors and make sure flow gets re-looked up if dst address changes Modified: user/kmacy/HEAD_fast_xmit/sys/netinet/ip_output.c Modified: user/kmacy/HEAD_fast_xmit/sys/netinet/ip_output.c ============================================================================== --- user/kmacy/HEAD_fast_xmit/sys/netinet/ip_output.c Tue Oct 28 04:32:41 2008 (r184386) +++ user/kmacy/HEAD_fast_xmit/sys/netinet/ip_output.c Tue Oct 28 05:41:44 2008 (r184387) @@ -466,10 +466,13 @@ sendit: error = netisr_queue(NETISR_IP, m); goto done; - } else + } else { + ri->ri_flags &= ~RTF_UP; goto again; /* Redo the routing table lookup. */ - } + } + } + #ifdef IPFIREWALL_FORWARD /* See if local, if yes, send it to netisr with IP_FASTFWD_OURS. */ if (m->m_flags & M_FASTFWD_OURS) { @@ -493,6 +496,7 @@ sendit: bcopy((fwd_tag+1), dst, sizeof(struct sockaddr_in)); m->m_flags |= M_SKIP_FIREWALL; m_tag_delete(m, fwd_tag); + ri->ri_flags &= ~RTF_UP; goto again; } #endif /* IPFIREWALL_FORWARD */ @@ -617,6 +621,7 @@ passout: done: return (error); bad: + printf("freeing %p\n", m); m_freem(m); goto done; }