svn commit: r223753 - head/sys/netinet
Andrey V. Elsukov
ae at FreeBSD.org
Mon Jul 4 05:47:48 UTC 2011
Author: ae
Date: Mon Jul 4 05:47:48 2011
New Revision: 223753
URL: http://svn.freebsd.org/changeset/base/223753
Log:
ARP code reuses mbuf from ARP request to make a reply, but it does not
reset rcvif to NULL. Since rcvif is not NULL, ipfw(4) supposes that ARP
replies were received on specified interface.
Reset rcvif to NULL for ARP replies to fix this issue.
PR: kern/131817
Reviewed by: glebius
MFC after: 1 month
Modified:
head/sys/netinet/if_ether.c
Modified: head/sys/netinet/if_ether.c
==============================================================================
--- head/sys/netinet/if_ether.c Mon Jul 4 03:19:06 2011 (r223752)
+++ head/sys/netinet/if_ether.c Mon Jul 4 05:47:48 2011 (r223753)
@@ -857,6 +857,7 @@ reply:
ah->ar_pro = htons(ETHERTYPE_IP); /* let's be sure! */
m->m_len = sizeof(*ah) + (2 * ah->ar_pln) + (2 * ah->ar_hln);
m->m_pkthdr.len = m->m_len;
+ m->m_pkthdr.rcvif = NULL;
sa.sa_family = AF_ARP;
sa.sa_len = 2;
(*ifp->if_output)(ifp, m, &sa, NULL);
More information about the svn-src-head
mailing list