Download raw body.
qwx(4) crypto offloading
On Thu, May 23, 2024 at 04:27:53PM +0200, Stefan Sperling wrote:
>
> With the patch below, qwx(4) offloads CCMP and TKIP to hardware.
> The performance benefit is small with 11a/b/g modes but becomes
> significant once 11n/11ac speeds will be enabled eventually.
>
> Also, there is a firmware bug which prevents reception of broadcast
> and multicast frames when crypto is done in software. This is why
> ARP and IPv6 are kind of broken on qwx right now, and this diff should
> fix these issues on WPA networks at least.
>
> So far I have only tested CCMP-only (WPA2/AES). In ifconfig such
> networks show up as: wpaciphers cmmp wpagroupcipher ccmp
>
> There are several other cases which still need to be tested:
> 1) wpaciphers cmmp wpagroupcipher tkip
> 2) wpaprotos wpa1 wpaciphers tkip wpagroupcipher tkip
> 3) WEP (not sure if anyone ever tested qwx with WEP before?)
>
> Due to time constraints I would appreciate help with testing the above.
> If you have an OpenBSD hostap then setting up all of these combinations
> can be done with ifconfig. For APs from other vendors the non-CCMP modes
> will usually be called something like "WPA1" or something that is not "AES".
> In any case, ifconfig qwx0 will display the config provided by the AP.
Thanks for the work! Both cases "wpaciphers ccmp wpagroupcipher ccmp" and
"wpaciphers ccmp wpagroupcipher tkip" work well for me.
I confirm that ARP issue is resolved.
Cases 2 and 3 doesn't work.
qwx0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
lladdr 00:0e:8e:xx:xx:xx
index 2 priority 4 llprio 3
groups: wlan
media: IEEE802.11 autoselect (OFDM6 mode 11a)
status: no network
ieee80211: join puffy chan 36 bssid 00:0a:52:xx:xx:xx -52dBm wpakey wpaprotos wpa1 wpaakms psk wpaciphers tkip wpagroupcipher tkip
qwx0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
lladdr 00:0e:8e:xx:xx:xx
index 2 priority 4 llprio 3
groups: wlan
media: IEEE802.11 autoselect (OFDM6 mode 11a)
status: active
ieee80211: nwid puffy chan 36 bssid 00:0a:52:xx:xx:xx -58dBm nwkey
Since kettenis@ mentioned iwx(4), my iwx(4) could connect to WiFi with WEP
and WPA1:
iwx0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
lladdr ac:82:47:xx:xx:xx
index 1 priority 4 llprio 3
groups: wlan egress
media: IEEE802.11 autoselect (OFDM54 mode 11a)
status: active
ieee80211: join puffy chan 36 bssid 00:0a:52:xx:xx:xx 100% nwkey
inet 10.0.0.234 netmask 0xff000000 broadcast 10.255.255.255
iwx0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
lladdr ac:82:47:xx:xx:xx
index 1 priority 4 llprio 3
groups: wlan egress
media: IEEE802.11 autoselect (OFDM54 mode 11a)
status: active
ieee80211: join puffy chan 36 bssid 00:0a:52:xx:xx:xx 100% wpakey wpaprotos wpa1 wpaakms psk wpaciphers tkip wpagroupcipher tkip
inet 10.0.0.234 netmask 0xff000000 broadcast 10.255.255.255
Tested:
qwx0 at pci3 dev 0 function 0 "Qualcomm QCNFA765" rev 0x01: msi
qwx0: wcn6855 hw2.0 fw 0x1106196e address 00:0e:8e:xx:xx:xx
iwx0 at pci1 dev 0 function 0 "Intel Wi-Fi 6 AX210" rev 0x1a, msix
iwx0: hw rev 0x420, fw 77.f92b5fed.0, pnvm ce1a5094, address ac:82:47:xx:xx:xx
qwx(4) crypto offloading