Date: Tue, 12 Jun 2012 12:53:00 +0000 From: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> To: Randall Stewart <rrs@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r236955 - head/sys/net Message-ID: <70EDDE72-B9FE-45AB-B3C5-248B95E1E960@lists.zabbadoz.net> In-Reply-To: <201206121244.q5CCiH4i053940@svn.freebsd.org> References: <201206121244.q5CCiH4i053940@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12. Jun 2012, at 12:44 , Randall Stewart wrote: > Author: rrs > Date: Tue Jun 12 12:44:17 2012 > New Revision: 236955 > URL: http://svn.freebsd.org/changeset/base/236955 >=20 > 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. There are cards that can do checksums for IPIP... with drivers in out = tree. >=20 > Modified: > head/sys/net/if_gif.c >=20 > Modified: head/sys/net/if_gif.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- 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 =3D m->m_pkthdr.csum_data; > + =09 > if (ifp->if_bridge) > af =3D AF_LINK; >=20 > @@ -503,10 +504,11 @@ gif_output(ifp, m, dst, ro) > dst->sa_family =3D af; > } > af =3D 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 =3D af; > if (!(ifp->if_flags & IFF_UP) || > sc->gif_psrc =3D=3D NULL || sc->gif_pdst =3D=3D NULL) { > m_freem(m); --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?70EDDE72-B9FE-45AB-B3C5-248B95E1E960>