/bin/wifi: switch to qdpc-host VLANs.
Change-Id: Iac21738e8b72ca2582cd0a52f671c4bbe10bac73
diff --git a/wifi/quantenna.py b/wifi/quantenna.py
index 8efaf0c..9e0d26b 100755
--- a/wifi/quantenna.py
+++ b/wifi/quantenna.py
@@ -11,7 +11,7 @@
def _get_quantenna_interfaces():
- return subprocess.check_output(['get-quantenna-interfaces']).split()
+ return utils.read_or_empty('/sys/class/net/quantenna/vlan')
def _qcsapi(*args):
@@ -27,13 +27,6 @@
return ':'.join(octets)
-def _get_vlan(hif):
- m = re.search(r'VID: (\d+)', utils.read_or_empty('/proc/net/vlan/%s' % hif))
- if m:
- return int(m.group(1))
- raise utils.BinWifiException('no VLAN ID for interface %s' % hif)
-
-
def _get_interfaces(mode, suffix):
# Each host interface (hif) maps to exactly one LHOST interface (lif) based on
# the VLAN ID as follows: the lif is wifiX where X is the VLAN ID - 2 (VLAN
@@ -41,11 +34,12 @@
# VLAN ID 2.
prefix = 'wlan' if mode == 'ap' else 'wcli'
suffix = r'.*' if suffix == 'ALL' else suffix
- for hif in _get_quantenna_interfaces():
+ for line in _get_quantenna_interfaces().splitlines():
+ hif, vlan = line.split()
+ vlan = int(vlan)
+ lif = 'wifi%d' % (vlan - 2)
+ mac = _get_external_mac(hif)
if re.match(r'^' + prefix + r'\d*' + suffix + r'$', hif):
- vlan = _get_vlan(hif)
- lif = 'wifi%d' % (vlan - 2)
- mac = _get_external_mac(hif)
yield hif, lif, mac, vlan
diff --git a/wifi/quantenna_test.py b/wifi/quantenna_test.py
index 3241b70..00400ed 100755
--- a/wifi/quantenna_test.py
+++ b/wifi/quantenna_test.py
@@ -16,30 +16,17 @@
@wvtest.wvtest
-def get_vlan_test():
- old_read_or_empty = utils.read_or_empty
- utils.read_or_empty = lambda _: 'wlan0 VID: 3 REORDER_HDR: 1'
- wvtest.WVPASSEQ(quantenna._get_vlan('wlan0'), 3)
- utils.read_or_empty = lambda _: ''
- wvtest.WVEXCEPT(utils.BinWifiException, quantenna._get_vlan, 'wlan0')
- utils.read_or_empty = old_read_or_empty
-
-
-@wvtest.wvtest
def get_interface_test():
old_get_quantenna_interfaces = quantenna._get_quantenna_interfaces
old_get_external_mac = quantenna._get_external_mac
- old_get_vlan = quantenna._get_vlan
- quantenna._get_quantenna_interfaces = lambda: ['wlan0', 'wlan0_portal']
+ quantenna._get_quantenna_interfaces = lambda: 'wlan0 3\nwlan0_portal 4\n'
quantenna._get_external_mac = lambda _: '00:00:00:00:00:00'
- quantenna._get_vlan = lambda _: 3
wvtest.WVPASSEQ(quantenna._get_interface('ap', ''),
('wlan0', 'wifi1', '00:00:00:00:00:00', 3))
wvtest.WVPASSEQ(quantenna._get_interface('ap', '_portal'),
- ('wlan0_portal', 'wifi1', '00:00:00:00:00:00', 3))
+ ('wlan0_portal', 'wifi2', '00:00:00:00:00:00', 4))
wvtest.WVPASSEQ(quantenna._get_interface('sta', ''),
(None, None, None, None))
- quantenna._get_vlan = old_get_vlan
quantenna._get_external_mac = old_get_external_mac
quantenna._get_quantenna_interfaces = old_get_quantenna_interfaces