1. 21 3月, 2015 1 次提交
  2. 04 3月, 2015 1 次提交
  3. 03 3月, 2015 1 次提交
    • D
      cfg80211: add bss_type and privacy arguments in cfg80211_get_bss() · 6eb18137
      Dedy Lansky 提交于
      802.11ad adds new a network type (PBSS) and changes the capability
      field interpretation for the DMG (60G) band.
      The same 2 bits that were interpreted as "ESS" and "IBSS" before are
      re-used as a 2-bit field with 3 valid values (and 1 reserved). Valid
      values are: "IBSS", "PBSS" (new) and "AP".
      
      In order to get the BSS struct for the new PBSS networks, change the
      cfg80211_get_bss() function to take a new enum ieee80211_bss_type
      argument with the valid network types, as "capa_mask" and "capa_val"
      no longer work correctly (the search must be band-aware now.)
      
      The remaining bits in "capa_mask" and "capa_val" are used only for
      privacy matching so replace those two with a privacy enum as well.
      Signed-off-by: NDedy Lansky <dlansky@codeaurora.org>
      [rewrite commit log, tiny fixes]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6eb18137
  4. 08 1月, 2015 2 次提交
  5. 20 11月, 2014 1 次提交
  6. 10 11月, 2014 1 次提交
    • L
      cfg80211: add channel switch started notification · f8d7552e
      Luciano Coelho 提交于
      Add a new NL80211_CH_SWITCH_STARTED_NOTIFY message that can be sent to
      the userspace when a channel switch process has started.  This allows
      userspace to take action, for instance, by requesting other interfaces
      to switch channel as necessary.
      
      This patch introduces a function that allows the drivers to send this
      notification.  It should be used when the driver starts processing a
      channel switch initiated by a remote device (eg. when a STA receives a
      CSA from the AP) and when it successfully starts a userspace-triggered
      channel switch (eg. when hostapd triggers a channel swith in the AP).
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      f8d7552e
  7. 04 11月, 2014 1 次提交
    • R
      cfg80211: 802.11p OCB mode handling · 6e0bd6c3
      Rostislav Lisovy 提交于
      This patch adds new iface type (NL80211_IFTYPE_OCB) representing
      the OCB (Outside the Context of a BSS) mode.
      When establishing a connection to the network a cfg80211_join_ocb
      function is called (particular nl80211_command is added as well).
      A mandatory parameters during the ocb_join operation are 'center
      frequency' and 'channel width (5/10 MHz)'.
      
      Changes done in mac80211 are minimal possible required to avoid
      many warnings (warning: enumeration value 'NL80211_IFTYPE_OCB'
      not handled in switch) during compilation. Full functionality
      (where needed) is added in the following patch.
      Signed-off-by: NRostislav Lisovy <rostislav.lisovy@fel.cvut.cz>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6e0bd6c3
  8. 20 10月, 2014 2 次提交
  9. 09 10月, 2014 1 次提交
  10. 11 9月, 2014 1 次提交
    • J
      cfg80211: add WMM traffic stream API · 960d01ac
      Johannes Berg 提交于
      Add nl80211 and driver API to validate, add and delete traffic
      streams with appropriate settings.
      
      The API calls for userspace doing the action frame handshake
      with the peer, and then allows only to set up the parameters
      in the driver. To avoid setting up a session only to tear it
      down again, the validate API is provided, but the real usage
      later can still fail so userspace must be prepared for that.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      960d01ac
  11. 18 7月, 2014 1 次提交
  12. 23 6月, 2014 2 次提交
  13. 15 5月, 2014 1 次提交
  14. 06 5月, 2014 1 次提交
  15. 29 4月, 2014 1 次提交
  16. 09 4月, 2014 1 次提交
    • I
      cfg80211: Enable GO operation on additional channels · 174e0cd2
      Ilan Peer 提交于
      Allow GO operation on a channel marked with IEEE80211_CHAN_GO_CONCURRENT
      iff there is an active station interface that is associated to
      an AP operating on the same channel in the 2 GHz band or the same UNII band
      (in the 5 GHz band). This relaxation is not allowed if the channel is
      marked with IEEE80211_CHAN_RADAR.
      
      Note that this is a permissive approach to the FCC definitions,
      that require a clear assessment that the device operating the AP is
      an authorized master, i.e., with radar detection and DFS capabilities.
      
      It is assumed that such restrictions are enforced by user space.
      Furthermore, it is assumed, that if the conditions that allowed for
      the operation of the GO on such a channel change, i.e., the station
      interface disconnected from the AP, it is the responsibility of user
      space to evacuate the GO from the channel.
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      174e0cd2
  17. 20 2月, 2014 1 次提交
    • S
      cfg80211: Pass TDLS peer capability information in tdls_mgmt · df942e7b
      Sunil Dutt Undekari 提交于
      While framing the TDLS Setup Confirmation frame, the driver needs to
      know if the TDLS peer is VHT/HT/WMM capable and thus shall construct
      the VHT/HT operation / WMM parameter elements accordingly. Supplicant
      determines if the TDLS peer is VHT/HT/WMM capable based on the
      presence of the respective IEs in the received TDLS Setup Response frame.
      
      The host driver should not need to parse the received TDLS Response
      frame and thus, should be able to rely on the supplicant to indicate
      the capability of the peer through additional flags while transmitting
      the TDLS Setup Confirmation frame through tdls_mgmt operations.
      Signed-off-by: NSunil Dutt Undekari <usdutt@qti.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      df942e7b
  18. 05 2月, 2014 1 次提交
    • A
      cfg80211: fix channel configuration in IBSS join · fe94f3a4
      Antonio Quartulli 提交于
      When receiving an IBSS_JOINED event select the BSS object
      based on the {bssid, channel} couple rather than the bssid
      only.
      With the current approach if another cell having the same
      BSSID (but using a different channel) exists then cfg80211
      picks up the wrong BSS object.
      The result is a mismatching channel configuration between
      cfg80211 and the driver, that can lead to any sort of
      problem.
      
      The issue can be triggered by having an IBSS sitting on
      given channel and then asking the driver to create a new
      cell using the same BSSID but with a different frequency.
      By passing the channel to cfg80211_get_bss() we can solve
      this ambiguity and retrieve/create the correct BSS object.
      All the users of cfg80211_ibss_joined() have been changed
      accordingly.
      
      Moreover WARN when cfg80211_ibss_joined() gets a NULL
      channel as argument and remove a bogus call of the same
      function in ath6kl (it does not make sense to call
      cfg80211_ibss_joined() with a zero BSSID on ibss-leave).
      
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: Bing Zhao <bzhao@marvell.com>
      Cc: Jussi Kivilinna <jussi.kivilinna@iki.fi>
      Cc: libertas-dev@lists.infradead.org
      Acked-by: NKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: NAntonio Quartulli <antonio@open-mesh.com>
      [minor code cleanup in ath6kl]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      fe94f3a4
  19. 19 12月, 2013 1 次提交
  20. 02 12月, 2013 1 次提交
  21. 12 8月, 2013 1 次提交
  22. 02 8月, 2013 1 次提交
  23. 16 7月, 2013 1 次提交
  24. 04 6月, 2013 1 次提交
    • J
      cfg80211/mac80211: clean up cfg80211 SME APIs · 6ff57cf8
      Johannes Berg 提交于
      Do some cleanups in the cfg80211 SME APIs, which are
      only used by mac80211.
      
      Most of these functions get a frame passed, and there
      isn't really any reason to export multiple functions
      as cfg80211 can check the frame type instead, do that.
      
      Additionally, the API functions have confusing names
      like cfg80211_send_...() which was meant to indicate
      that it sends an event to userspace, but gets a bit
      confusing when there's both TX and RX and they're not
      all clearly labeled.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6ff57cf8
  25. 25 5月, 2013 1 次提交
    • J
      cfg80211/mac80211: use cfg80211 wdev mutex in mac80211 · 8d61ffa5
      Johannes Berg 提交于
      Using separate locks in cfg80211 and mac80211 has always
      caused issues, for example having to unlock in places in
      mac80211 to call cfg80211, which even needed a framework
      to make cfg80211 calls after some functions returned etc.
      
      Additionally, I suspect some issues people have reported
      with the cfg80211 state getting confused could be due to
      such issues, when cfg80211 is asking mac80211 to change
      state but mac80211 is in the process of telling cfg80211
      that the state changed (in another way.)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8d61ffa5
  26. 17 5月, 2013 1 次提交
  27. 22 4月, 2013 1 次提交
  28. 21 3月, 2013 1 次提交
  29. 07 3月, 2013 1 次提交
  30. 06 3月, 2013 1 次提交
  31. 15 2月, 2013 1 次提交
  32. 31 1月, 2013 1 次提交
  33. 26 1月, 2013 1 次提交
  34. 26 11月, 2012 4 次提交
    • J
      cfg80211: fix some tracing output issues · ec816087
      Johannes Berg 提交于
      In some cases, e.g. probe_status, there were spaces
      missing so the trace output was confusing. Also make
      it more like mac80211 when printing netdevs/wiphys
      to make reading a combined log easier.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ec816087
    • J
      nl80211/cfg80211: support VHT channel configuration · 3d9d1d66
      Johannes Berg 提交于
      Change nl80211 to support specifying a VHT (or HT)
      using the control channel frequency (as before) and
      new attributes for the channel width and first and
      second center frequency. The old channel type is of
      course still supported for HT.
      
      Also change the cfg80211 channel definition struct
      to support these by adding the relevant fields to
      it (and removing the _type field.)
      
      This also adds new helper functions:
       - cfg80211_chandef_create to create a channel def
         struct given the control channel and channel type,
       - cfg80211_chandef_identical to check if two channel
         definitions are identical
       - cfg80211_chandef_compatible to check if the given
         channel definitions are compatible, and return the
         wider of the two
      
      This isn't entirely complete, but that doesn't matter
      until we have a driver using it. In particular, it's
      missing
       - regulatory checks on the usable bandwidth (if that
         even makes sense)
       - regulatory TX power (database can't deal with it)
       - a proper channel compatibility calculation for the
         new channel types
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3d9d1d66
    • J
      cfg80211: pass a channel definition struct · 683b6d3b
      Johannes Berg 提交于
      Instead of passing a channel pointer and channel type
      to all functions and driver methods, pass a new channel
      definition struct. Right now, this struct contains just
      the control channel and channel type, but for VHT this
      will change.
      
      Also, add a small inline cfg80211_get_chandef_type() so
      that drivers don't need to use the _type field of the
      new structure all the time, which will change.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      683b6d3b
    • J
      cfg80211: remove remain-on-channel channel type · 42d97a59
      Johannes Berg 提交于
      As mwifiex (and mac80211 in the software case) are the
      only drivers actually implementing remain-on-channel
      with channel type, userspace can't be relying on it.
      This is the case, as it's used only for P2P operations
      right now.
      
      Rather than adding a flag to tell userspace whether or
      not it can actually rely on it, simplify all the code
      by removing the ability to use different channel types.
      Leave only the validation of the attribute, so that if
      we extend it again later (with the needed capability
      flag), it can't break userspace sending invalid data.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      42d97a59