svn commit: r184387 - user/kmacy/HEAD_fast_xmit/sys/netinet
Kip Macy
kmacy at FreeBSD.org
Tue Oct 28 05:41:44 UTC 2008
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;
}
More information about the svn-src-user
mailing list