[PATCH RFC 0/3] Dynamic VLAN: Enable Dynamic VLAN for MLO
Jouni Malinen
j at w1.fi
Wed Dec 25 08:18:35 PST 2024
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
More information about the Hostap
mailing list