Date: Tue, 12 Jun 2012 09:17:46 -0400 From: Randall Stewart <rrs@lakerest.net> To: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> Cc: svn-src-head@FreeBSD.org, Randall Stewart <rrs@FreeBSD.org>, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r236955 - head/sys/net Message-ID: <3F5E6768-BC5D-4405-A160-0D5CC172B45C@lakerest.net> In-Reply-To: <70EDDE72-B9FE-45AB-B3C5-248B95E1E960@lists.zabbadoz.net> References: <201206121244.q5CCiH4i053940@svn.freebsd.org> <70EDDE72-B9FE-45AB-B3C5-248B95E1E960@lists.zabbadoz.net>
next in thread | previous in thread | raw e-mail | index | archive | help
That actually will not effect things. Since the packet is on the way out. If the csum_data field gets set on the way in (not out)=85 so reusing it here I think is safe. R On Jun 12, 2012, at 8:53 AM, Bjoern A. Zeeb wrote: >=20 > On 12. Jun 2012, at 12:44 , Randall Stewart wrote: >=20 >> 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. >=20 > There are cards that can do checksums for IPIP... with drivers in out = tree. >=20 >=20 >>=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 > --=20 > Bjoern A. Zeeb You have to have = visions! > It does not matter how good you are. It matters what good you do! >=20 >=20 ------------------------------ Randall Stewart 803-317-4952 (cell)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F5E6768-BC5D-4405-A160-0D5CC172B45C>