fix IP(v4) over IPv6 tunneling most likely broken with ifnet changes.

Submitted by:	bz
Approved by:	re (dwhite)
This commit is contained in:
ume 2005-06-20 20:17:00 +00:00
parent 2ca7877009
commit 38dbaac82e

View File

@ -234,14 +234,21 @@ in6_gif_input(mp, offp, proto)
{
struct mbuf *m = *mp;
struct ifnet *gifp = NULL;
struct gif_softc *sc;
struct ip6_hdr *ip6;
int af = 0;
u_int32_t otos;
ip6 = mtod(m, struct ip6_hdr *);
gifp = (struct ifnet *)encap_getarg(m);
sc = (struct gif_softc *)encap_getarg(m);
if (sc == NULL) {
m_freem(m);
ip6stat.ip6s_nogif++;
return IPPROTO_DONE;
}
gifp = GIF2IFP(sc);
if (gifp == NULL || (gifp->if_flags & IFF_UP) == 0) {
m_freem(m);
ip6stat.ip6s_nogif++;