mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-28 20:55:21 +00:00
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:
parent
07b5ccc39d
commit
ae290324a4
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=54530
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue