Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Jul 2011 05:47:48 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r223753 - head/sys/netinet
Message-ID:  <201107040547.p645lmhU056106@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107040547.p645lmhU056106>