diff options
author | Christian Breunig <christian@breunig.cc> | 2025-04-06 21:17:18 +0200 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2025-04-06 21:19:51 +0200 |
commit | 3f0f7f3c0998e677747a398527ab2f78ad45a604 (patch) | |
tree | 7d44216912fa4b6262dc7d73c36108aadbe0b121 /smoketest/scripts | |
parent | 4b187186eecb9f0090a813d8389b7599b148ccaa (diff) | |
download | vyos-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-x | smoketest/scripts/cli/test_interfaces_wireless.py | 25 |
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) |