Fix ip_input() fallback for the destination modified cases (from the packet

filters).  After the ipfw to pfil move ip_input() expects M_FASTFWD_OURS
tagged packets to have ip_len and ip_off in host byte order instead of
network byte order.

PR:		kern/71652
Submitted by:	mlaier (patch)
This commit is contained in:
Andre Oppermann 2004-09-13 17:01:53 +00:00
parent e8929330e7
commit eedc0a7535
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=135158

View File

@ -465,14 +465,12 @@ passin:
if (in_localip(dest) || m->m_flags & M_FASTFWD_OURS) {
#endif /* IPFIREWALL_FORWARD */
forwardlocal:
/* for ip_input */
m->m_flags |= M_FASTFWD_OURS;
ip->ip_len = htons(ip->ip_len);
ip->ip_off = htons(ip->ip_off);
/*
* Return packet for processing by ip_input()
* Return packet for processing by ip_input().
* Keep host byte order as expected at ip_input's
* "ours"-label.
*/
m->m_flags |= M_FASTFWD_OURS;
if (ro.ro_rt)
RTFREE(ro.ro_rt);
return 0;