1. 01 2月, 2019 1 次提交
  2. 26 1月, 2019 1 次提交
    • S
      cfg80211: Authentication offload to user space in AP mode · fe494370
      Srinivas Dasari 提交于
      commit 40cbfa90 ("cfg80211/nl80211: Optional authentication
      offload to userspace")' introduced authentication offload to user
      space by the host drivers in station mode. This commit extends
      the same for the AP mode too.
      
      Extend NL80211_ATTR_EXTERNAL_AUTH_SUPPORT to also claim the
      support of external authentication from the user space in AP mode.
      A new flag parameter is introduced in cfg80211_ap_settings to
      intend the same while "start ap".
      
      Host driver to use NL80211_CMD_FRAME interface to transmit and
      receive the authentication frames to / from the user space.
      
      Host driver to indicate the flag NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
      while sending the authentication frame to the user space. This
      intends to the user space that the driver wishes it to process
      the authentication frame for certain protocols, though it had
      initially advertised the support for SME functionality.
      
      User space shall accordingly do the authentication and indicate
      its final status through the command NL80211_CMD_EXTERNAL_AUTH.
      Allow the command even if userspace doesn't include the attribute
      NL80211_ATTR_SSID for AP interface.
      
      Host driver shall continue with the association sequence and
      indicate the STA connection status through cfg80211_new_sta.
      
      To facilitate the host drivers in AP mode for matching the pmkid
      by the stations during the association, NL80211_CMD_EXTERNAL_AUTH
      is also enhanced to include the pmkid to drivers after
      the authentication.
      This pmkid can also be used in the STA mode to include in the
      association request.
      
      Also modify nl80211_external_auth to not mandate SSID in AP mode.
      Signed-off-by: NSrinivas Dasari <dasaris@codeaurora.org>
      [remove useless nla_get_flag() usage]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      fe494370
  3. 25 1月, 2019 1 次提交
    • V
      cfg80211: Allow drivers to advertise supported AKM suites · ab4dfa20
      Veerendranath Jakkam 提交于
      There was no such capability advertisement from the driver and thus the
      current user space has to assume the driver to support all the AKMs. While
      that may be the case with some drivers (e.g., mac80211-based ones), there
      are cfg80211-based drivers that implement SME and have constraints on
      which AKMs can be supported (e.g., such drivers may need an update to
      support SAE AKM using NL80211_CMD_EXTERNAL_AUTH). Allow such drivers to
      advertise the exact set of supported AKMs so that user space tools can
      determine what network profile options should be allowed to be configured.
      Signed-off-by: NVeerendranath Jakkam <vjakkam@codeaurora.org>
      [pmsr data might be big, start a new netlink message section]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ab4dfa20
  4. 19 1月, 2019 3 次提交
  5. 18 12月, 2018 2 次提交
  6. 09 11月, 2018 4 次提交
    • B
      {nl,mac}80211: add rssi to mesh candidates · ecbc12ad
      Bob Copeland 提交于
      When peering is in userspace, some implementations may want to control
      which peers are accepted based on RSSI in addition to the information
      elements being sent today.  Add signal level so that info is available
      to clients.
      Signed-off-by: NBob Copeland <bobcopeland@fb.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ecbc12ad
    • B
      {nl,mac}80211: add dot11MeshConnectedToMeshGate to meshconf · 01d66fbd
      Bob Copeland 提交于
      When userspace is controlling mesh routing, it may have better
      knowledge about whether a mesh STA is connected to a mesh
      gate than the kernel mpath table.  Add dot11MeshConnectedToMeshGate
      to the mesh config so that such applications can explicitly
      signal that a mesh STA is connected to a gate, which will then
      be advertised in the beacon.
      Signed-off-by: NBob Copeland <bobcopeland@fb.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      01d66fbd
    • B
      {nl,mac}80211: report gate connectivity in station info · dbdaee7a
      Bob Copeland 提交于
      Capture the current state of gate connectivity from the mesh
      formation field in mesh config whenever we receive a beacon,
      and report that via GET_STATION.  This allows applications
      doing mesh peering in userspace to make peering decisions
      based on peers' current upstream connectivity.
      Signed-off-by: NBob Copeland <bobcopeland@fb.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      dbdaee7a
    • J
      cfg80211: add peer measurement with FTM initiator API · 9bb7e0f2
      Johannes Berg 提交于
      Add a new "peer measurement" API, that can be used to measure
      certain things related to a peer. Right now, only implement
      FTM (flight time measurement) over it, but the idea is that
      it'll be extensible to also support measuring the necessary
      things to calculate e.g. angle-of-arrival for WiGig.
      
      The API is structured to have a generic list of peers and
      channels to measure with/on, and then for each of those a
      set of measurements (again, only FTM right now) to perform.
      
      Results are sent to the requesting socket, including a final
      complete message.
      
      Closing the controlling netlink socket will abort a running
      measurement.
      
      v3:
       - add a bit to report "final" for partial results
       - remove list keeping etc. and just unicast out the results
         to the requester (big code reduction ...)
       - also send complete message unicast, and as a result
         remove the multicast group
       - separate out struct cfg80211_pmsr_ftm_request_peer
         from struct cfg80211_pmsr_request_peer
       - document timeout == 0 if no timeout
       - disallow setting timeout nl80211 attribute to 0,
         must not include attribute for no timeout
       - make MAC address randomization optional
       - change num bursts exponent default to 0 (1 burst, rather
         rather than the old default of 15==don't care)
      
      v4:
       - clarify NL80211_ATTR_TIMEOUT documentation
      
      v5:
       - remove unnecessary nl80211 multicast/family changes
       - remove partial results bit/flag, final is sufficient
       - add max_bursts_exponent, max_ftms_per_burst to capability
       - rename "frames per burst" -> "FTMs per burst"
      
      v6:
       - rename cfg80211_pmsr_free_wdev() to cfg80211_pmsr_wdev_down()
         and call it in leave, so the device can't go down with any
         pending measurements
      
      v7:
       - wording fixes (Lior)
       - fix ftm.max_bursts_exponent to allow having the limit of 0 (Lior)
      
      v8:
       - copyright statements
       - minor coding style fixes
       - fix error path leak
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      9bb7e0f2
  7. 12 10月, 2018 1 次提交
    • A
      nl80211: Add per peer statistics to compute FCS error rate · 0d4e14a3
      Ankita Bajaj 提交于
      Add support for drivers to report the total number of MPDUs received
      and the number of MPDUs received with an FCS error from a specific
      peer. These counters will be incremented only when the TA of the
      frame matches the MAC address of the peer irrespective of FCS
      error.
      
      It should be noted that the TA field in the frame might be corrupted
      when there is an FCS error and TA matching logic would fail in such
      cases. Hence, FCS error counter might not be fully accurate, but it can
      provide help in detecting bad RX links in significant number of cases.
      This FCS error counter without full accuracy can be used, e.g., to
      trigger a kick-out of a connected client with a bad link in AP mode to
      force such a client to roam to another AP.
      Signed-off-by: NAnkita Bajaj <bankita@codeaurora.org>
      Signed-off-by: NJouni Malinen <jouni@codeaurora.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      0d4e14a3
  8. 02 10月, 2018 2 次提交
  9. 26 9月, 2018 1 次提交
    • R
      cfg80211: fix reg_query_regdb_wmm kernel-doc · 0bcbf651
      Randy Dunlap 提交于
      Drop @ptr from kernel-doc for function reg_query_regdb_wmm().
      This function parameter was recently removed so update the
      kernel-doc to match that and remove the kernel-doc warnings.
      
      Removes 109 occurrences of this warning message:
      ../include/net/cfg80211.h:4869: warning: Excess function parameter 'ptr' description in 'reg_query_regdb_wmm'
      
      Fixes: 38cb87ee ("cfg80211: make wmm_rule part of the reg_rule structure")
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Cc: Stanislaw Gruszka <sgruszka@redhat.com>
      Cc: Johannes Berg <johannes.berg@intel.com>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Cc: linux-wireless@vger.kernel.org
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      0bcbf651
  10. 05 9月, 2018 1 次提交
  11. 28 8月, 2018 3 次提交
  12. 06 7月, 2018 1 次提交
    • D
      nl80211/mac80211: allow non-linear skb in rx_control_port · a948f713
      Denis Kenzior 提交于
      The current implementation of cfg80211_rx_control_port assumed that the
      caller could provide a contiguous region of memory for the control port
      frame to be sent up to userspace.  Unfortunately, many drivers produce
      non-linear skbs, especially for data frames.  This resulted in userspace
      getting notified of control port frames with correct metadata (from
      address, port, etc) yet garbage / nonsense contents, resulting in bad
      handshakes, disconnections, etc.
      
      mac80211 linearizes skbs containing management frames.  But it didn't
      seem worthwhile to do this for control port frames.  Thus the signature
      of cfg80211_rx_control_port was changed to take the skb directly.
      nl80211 then takes care of obtaining control port frame data directly
      from the (linear | non-linear) skb.
      
      The caller is still responsible for freeing the skb,
      cfg80211_rx_control_port does not take ownership of it.
      
      Fixes: 6a671a50 ("nl80211: Add CMD_CONTROL_PORT_FRAME API")
      Signed-off-by: NDenis Kenzior <denkenz@gmail.com>
      [fix some kernel-doc formatting, add fixes tag]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a948f713
  13. 15 6月, 2018 1 次提交
  14. 23 5月, 2018 3 次提交
  15. 22 5月, 2018 1 次提交
  16. 18 5月, 2018 2 次提交
  17. 08 5月, 2018 2 次提交
    • T
      cfg80211: Expose TXQ stats and parameters to userspace · 52539ca8
      Toke Høiland-Jørgensen 提交于
      This adds support for exporting the mac80211 TXQ stats via nl80211 by
      way of a nested TXQ stats attribute, as well as for configuring the
      quantum and limits that were previously only changeable through debugfs.
      
      This commit adds just the nl80211 API, a subsequent commit adds support to
      mac80211 itself.
      Signed-off-by: NToke Høiland-Jørgensen <toke@toke.dk>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      52539ca8
    • B
      cfg80211: average ack rssi support for data frames · 81d5439d
      Balaji Pothunoori 提交于
      Average ack rssi will be given to userspace via NL80211 interface
      if firmware is capable. Userspace tool ‘iw’ can process this
      information and give the output as one of the fields in
      ‘iw dev wlanX station dump’.
      
      Example output :
      
      localhost ~ #iw dev wlan-5000mhz station dump Station
      34:f3:9a:aa:3b:29 (on wlan-5000mhz)
              inactive time:  5370 ms
              rx bytes:       85321
              rx packets:     576
              tx bytes:       14225
              tx packets:     71
              tx retries:     0
              tx failed:      2
              beacon loss:    0
              rx drop misc:   0
              signal:         -54 dBm
              signal avg:     -53 dBm
              tx bitrate:     866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
              rx bitrate:     866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
              avg ack signal: -56 dBm
              authorized:     yes
              authenticated:  yes
              associated:     yes
              preamble:       short
              WMM/WME:        yes
              MFP:            no
              TDLS peer:      no
              DTIM period:    2
              beacon interval:100
             short preamble: yes
             short slot time:yes
             connected time: 203 seconds
      
      Main use case is to measure the signal strength of a connected station
      to AP. Data packet transmit rates and bandwidth used by station can vary
      a lot even if the station is at fixed location, especially if the rates
      used are multi stream(2stream, 3stream) rates with different bandwidth(20/40/80 Mhz).
      These multi stream rates are sensitive and station can use different transmit power
      for each of the rate and bandwidth combinations. RSSI measured from these RX packets
      on AP will be not stable and can vary a lot with in a short time.
      Whereas 802.11 ack frames from station are sent relatively at a constant
      rate (6/12/24 Mbps) with constant bandwidth(20 Mhz).
      So average rssi of the ack packets is good and more accurate.
      Signed-off-by: NBalaji Pothunoori <bpothuno@codeaurora.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      81d5439d
  18. 29 3月, 2018 7 次提交
  19. 27 2月, 2018 1 次提交
  20. 19 2月, 2018 1 次提交
  21. 31 1月, 2018 1 次提交
    • T
      cfg80211: Add support to notify station's opmode change to userspace · 466b9936
      tamizhr@codeaurora.org 提交于
      ht/vht action frames will be sent to AP from station to notify
      change of its ht/vht opmode(max bandwidth, smps mode or nss) modified
      values. Currently these valuse used by driver/firmware for rate control
      algorithm. This patch introduces NL80211_CMD_STA_OPMODE_CHANGED
      command to notify those modified/current supported values(max bandwidth,
      smps mode, max nss) to userspace application. This will be useful for the
      application like steering, which closely monitoring station's capability
      changes. Since the application has taken these values during station
      association.
      Signed-off-by: NTamizh chelvam <tamizhr@codeaurora.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      466b9936