Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Jun 2012 12:44:17 +0000 (UTC)
From:      Randall Stewart <rrs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r236955 - head/sys/net
Message-ID:  <201206121244.q5CCiH4i053940@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rrs
Date: Tue Jun 12 12:44:17 2012
New Revision: 236955
URL: http://svn.freebsd.org/changeset/base/236955

Log:
  Note to self. Have morning coffee *before* committing things.
  There is no mac_addr in the mbuf for BSD.. cheat like
  we are supposed to and use the csum field since our friend
  the gif tunnel itself will never use offload.

Modified:
  head/sys/net/if_gif.c

Modified: head/sys/net/if_gif.c
==============================================================================
--- head/sys/net/if_gif.c	Tue Jun 12 12:40:15 2012	(r236954)
+++ head/sys/net/if_gif.c	Tue Jun 12 12:44:17 2012	(r236955)
@@ -388,7 +388,8 @@ keep_going:
 		/* Now pull back the af in packet that
 		 * was saved in the address location.
 		 */
-		bcopy(m->m_pkthdr.src_mac_addr, &af, sizeof(af));
+		af = m->m_pkthdr.csum_data;
+		
 		if (ifp->if_bridge)
 			af = AF_LINK;
 
@@ -503,10 +504,11 @@ gif_output(ifp, m, dst, ro)
 		dst->sa_family = af;
 	}
 	af = dst->sa_family;
-	/* Now save the af in the inbound pkt mac
-	 * address location.
+	/* Now save the af in the inbound pkt csum
+	 * data, this is a cheat since really
+	 * gif tunnels don't do offload.
 	 */
-	bcopy(&af, m->m_pkthdr.src_mac_addr, sizeof(af));
+	m->m_pkthdr.csum_data = af;
 	if (!(ifp->if_flags & IFF_UP) ||
 	    sc->gif_psrc == NULL || sc->gif_pdst == NULL) {
 		m_freem(m);



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