Page MenuHomeFreeBSD

LinuxKPI: LKPI_80211_HW_CRYPTO: add basic multi-keys support
Needs ReviewPublic

Authored by cc on Mar 21 2024, 10:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, May 17, 10:30 AM
Unknown Object (File)
Thu, May 9, 10:37 AM
Unknown Object (File)
Tue, May 7, 6:37 PM
Unknown Object (File)
Sat, May 4, 1:23 PM
Unknown Object (File)
Thu, May 2, 10:01 AM
Unknown Object (File)
Tue, Apr 30, 8:22 PM
Unknown Object (File)
Fri, Apr 26, 12:52 PM
Unknown Object (File)
Fri, Apr 26, 4:25 AM

Details

Reviewers
adrian
bz
Summary

This patch is based on D43648 and D44260.

PR: 277554,277416,277095
MFC after: 3 days
Sponsored by: The FreeBSD Foundation

Test Plan

My current AP only gives two keys: unicast and broadcast. Need discussion with
reviewers about why the hw key based on unicast key index does not work for
dhclient.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 57606
Build 54494: arc lint + arc unit

Event Timeline

cc requested review of this revision.Mar 21 2024, 10:11 PM

you negotiate it as an extension, and then it's used to switch STA keys without dropping frames.

Otherwise there's a window when you change STA keys where you'd have to stop traffic, flip the keys over, and then start traffic again, and that causes hiccups in traffic flows. Super annoying for low latency operations like VoIP.

you negotiate it as an extension, and then it's used to switch STA keys without dropping frames.

During association with the AP, sw/hw keys (indexes) are set. And before tx, the hw key is selected by sw key's index returned from ieee80211_crypto_get_txkey(), same way as without LKPI_80211_HW_CRYPTO.

Would you please elaborate "you negotiate it as an extension"? I am not fully following up with your comment. I thought a frame only needs one key, as a key is selected every time the lkpi_80211_txq_tx_one() is called. Why would a frame need to switch STA keys?

sys/compat/linuxkpi/common/src/linux_80211.c
857

Should this be asserted/logged after the key alloc/set call? Since if the driver hasn't set this to anything you're gonna have big problems?

rebase before scrutiny check

sys/compat/linuxkpi/common/src/linux_80211.c
750

This should be no longer needed as of 0936c648ad0ee.

809

Similarly here.

update based on bz@ comments

cc marked 2 inline comments as done.Tue, May 7, 3:05 PM