[PATCH 00/97] NAN: Group keys support, schedule update and more
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Tue Apr 28 13:05:01 PDT 2026
This series adds various NAN improvements and bug fixes:
- GTK/IGTK/BIGTK support
- NDPE support
- NAN schedule update handling: deferred schedule updates, peer schedule
tracking and ULW support.
- Max idle period support for NDL
- NAN channel evacuation event handling
- Follow up status tracking
- Password hex support in NDP and pairing
- Various fixes and improvements
The test patches are marked as RFC since full testing requires kernel
NAN data path support which is not yet complete in wireless-next.
As in previous series, iwlwifi-next/mac80211_candidate kernel can be
used for testing.
Andrei Otcheretianski (28):
tests: Add get_iface_addr() to wpasupplicant.py
tests: Add NAN data path, bootstrapping and pairing tests
wpa_supplicant: Don't send empty NAN maps to the kernel
NAN: Fix A3 in multicast solicited replies
NAN: Don't skip zero preference potential entries
NAN: Add locally_generated parameter to ndp_disconnected callback
NAN: Send NAF with rejection on schedule validation error
NAN: Fix NDL attribute parsing
NAN: Skip duplicate NDI station add for second NDP with same peer
NAN: Only remove NDI station when no other NDP uses the same peer NDI
tests: NAN: Add tests for 2 NDPs with same peer
NAN: Wait longer timeout on counter response
NAN: Send NDP termination on timeout
NAN: Indicate if NDP disconnection is due to a failure
tests: Verify NAN-NDP-DISCONNECTED failure flag
NAN: Implement spec-compliant security strength comparison
NAN: Clear peer security info on flush
NAN: Remove stale sec entry on NDP termination
tests: Support setting TTL for NAN service discovery
tests: Add NDP reconnection after termination test
NAN: Terminate all NDPs with peer if security upgrade fails
NAN: Skip peer schedule update when local schedule update is pending
wpa_supplicant: Add NAN_STATUS command
wpa_supplicant: List NDPs in NAN_PEER_INFO command
wpa_supplicant: Support overriding NAN potential availability
tests: Add nan_override_potential_availability test
NAN: Add data_path parameter to NAN_PUBLISH command
tests: Add data_path flag verification to NDP tests
Avraham Stern (45):
NAN: Add security cabapilities to NAN module
NAN: Add and implement set_group_key() callback
NAN: Add and implement get_seqnum() callback
NAN: Add IGTK KDE to NDP setup messages
NAN: Add BIGTK KDE to NDP setup messages
NAN: Process IGTK KDE from NDP setup messages
NAN: Process BIGTK KDE from NDP setup messages
nl80211: Allow deleting group Rx key with specified address
nl80211: Modify sta_set_flags() to support non-netdev interfaces
NAN: Remove peer's IGTK/BIGTK when a peer is removed
NAN: Add an option to set GTK required for a service
NAN: Add GTK data to NDP security parameters
NAN: Add GTK cipher suite to NDP setup messages
wpa_supplicant: Add an option to set the GTK cipher suite for NDP
setup
NAN: Modify get_seqnum() to support NDI group keys
NAN: Add the GTK KDE to key data field when GTK is required
NAN: Parse the GTK KDE from key data
wpa_supplicant: Set the GTK for NDP response
NAN: Add group keys to NDP connected data
NAN: Pass struct as parameter to wpas_nan_add_ndi_sta()
NAN: Add peer's GTK ID to NDP disconnected callback
wpa_supplicant: Install/remove group keys on NDI interface
NAN: Add an API to set the cipher suite for group keys
wpa_supplicant: Add support for setting the NAN group keys cipher
suite
NAN: Set GTK/IGTK/BIGTK support from driver capabilities
NAN: Add a function to check if there are active NDPs
nl80211: Add an option for deferred NAN schedule update
NAN: Modify nan_peer_schedule_intersects() to return the common slots
NAN: Move local schedule from NDL data to global NAN data
NAN: Move NDL QoS checks into a function
NAN: Update peer schedule when the peer advertises new availability
map
wpa_supplicant: Implement NAN schedule changed callback
wpa_supplicant: Request a deferred NAN schedule if there are active
NDPs
NAN: Update peers schedule when local schedule changes
wpa_supplicant: Handle NAN schedule update notification
nl80211: Handle NL80211_CMD_NAN_SCHED_UPDATE_DONE event
wpa_supplicant: Handle NAN ULW notification
nl80211: Handle NAN ULW attribute notification
NAN: Add Unaligned Schedule attribute to the list of parsed attributes
NAN: Update peer schedule when ULW attributes change
PASN: Include extra IEs in reject frame
wpa_supplicant: Send response when pairing is aborted
wpa_supplicant: NAN: Support password hex in NDP request/response
wpa_supplicant: Add support for password hex in pairing request
tests: Add NAN NDP test with password as hex
Ilan Peer (24):
NAN: Add definitions and parsing for NDPE
NAN: Add support for NDPE
NAN: Add support for communicating the IPv6 local address
NAN: Support configuration and notification of IPv6 local identifier
tests: Add coverage for interface ID in NDP
driver: Extend the NAN capabilities to indicate beacon protection
NAN: Add a testing configuration for protected NAN multicast follow up
NAN: Control the support for beacon protection
wpa_supplicant: Support configuring MAC address on interface creation
tests: Test NAN management interface creation with an address
NAN: Add support for including max idle period in NDL
NAN: Support getting peer max idle period
NAN: Add handling of max idle period
wpa_supplicant: NAN: Add support for max NDL idle period
tests: Verify NAN max idle period
NAN: Extend Tx status reporting
NAN: Add support for tracking the status of transmit requests
wpa_supplicant: Support tracking NAN transmit requests
tests: Add NAN test to cover followup status tracking
tests: Test NAN broadcast traffic once NDP has been established
tests: Add NAN NDP establishment with GTK, IGTK and BIGTK
tests: Add testing coverage for protected multicast SDF
driver: Add support for NAN channel evacuation event
wpa_supplicant: Notify control interface about NAN channel evacuation
src/ap/nan_usd_ap.c | 2 +-
src/common/nan_de.c | 261 ++++-
src/common/nan_de.h | 25 +-
src/common/nan_defs.h | 56 +-
src/common/wpa_common.h | 7 +
src/common/wpa_ctrl.h | 8 +
src/drivers/driver.h | 60 +
src/drivers/driver_common.c | 3 +
src/drivers/driver_nl80211.c | 16 +-
src/drivers/driver_nl80211_capa.c | 16 +
src/drivers/driver_nl80211_event.c | 71 ++
src/nan/nan.c | 1004 ++++++++++++++++-
src/nan/nan.h | 133 ++-
src/nan/nan_i.h | 80 +-
src/nan/nan_module_tests.c | 10 +-
src/nan/nan_ndl.c | 184 ++--
src/nan/nan_ndp.c | 243 +++-
src/nan/nan_pairing.c | 130 ++-
src/nan/nan_sec.c | 506 ++++++++-
src/nan/nan_util.c | 106 +-
src/pasn/pasn_responder.c | 5 +-
tests/hwsim/test_nan.py | 1250 ++++++++++++++++++++-
tests/hwsim/wpasupplicant.py | 22 +-
wpa_supplicant/ctrl_iface.c | 73 +-
wpa_supplicant/dbus/dbus_new_handlers.c | 2 +-
wpa_supplicant/driver_i.h | 9 +
wpa_supplicant/events.c | 10 +
wpa_supplicant/nan_supplicant.c | 1341 +++++++++++++++++++----
wpa_supplicant/nan_supplicant.h | 25 +-
wpa_supplicant/notify.c | 74 +-
wpa_supplicant/notify.h | 15 +-
wpa_supplicant/wpa_cli.c | 17 +-
wpa_supplicant/wpa_supplicant_i.h | 8 +
33 files changed, 5254 insertions(+), 518 deletions(-)
--
2.53.0
More information about the Hostap
mailing list