[RFC 00/34] Add initial support for NAN synchronized discovery

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

 



This patch series adds initial support for NAN synchronized discovery
by reusing the existing USD implemetation in wpa_supplicant.
This is based on the nl80211 kernel APIs proposed in RFC patch series
"[RFC v3 0/4] wifi: nl80211: Extend NAN APIs to allow more flexible
implementations", which introduces DW notification concept and allows
SDF transmissions over NAN device interface with proper timing.
This RFC patch series implements the following:
  - Add support for NAN device interface
  - Introduce NAN module, and refactor USD so it will be possible to
    reuse the existing implementation.
  - Handle DW notifications and support synchronized discovery
  - Extend NAN DE to support match, SRF and RSSI filtering.

In this implementation, NAN device interface can be used both for
synchronized and unsynchronized discovery (USD). For sync discovery, NAN
services (publish/subscribe) should be added with sync=1 parameter,
otherwise USD will be used. Sync discovery is only allowed after NAN
operation has been started.

Andrei Otcheretianski (20):
  Add support for NAN start/stop callbacks.
  NAN: Fix SDA parsing
  wpa_supplicant: Handle NAN cluster join and next DW events
  wpa_supplicant: Add more NAN driver flags
  nl80211: Parse NAN capabilities
  wpa_supplicant: Check SYNC_CONFIG support
  nl80211: Handle NAN cluster join and DW notifications
  nl80211: Configure 'enable dw notification' NAN flag
  NAN: Handle cluster join notification
  nl80211: Config address and register mgmt frames on NAN iface
  NAN: Support synchronized SDF transmissions
  wpa_supplicant: Refactor NAN USD
  wpa_supplicant: Make sure NAN DE is initialized in wpas_nan_ready()
  NAN: Enable DW notification
  wpa_supplicant: Support synchronized NAN publish/subscribe
  NAN: Support matching filters
  ctrl_iface: Support configuration of publish/subscribe match filters
  NAN: Support Service Response Filters (SRF)
  NAN: Support RSSI range limited services
  NAN: Don't send sync SDFs with offchannel tx

Ilan Peer (14):
  USD: Rename WPA_DRIVER_FLAGS2_NAN_OFFLOAD
  NAN: Rename common/nan.h to common/nan_defs.h
  driver: Add support for NAN device operations
  tests: Enable building NAN for hwsim testing
  NAN: Add a basic NAN module
  NAN: Integrate the NAN module with the wpa_supplicant
  wpa_supplicant: Add control interface commands for NAN
  nl80211: Support NAN Device interface
  nl80211: Do not allow off channel for NAN Device action frames
  driver: Extend NAN cluster configuration
  NAN: Support configuring NAN operation
  nl80211: Support updating NAN configuration
  nl80211: Extend NAN configuration
  tests: Add testing coverage for NAN configuration

 src/ap/nan_usd_ap.c                       |   2 +-
 src/common/nan_de.c                       | 541 +++++++++++--
 src/common/nan_de.h                       |  44 +-
 src/common/{nan.h => nan_defs.h}          |  13 +-
 src/common/wpa_ctrl.h                     |   3 +-
 src/drivers/driver.h                      | 132 +++-
 src/drivers/driver_common.c               |   2 +
 src/drivers/driver_nl80211.c              | 423 +++++++++--
 src/drivers/driver_nl80211.h              |   9 +
 src/drivers/driver_nl80211_capa.c         |  47 +-
 src/drivers/driver_nl80211_event.c        |  50 ++
 src/nan/Makefile                          |   3 +
 src/nan/nan.c                             | 112 +++
 src/nan/nan.h                             |  46 ++
 src/nan/nan_i.h                           |  19 +
 tests/hwsim/example-wpa_supplicant.config |   2 +
 tests/hwsim/test_nan.py                   | 784 +++++++++++++++++++
 wpa_supplicant/Android.mk                 |  14 +-
 wpa_supplicant/Makefile                   |  14 +-
 wpa_supplicant/ctrl_iface.c               | 136 +++-
 wpa_supplicant/dbus/dbus_new_handlers.c   |  14 +-
 wpa_supplicant/defconfig                  |   3 +
 wpa_supplicant/driver_i.h                 |  27 +
 wpa_supplicant/events.c                   |  33 +-
 wpa_supplicant/nan_supplicant.c           | 886 ++++++++++++++++++++++
 wpa_supplicant/nan_supplicant.h           | 166 ++++
 wpa_supplicant/nan_usd.c                  | 566 --------------
 wpa_supplicant/nan_usd.h                  |  49 --
 wpa_supplicant/p2p_supplicant.c           |   1 +
 wpa_supplicant/wpa_cli.c                  |  24 +
 wpa_supplicant/wpa_supplicant.c           |  32 +-
 wpa_supplicant/wpa_supplicant_i.h         |  15 +-
 32 files changed, 3423 insertions(+), 789 deletions(-)
 rename src/common/{nan.h => nan_defs.h} (92%)
 create mode 100644 src/nan/Makefile
 create mode 100644 src/nan/nan.c
 create mode 100644 src/nan/nan.h
 create mode 100644 src/nan/nan_i.h
 create mode 100644 tests/hwsim/test_nan.py
 create mode 100644 wpa_supplicant/nan_supplicant.c
 create mode 100644 wpa_supplicant/nan_supplicant.h
 delete mode 100644 wpa_supplicant/nan_usd.c
 delete mode 100644 wpa_supplicant/nan_usd.h

-- 
2.49.0


_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux