diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index 95bd2872fd42..d225cf0c1ada 100644 --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_gif.c,v 1.78 2010/04/05 07:22:23 joerg Exp $ */ +/* $NetBSD: if_gif.c,v 1.79 2011/10/27 20:04:57 dyoung Exp $ */ /* $KAME: if_gif.c,v 1.76 2001/08/20 02:01:02 kjc Exp $ */ /* @@ -31,7 +31,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.78 2010/04/05 07:22:23 joerg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.79 2011/10/27 20:04:57 dyoung Exp $"); #include "opt_inet.h" #include "opt_iso.h" @@ -312,6 +312,10 @@ gif_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, } *mtod(m, int *) = dst->sa_family; + /* Clear checksum-offload flags. */ + m->m_pkthdr.csum_flags = 0; + m->m_pkthdr.csum_data = 0; + s = splnet(); IFQ_ENQUEUE(&ifp->if_snd, m, &pktattr, error); if (error) { @@ -493,9 +497,6 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, void *data) ifp->if_flags |= IFF_UP; break; - case SIOCSIFDSTADDR: - break; - case SIOCADDMULTI: case SIOCDELMULTI: switch (ifr->ifr_addr.sa_family) { diff --git a/sys/net/if_gre.c b/sys/net/if_gre.c index 401c5a2eac7a..36107ea34e5c 100644 --- a/sys/net/if_gre.c +++ b/sys/net/if_gre.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_gre.c,v 1.146 2011/10/19 21:59:38 dyoung Exp $ */ +/* $NetBSD: if_gre.c,v 1.147 2011/10/27 20:04:57 dyoung Exp $ */ /* * Copyright (c) 1998, 2008 The NetBSD Foundation, Inc. @@ -45,7 +45,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_gre.c,v 1.146 2011/10/19 21:59:38 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_gre.c,v 1.147 2011/10/27 20:04:57 dyoung Exp $"); #include "opt_atalk.h" #include "opt_gre.h" @@ -993,6 +993,10 @@ gre_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, ifp->if_opackets++; ifp->if_obytes += m->m_pkthdr.len; + /* Clear checksum-offload flags. */ + m->m_pkthdr.csum_flags = 0; + m->m_pkthdr.csum_data = 0; + /* send it off */ if ((error = gre_bufq_enqueue(&sc->sc_snd, m)) != 0) { sc->sc_oflow_ev.ev_count++; @@ -1265,8 +1269,6 @@ gre_ioctl(struct ifnet *ifp, const u_long cmd, void *data) gre_clearconf(sp, false); ifp->if_flags |= IFF_UP; goto mksocket; - case SIOCSIFDSTADDR: - break; case SIOCSIFFLAGS: if ((error = ifioctl_common(ifp, cmd, data)) != 0) break;