Date: Tue, 28 Oct 2008 05:41:44 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r184387 - user/kmacy/HEAD_fast_xmit/sys/netinet Message-ID: <200810280541.m9S5fi8t083660@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810280541.m9S5fi8t083660>