From 9f7d0f48302709138ef2eb6e693d42f47e415ea2 Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Thu, 23 Apr 2015 13:19:00 +0000 Subject: 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. --- sys/net/if_vlan.c | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'sys/net/if_vlan.c') diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 0753e0abab7a..462c9078fbc1 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -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; -- cgit v1.2.3