sys/net/if_vlan.c fails to maintain the IFF_RUNNING flag on the

vlan interfaces it manages.  This prevents the interface from
actually sending or receiving data.

Submitted by:	C. Stephen Gunn <csg@waterspout.com>
PR:		15290
This commit is contained in:
Jordan K. Hubbard 1999-12-13 01:38:14 +00:00
parent 07b5ccc39d
commit ae290324a4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=54530

View file

@ -272,7 +272,7 @@ vlan_start(struct ifnet *ifp)
return;
}
void
int
vlan_input_tag(struct ether_header *eh, struct mbuf *m, u_int16_t t)
{
int i;
@ -509,7 +509,7 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
if (vlr.vlr_parent[0] == '\0') {
vlan_unconfig(ifp);
if_down(ifp);
ifp->if_flags = 0;
ifp->if_flags &= ~(IFF_UP|IFF_RUNNING);
break;
}
p = ifunit(vlr.vlr_parent);
@ -521,6 +521,7 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
if (error)
break;
ifv->ifv_tag = vlr.vlr_tag;
ifp->if_flags |= IFF_RUNNING;
break;
case SIOCGETVLAN: