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
> 
> 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.


> 
> 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);

-- 
Bjoern A. Zeeb                                 You have to have visions!
   It does not matter how good you are. It matters what good you do!

_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to