1. 05 12月, 2013 1 次提交
  2. 03 12月, 2013 2 次提交
    • J
      nl80211: vendor command support · ad7e718c
      Johannes Berg 提交于
      Add support for vendor-specific commands to nl80211. This is
      intended to be used for really vendor-specific functionality
      that can't be implemented in a generic fashion for any reason.
      It's *NOT* intended to be used for any normal/generic feature
      or any optimisations that could be implemented across drivers.
      
      Currently, only vendor commands (with replies) are supported,
      no dump operations or vendor-specific notifications.
      
      Also add a function wdev_to_ieee80211_vif() to mac80211 which
      is needed for mac80211-based drivers wanting to implement any
      vendor commands.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ad7e718c
    • M
      nl80211/cfg80211: Set Operating Mode Notification · 60f4a7b1
      Marek Kwaczynski 提交于
      This attribute is needed for setting Operating Mode Notification
      in AP mode from User Space. This functionality is required when
      User Space received Assoc Request contains Operation Mode
      Notification element.
      Signed-off-by: NMarek Kwaczynski <marek.kwaczynski@tieto.com>
      [fix typos, nl80211 documentation]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      60f4a7b1
  3. 02 12月, 2013 1 次提交
  4. 26 11月, 2013 2 次提交
    • L
      cfg80211: consolidate passive-scan and no-ibss flags · 8fe02e16
      Luis R. Rodriguez 提交于
      These two flags are used for the same purpose, just
      combine them into a no-ir flag to annotate no initiating
      radiation is allowed.
      
      Old userspace sending either flag will have it treated as
      the no-ir flag. To be considerate to older userspace we
      also send both the no-ir flag and the old no-ibss flags.
      Newer userspace will have to be aware of older kernels.
      
      Update all places in the tree using these flags with the
      following semantic patch:
      
      @@
      @@
      -NL80211_RRF_PASSIVE_SCAN
      +NL80211_RRF_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IBSS
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_PASSIVE_SCAN
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IBSS
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IR | NL80211_RRF_NO_IR
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IR | IEEE80211_CHAN_NO_IR
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -(NL80211_RRF_NO_IR)
      +NL80211_RRF_NO_IR
      @@
      @@
      -(IEEE80211_CHAN_NO_IR)
      +IEEE80211_CHAN_NO_IR
      
      Along with some hand-optimisations in documentation, to
      remove duplicates and to fix some indentation.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      [do all the driver updates in one go]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8fe02e16
    • A
      nl80211: better document NL80211_CMD_TDLS_MGMT · c17bff87
      Arik Nemtsov 提交于
      This command has different semantics depending on the action code sent.
      Document this fact and detail the supported action codes.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c17bff87
  5. 28 10月, 2013 1 次提交
  6. 11 10月, 2013 1 次提交
  7. 09 10月, 2013 1 次提交
  8. 08 10月, 2013 1 次提交
  9. 23 8月, 2013 1 次提交
  10. 02 8月, 2013 1 次提交
  11. 16 7月, 2013 3 次提交
  12. 18 6月, 2013 1 次提交
  13. 11 6月, 2013 2 次提交
  14. 29 5月, 2013 1 次提交
  15. 25 5月, 2013 1 次提交
    • J
      cfg80211: Allow TDLS peer AID to be configured for VHT · 5e4b6f56
      Jouni Malinen 提交于
      VHT uses peer AID in the PARTIAL_AID field in TDLS frames. The current
      design for TDLS is to first add a dummy STA entry before completing TDLS
      Setup and then update information on this STA entry based on what was
      received from the peer during the setup exchange.
      
      In theory, this could use NL80211_ATTR_STA_AID to set the peer AID just
      like this is used in AP mode to set the AID of an association station.
      However, existing cfg80211 validation rules prevent this attribute from
      being used with set_station operation. To avoid interoperability issues
      between different kernel and user space version combinations, introduce
      a new nl80211 attribute for the purpose of setting TDLS peer AID. This
      attribute can be used in both the new_station and set_station
      operations. It is not supposed to be allowed to change the AID value
      during the lifetime of the STA entry, but that validation is left for
      drivers to do in the change_station callback.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      5e4b6f56
  16. 17 5月, 2013 3 次提交
  17. 22 4月, 2013 1 次提交
  18. 06 3月, 2013 7 次提交
    • T
      nl80211: user_mpm overrides auto_open_plinks · d37bb18a
      Thomas Pedersen 提交于
      If the user requested a userspace MPM, automatically
      disable auto_open_plinks to fully disable the kernel MPM.
      Signed-off-by: NThomas Pedersen <thomas@cozybit.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      d37bb18a
    • T
      nl80211: explicit userspace MPM · bb2798d4
      Thomas Pedersen 提交于
      Secure mesh had the implicit requirement that the Mesh
      Peering Management entity be in userspace.  However
      userspace might want to implement an open MPM as well, so
      specify a mesh setup parameter to indicate this.
      Signed-off-by: NThomas Pedersen <thomas@cozybit.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      bb2798d4
    • J
      cfg80211: Extend support for IEEE 802.11r Fast BSS Transition · 355199e0
      Jouni Malinen 提交于
      Add NL80211_CMD_UPDATE_FT_IES to support update of FT IEs to the WLAN
      driver and NL80211_CMD_FT_EVENT to send FT events from the WLAN driver.
      This will carry the target AP's MAC address along with the relevant
      Information Elements. This event is used to report received FT IEs
      (MDIE, FTIE, RSN IE, TIE, RICIE). These changes allow FT to be supported
      with drivers that use an internal SME instead of user space option (like
      FT implementation in wpa_supplicant with mac80211-based drivers).
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      355199e0
    • J
      cfg80211: add ability to override VHT capabilities · ee2aca34
      Johannes Berg 提交于
      For testing it's sometimes useful to be able to
      override certain VHT capability advertisement,
      add the ability to do that in cfg80211.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ee2aca34
    • J
      nl80211: allow splitting wiphy information in dumps · 3713b4e3
      Johannes Berg 提交于
      The per-wiphy information is getting large, to the point
      where with more than the typical number of channels it's
      too large and overflows, and userspace can't get any of
      the information at all.
      
      To address this (in a way that doesn't require making all
      messages bigger) allow userspace to specify that it can
      deal with wiphy information split across multiple parts
      of the dump, and if it can split up the data. This also
      splits up each channel separately so an arbitrary number
      of channels can be supported.
      
      Additionally, since GET_WIPHY has the same problem, add
      support for filtering the wiphy dump and get information
      for a single wiphy only, this allows userspace apps to
      use dump in this case to retrieve all data from a single
      device.
      
      As userspace needs to know if all this this is supported,
      add a global nl80211 feature set and include a bit for
      this behaviour in it.
      
      Cc: Dennis H Jensen <dennis.h.jensen@siemens.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3713b4e3
    • J
      cfg80211: comprehensively check station changes · 77ee7c89
      Johannes Berg 提交于
      The station change API isn't being checked properly before
      drivers are called, and as a result it is difficult to see
      what should be allowed and what not.
      
      In order to comprehensively check the API parameters parse
      everything first, and then have the driver call a function
      (cfg80211_check_station_change()) with the additionally
      information about the kind of station that is being changed;
      this allows the function to make better decisions than the
      old code could.
      
      While at it, also add a few checks, particularly in mesh
      and clarify the TDLS station lifetime in documentation.
      
      To be able to reduce a few checks, ignore any flag set bits
      when the mask isn't set, they shouldn't be applied then.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      77ee7c89
    • J
      cfg80211: clean up mesh plink station change API · f8bacc21
      Johannes Berg 提交于
      Make the ability to leave the plink_state unchanged not use a
      magic -1 variable that isn't in the enum, but an explicit change
      flag; reject invalid plink states or actions and move the needed
      constants for plink actions to the right header file. Also
      reject plink_state changes for non-mesh interfaces.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      f8bacc21
  19. 15 2月, 2013 5 次提交
    • J
      nl80211: renumber NL80211_FEATURE_FULL_AP_CLIENT_STATE · 932dd97c
      Johannes Berg 提交于
      Adding the flag to mac80211 already without testing was
      clearly a mistake, one that we now pay for by having to
      reserve bit 13 forever. The problem is cfg80211 doesn't
      allow capability/rate changes for station entries that
      were added unassociated, so the station entries cannot
      be set up properly when marked associated.
      
      Change the NL80211_FEATURE_FULL_AP_CLIENT_STATE value
      to make it clear to userspace implementations that all
      current kernels don't actually support it, even though
      the previous bit is set, and of course also remove the
      flag from mac80211 until we test and fix the issues.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      932dd97c
    • J
      cfg80211: Pass station (extended) capability info to kernel · 9d62a986
      Jouni Malinen 提交于
      The information of the peer's capabilities and extended capabilities are
      required for the driver to perform TDLS Peer UAPSD operations and off
      channel operations. This information of the peer is passed from user space
      using NL80211_CMD_SET_STATION command. This commit enhances
      the function nl80211_set_station to pass the capability information of
      the peer to the driver.
      
      Similarly, there may be need for capability information for other modes,
      so allow this to be provided with both add_station and change_station.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      9d62a986
    • J
      cfg80211: advertise extended capabilities to userspace · a50df0c4
      Johannes Berg 提交于
      In many cases, userspace may need to know which of the
      802.11 extended capabilities ("Extended Capabilities
      element") are implemented in the driver or device, to
      include them e.g. in beacons, assoc request/response
      or other frames. Add a new nl80211 attribute to hold
      the extended capabilities bitmap for this.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a50df0c4
    • J
      nl80211: advertise HT/VHT channel limitations · 50640f16
      Johannes Berg 提交于
      When drivers or regulatory have limitations on
      40, 80 or 160 MHz channels, advertise these to
      userspace via nl80211. Also add a new feature
      flag to let userspace know this is supported.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      50640f16
    • S
      nl80211/cfg80211: add radar detection command/event · 04f39047
      Simon Wunderlich 提交于
      Add new NL80211_CMD_RADAR_DETECT, which starts the Channel
      Availability Check (CAC). This command will also notify the
      usermode about events (CAC finished, CAC aborted, radar
      detected, NOP finished).
      Once radar detection has started it should continuously
      monitor for radars as long as the channel is active.
      
      This patch enables DFS for AP mode in nl80211/cfg80211.
      
      Based on original patch by Victor Goldenshtein <victorg@ti.com>
      Signed-off-by: NSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
      [remove WIPHY_FLAG_HAS_RADAR_DETECT again -- my mistake]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      04f39047
  20. 13 2月, 2013 2 次提交
  21. 12 2月, 2013 1 次提交
  22. 05 2月, 2013 1 次提交
    • V
      cfg80211: expand per-station byte counters to 64bit · 42745e03
      Vladimir Kondratiev 提交于
      In per-station statistics, present 32bit counters are too small
      for practical purposes - with gigabit speeds, it get overlapped
      every few seconds.
      
      Expand counters in the struct station_info to be 64-bit.
      Driver can still fill only 32-bit and indicate in @filled
      only bits like STATION_INFO_[TR]X_BYTES; in case driver provides
      full 64-bit counter, it should also set in @filled
      bit STATION_INFO_[TR]RX_BYTES64
      
      Netlink sends both 32-bit and 64-bit counters, if present, to not
      break userspace.
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      [change to also have 32-bit counters if driver advertises 64-bit]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      42745e03