summaryrefslogtreecommitdiff
path: root/smoketest/scripts
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2025-04-06 21:17:18 +0200
committerChristian Breunig <christian@breunig.cc>2025-04-06 21:19:51 +0200
commit3f0f7f3c0998e677747a398527ab2f78ad45a604 (patch)
tree7d44216912fa4b6262dc7d73c36108aadbe0b121 /smoketest/scripts
parent4b187186eecb9f0090a813d8389b7599b148ccaa (diff)
downloadvyos-1x-3f0f7f3c0998e677747a398527ab2f78ad45a604.tar.gz
vyos-1x-3f0f7f3c0998e677747a398527ab2f78ad45a604.zip
smoketest: T7293: mac80211_hwsim no longer supports VLAN interfaces
Upgrading to Linux 6.6.85 will make the WIFI interface tests fail because of: 8021q: VLANs not supported on wlan0 8021q: VLANs not supported on wlan1 This is most likely b/c of commit [1]. Running this on a platform with a real wifi card still works. 10: wlan0.10@wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN group default qlen 1000 link/ether 00:12:34:3c:d3:40 brd ff:ff:ff:ff:ff:ff inet 1.1.1.1/24 brd 1.1.1.255 scope global wlan0.10 valid_lft forever preferred_lft forever vyos@vyos# run show ver kernel 6.6.85-vyos Do not run VIF based smoketests if mac80211_hwsim driver is in use. 1: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3561442599804905c3defca241787cd4546e99a7
Diffstat (limited to 'smoketest/scripts')
-rwxr-xr-xsmoketest/scripts/cli/test_interfaces_wireless.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/smoketest/scripts/cli/test_interfaces_wireless.py b/smoketest/scripts/cli/test_interfaces_wireless.py
index b8b18f30f..1c69c1be5 100755
--- a/smoketest/scripts/cli/test_interfaces_wireless.py
+++ b/smoketest/scripts/cli/test_interfaces_wireless.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
-# Copyright (C) 2020-2024 VyOS maintainers and contributors
+# Copyright (C) 2020-2025 VyOS maintainers and contributors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 or later as
@@ -64,13 +64,23 @@ class WirelessInterfaceTest(BasicInterfaceTest.TestCase):
# call base-classes classmethod
super(WirelessInterfaceTest, cls).setUpClass()
- # T5245 - currently testcases are disabled
- cls._test_ipv6 = False
- cls._test_vlan = False
+ # If any wireless interface is based on mac80211_hwsim, disable all
+ # VLAN related testcases. See T5245, T7325
+ tmp = read_file('/proc/modules')
+ if 'mac80211_hwsim' in tmp:
+ cls._test_ipv6 = False
+ cls._test_vlan = False
+ cls._test_qinq = False
+
+ # Loading mac80211_hwsim module created two WIFI Interfaces in the
+ # background (wlan0 and wlan1), remove them to have a clean test start.
+ # This must happen AFTER the above check for unsupported drivers
+ for interface in cls._interfaces:
+ if interface_exists(interface):
+ call(f'sudo iw dev {interface} del')
cls.cli_set(cls, wifi_cc_path + [country])
-
def test_wireless_add_single_ip_address(self):
# derived method to check if member interfaces are enslaved properly
super().test_add_single_ip_address()
@@ -627,9 +637,4 @@ class WirelessInterfaceTest(BasicInterfaceTest.TestCase):
if __name__ == '__main__':
check_kmod('mac80211_hwsim')
- # loading the module created two WIFI Interfaces in the background (wlan0 and wlan1)
- # remove them to have a clean test start
- for interface in ['wlan0', 'wlan1']:
- if interface_exists(interface):
- call(f'sudo iw dev {interface} del')
unittest.main(verbosity=2)