On Mon, Dec 23, 2024 at 04:49:46PM -0800, Muna Sinada wrote: > Enable Dynamic VLAN for Multi-Link Operation (MLO) for APs in hostapd. > > When Dynamic VLAN is enabled for AP MLD (Multi-Link Device), VLAN > list will be maintained in the first BSS (Basic Service Set). > > For MLO, VLAN interfaces will generate a GTK for each link it has. > These VLAN GTKs will need to be exchanged in 3/4 message in EAPOL > handshake. > > Add test case to AP VLAN test cases that brings up an EHT MLD AP with > Dynamic VLAN configurations and successfully create VLANs for the > connected non-AP MLD and a non-ML STA. > > Muna Sinada (3): > Dynamic VLAN: Enable Dynamic VLAN for MLO > wpa_auth: Use VLAN group keys for EAPOL frames and FT reassoc > tests: Add MLO case for AP VLAN tests This does not work: WPA: group state machine entering state SETKEYSDONE (VLAN-ID 3) wpa_driver_nl80211_set_key: ifindex=14 (wlan7.3) alg=3 addr=0x55000022097a key_idx=1 set_tx=1 seq_len=0 key_len=16 key_flag=0x1a link_id=0 nl80211: NEW_KEY nl80211: KEY_DATA - hexdump(len=16): 59 0f d0 99 5f 40 cc 6e 85 55 9c 97 74 5c 9b d3 broadcast key nl80211: Link ID 0 nl80211: kernel reports: link ID not allowed for non-MLO group key nl80211: set_key failed; err=-22 Invalid argument Does this need a kernel change? If so, please clearly identify that in the cover letter. In addition, this introduces a memory leak: ./vm-run.sh mld_ap_vlan_acl_file Starting test run in a virtual machine ./run-all.sh: running inside a VM ./run-all.sh: passing the following args to run-tests.py: --long mld_ap_vlan_acl_file START mld_ap_vlan_acl_file 1/1 Traceback (most recent call last): File "/home/jm/Git/hostap/tests/hwsim/./run-tests.py", line 591, in main t(dev, apdev) File "/home/jm/Git/hostap/tests/hwsim/test_ap_vlan.py", line 912, in test_mld_ap_vlan_acl_file wpas.connect(ssid, sae_password=passphrase, scan_freq="2412 2437", File "/home/jm/Git/hostap/tests/hwsim/wpasupplicant.py", line 1181, in connect self.connect_network(id, timeout=timeout) File "/home/jm/Git/hostap/tests/hwsim/wpasupplicant.py", line 524, in connect_network self.wait_connected(timeout=timeout) File "/home/jm/Git/hostap/tests/hwsim/wpasupplicant.py", line 1465, in wait_connected raise Exception(error) Exception: Connection timed out Exception: Connection timed out FAIL mld_ap_vlan_acl_file 15.001252 2024-12-25 16:13:31.647664 failed tests: mld_ap_vlan_acl_file 1735143211.648007: MEMLEAK[0x55000029b280]: len 200 1735143211.648007: WPA_TRACE: memleak - START 1735143211.648007: [0]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(os_malloc+0x6f) [0x550000089e8f] 1735143211.648008: os_malloc() ../src/utils/os_unix.c:740 1735143211.648008: [1]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(os_zalloc+0xd) [0x55000008a12d] 1735143211.648008: os_zalloc() ../src/utils/os_unix.c:798 1735143211.648008: [2]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(vlan_init+0xea) [0x5500000a3dda] 1735143211.648009: vlan_init() ../src/ap/vlan_init.c:146 1735143211.648009: [3]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(+0x46790) [0x550000046790] 1735143211.648009: hostapd_setup_bss() ../src/ap/hostapd.c:1755 1735143211.648009: [4]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(+0x46c7e) [0x550000046c7e] 1735143211.648010: hostapd_setup_interface_complete_sync() ../src/ap/hostapd.c:2677 1735143211.648010: [5]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(hostapd_enable_iface+0xce) [0x55000004800e] 1735143211.648010: hostapd_setup_interface() ../src/ap/hostapd.c:2936 1735143211.648010: hostapd_enable_iface() ../src/ap/hostapd.c:3604 1735143211.648011: [6]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(+0xaf5f7) [0x5500000af5f7] 1735143211.648011: hostapd_ctrl_iface_enable() ctrl_iface.c:1382 1735143211.648011: hostapd_ctrl_iface_receive_process() ctrl_iface.c:4219 1735143211.648011: [7]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(+0xaf893) [0x5500000af893] 1735143211.648012: hostapd_ctrl_iface_receive() ctrl_iface.c:4728 1735143211.648012: [8]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(+0x83d8d) [0x550000083d8d] 1735143211.648012: eloop_sock_table_dispatch() ../src/utils/eloop.c:606 1735143211.648012: [9]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(eloop_run+0x22f) [0x550000084baf] 1735143211.648013: eloop_run() ../src/utils/eloop.c:1234 1735143211.648013: [10]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(main+0xe12) [0x550000032c92] 1735143211.648013: hostapd_global_run() main.c:593 1735143211.648013: main() main.c:1069 1735143211.648014: [11]: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x40a971ca] 1735143211.648014: [12]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x40a9728b] 1735143211.648014: [13]: /home/jm/Git/hostap/tests/hwsim/../../hostapd/hostapd(_start+0x25) [0x550000032e15] 1735143211.648014: _start() (null):0 1735143211.648015: WPA_TRACE: memleak - END 1735143211.648015: MEMLEAK: total 200 bytes -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap