tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

net80211 support for hw WPA offload



Hi folks --

I'm working on porting OpenBSD's bwfm(4) driver to NetBSD. The device firmware has a built-in supplicant, and to make wpa_supplicant play nice with it, I need some way of telling wpa_supplicant that the device is going to take care of the WPA 4-way handshake.

I'm not super familiar with net80211, but here's what I've come up with (comments / bricks welcome).

1. Add IEEE80211_C_WPA_4WAY capability flag. Drivers can set at attach
   time in ieee80211com::ic_caps:

https://github.com/jaredmcneill/src/commit/3ae80e3daff6ce2ac3c7d70ed8716eb2d542672e

2. Add SIOCG80211CAPS ioctl to expose ieee80211com::ic_caps to userland.
   Not sure if this is a good way to do this or not:

https://github.com/jaredmcneill/src/commit/eb38eaecdc68799818d32e3310f0d8af85388741

3. Finally, patch wpa_supplicant's driver_bsd.c to conditionally set the
   WPA_DRIVER_FLAGS_4WAY_HANDSHAKE capability flag and when set and a psk
   is present, use/abuse IEEE80211_IOC_WPAKEY to push the WPA PMK into the
   kernel for use by the device driver.


Thanks in advance!
Jared


Home | Main Index | Thread Index | Old Index