Page MenuHomeFreeBSD

net80211: add initial support for extending the global key array to include IGTK keys
Needs ReviewPublic

Authored by adrian on Sep 13 2024, 8:21 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 12, 6:44 PM
Unknown Object (File)
Tue, Nov 12, 5:13 AM
Unknown Object (File)
Tue, Nov 12, 5:03 AM
Unknown Object (File)
Wed, Nov 6, 11:35 AM
Unknown Object (File)
Tue, Nov 5, 12:05 AM
Unknown Object (File)
Sat, Nov 2, 1:53 AM
Unknown Object (File)
Tue, Oct 22, 2:26 PM
Unknown Object (File)
Wed, Oct 16, 4:38 PM
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

This is a placeholder / WIP for extending the global key array
for the two IGTK keys.

802.11-2016 defines global key index 4 and 5 for IGTK keys for
management frame protection.

  • add IEEE80211_MAX_NKID which defines how many keys are in iv_nw_keys
  • Leave IEEE80211_WEP_NKID alone
  • Extend and add the functions that return what kind of key the given ieee80211_key pointer is.

For the two drivers I'm testing w/ hardware encryption (ath, rtwn)
(but don't offload the IGTK / BIP broadcast management frame
stuff)

  • Double check whether the key is a group or unicast key; skip IGTK keys.
  • Don't check the key index as soley whether it IS a group or non-group key; instead use the new / updated check methods.

Ideally all the places in all the drivers that compare the key
indexes here for checking group / non-group / etc key stuff
would be updated to use the new functions; this will need to be
done as part of this diff.

Note: 802.11-2020 defines indexes 6 and 7 for beacon frame protection,
but that's not currently included here. Most of the mechanics
should be covered by this diff though, so it would just include
extending the array by two spots and adding a new key flag.

This is definitely a WIP; please don't review it with an eye
for it landing until I've changed this commit message!

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 59480
Build 56367: arc lint + arc unit