Don't propagate SIOCSIFCAPS from a vlan(4) to its parent. This leads to

quite unexpected result of toggling capabilities on the neighbour vlan(4)
interfaces.

Reviewed by:		melifaro, np
Differential Revision:	https://reviews.freebsd.org/D2310
Sponsored by:		Nginx, Inc.
This commit is contained in:
Gleb Smirnoff 2015-04-23 13:19:00 +00:00
parent 446734c25e
commit 9f7d0f4830
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=281885

View File

@ -1705,27 +1705,6 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
}
break;
case SIOCSIFCAP:
VLAN_LOCK();
if (TRUNK(ifv) != NULL) {
p = PARENT(ifv);
VLAN_UNLOCK();
if ((p->if_type != IFT_ETHER) &&
(ifr->ifr_reqcap & IFCAP_VLAN_HWTAGGING) == 0) {
error = EINVAL;
break;
}
error = (*p->if_ioctl)(p, cmd, data);
if (error)
break;
/* Propogate vlan interface capabilities */
vlan_trunk_capabilities(p);
} else {
VLAN_UNLOCK();
error = EINVAL;
}
break;
default:
error = EINVAL;
break;