qdpc-host: add VLAN support.

Add a vlan sysfs file that takes an "add <interface> <VLAN ID>"
command and creates a netdev named <interface> that tags/untags packets
with <VLAN ID> but is not a VLAN interface from the kernel's
perspective.

This works around a restriction in the Mindspeed VWD driver's VLAN
support: VLAN interfaces must be named according to the
<lower interface>.<VLAN ID> convention, but our interfaces were named
wlanX, wlanX_portal, and wcliX for homogeneity with cfg80211 drivers.
This broke hardware forwarding and resulted in a 2x performance hit.
Instead, netdevs created using the vlan sysfs file are not VLAN
interfaces and this restriction does not apply.

Change-Id: I735751628bda5fac297dc49f655f0025fd792277
2 files changed