Re: [PATCH 0/7] nl80211: rx path for control port frames (enabled only for wpa_supplicant)
Markus Theil <[email protected]>
| Newsgroups | gmane.linux.drivers.hostap |
|---|---|
| Message-ID | <[email protected]> |
On 1/13/20 3:58 PM, Markus Theil wrote: > This patch series adds rx control port support over nl80211. Control port > over nl80211 delivers all EAPOL and PREAUTH frames to userspace. This conflicts > with the current hostapd handling of pre-auth frames. Therefore, this feature > gets disabled for hostapd. Furthermore a pending kernel patch is necessary to > forward pre-auth frames from userspace (otherwise handled by Linux bridge code). > > The corresponding Linux patches for pre-auth support for hostapd are: > - nl80211: add src and dst mac attributes > - nl80211: use src and dst addr attribute for control port tx/rx These patches are now squashed into one patch and are still pending, but they are not needed for the current patch series to work, as hostapd support for rx over control port is still disabled in this patch series. > Furthermore another kernel patch is needed, in order to avoid a deadlock: > - cfg80211: fix deadlocks in autodisconnect work Please note, that the patch above is now included in the relevant stable and lts kernels 4.9.98 and 5.4.14 as well as 5.5-rc7. Therefore, no deadlock should happen when running a recent kernel and the hwsim tests. The deadlock happened in the ap_bss_add_reuse_existing test. > This patch enables wpa_supplicant to use control port rx over nl80211 for both > EAPOL and PREAUTH frames. wpa_supplicant connects noticeably faster in my tests > with this patch series applied. > > Markus Theil (7): > nl80211: rename nl_connect to nl_connect_and_ctrl > nl80211: tie connect_or_ctrl handle to bss init/destroy > nl80211: add method for sending messages with connection owner > attributes set > nl80211: add helper method for control port usage > nl80211: use and/or set socker owner where necessary > nl80211: disable control port for AP mode > nl80211: correctly handle deauth from scan with ctrl port rx > > src/drivers/driver_nl80211.c | 177 ++++++++++++++++++++---------- > src/drivers/driver_nl80211.h | 3 +- > src/drivers/driver_nl80211_scan.c | 2 +- > 3 files changed, 123 insertions(+), 59 deletions(-) >