diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2015-04-23 13:19:00 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2015-04-23 13:19:00 +0000 |
commit | 9f7d0f48302709138ef2eb6e693d42f47e415ea2 (patch) | |
tree | 8812e93f2eedfa8f438a1cc77491b3a9c89aef0e /sys/net/if_vlan.c | |
parent | 446734c25efb5b4270c7426f6fa793524ca0fd2d (diff) | |
download | src-9f7d0f48302709138ef2eb6e693d42f47e415ea2.tar.gz src-9f7d0f48302709138ef2eb6e693d42f47e415ea2.zip |
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.
Notes
Notes:
svn path=/head/; revision=281885
Diffstat (limited to 'sys/net/if_vlan.c')
-rw-r--r-- | sys/net/if_vlan.c | 21 |
1 files changed, 0 insertions, 21 deletions
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; |