1. 12 10月, 2016 1 次提交
  2. 06 7月, 2016 3 次提交
  3. 31 5月, 2016 2 次提交
    • K
      cfg80211: Advertise extended capabilities per interface type to userspace · 019ae3a9
      Kanchanapally, Vidyullatha 提交于
      The driver extended capabilities may differ for different
      interface types which the userspace needs to know (for
      example the fine timing measurement initiator and responder
      bits might differ for a station and AP). Add a new nl80211
      attribute to provide extended capabilities per interface type
      to userspace.
      Signed-off-by: NVidyullatha Kanchanapally <vkanchan@qti.qualcomm.com>
      Reviewed-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      019ae3a9
    • J
      cfg80211: Allow cfg80211_connect_result() errors to be distinguished · bf1ecd21
      Jouni Malinen 提交于
      Previously, the status parameter to cfg80211_connect_result() was
      documented as using WLAN_STATUS_UNSPECIFIED_FAILURE (1) when the real
      status code for the failure is not known. This value can be used by an
      AP (and often is) and as such, user space cannot distinguish between
      explicitly rejected authentication/association and not being able to
      even try to associate or not receiving a response from the AP.
      
      Add a new inline function, cfg80211_connect_timeout(), to be used when
      the driver knows that the connection attempt failed due to a reason
      where connection could not be attempt or no response was received from
      the AP. The internal functions now allow a negative status value (-1) to
      be used as an indication of this special case. This results in the
      NL80211_ATTR_TIMED_OUT to be added to the NL80211_CMD_CONNECT event to
      allow user space to determine this case was hit. For backwards
      compatibility, NL80211_STATUS_CODE with the value
      WLAN_STATUS_UNSPECIFIED_FAILURE is still indicated in the event in such
      a case.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      [johannes: fix cfg80211_connect_bss() prototype to use int for status,
       add cfg80211_connect_timeout() to docbook, fix docbook]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      bf1ecd21
  4. 12 5月, 2016 2 次提交
  5. 26 4月, 2016 2 次提交
  6. 12 4月, 2016 2 次提交
  7. 06 4月, 2016 2 次提交
  8. 05 4月, 2016 3 次提交
  9. 24 2月, 2016 1 次提交
    • L
      cfg80211: basic support for PBSS network type · 34d50519
      Lior David 提交于
      PBSS (Personal Basic Service Set) is a new BSS type for DMG
      networks. It is similar to infrastructure BSS, having an AP-like
      entity called PCP (PBSS Control Point), but it has few differences.
      PBSS support is mandatory for 11ad devices.
      
      Add support for PBSS by introducing a new PBSS flag attribute.
      The PBSS flag is used in the START_AP command to request starting
      a PCP instead of an AP, and in the CONNECT command to request
      connecting to a PCP instead of an AP.
      Signed-off-by: NLior David <liord@codeaurora.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      34d50519
  10. 04 12月, 2015 2 次提交
  11. 03 11月, 2015 1 次提交
  12. 13 10月, 2015 2 次提交
    • A
      cfg80211: Add multiple scan plans for scheduled scan · 3b06d277
      Avraham Stern 提交于
      Add the option to configure multiple 'scan plans' for scheduled scan.
      Each 'scan plan' defines the number of scan cycles and the interval
      between scans. The scan plans are executed in the order they were
      configured. The last scan plan will always run infinitely and thus
      defines only the interval between scans.
      The maximum number of scan plans supported by the device and the
      maximum number of iterations in a single scan plan are advertised
      to userspace so it can configure the scan plans appropriately.
      
      When scheduled scan results are received there is no way to know which
      scan plan is being currently executed, so there is no way to know when
      the next scan iteration will start. This is not a problem, however.
      The scan start timestamp is only used for flushing old scan results,
      and there is no difference between flushing all results received until
      the end of the previous iteration or the start of the current one,
      since no results will be received in between.
      Signed-off-by: NAvraham Stern <avraham.stern@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3b06d277
    • D
      nl80211: allow BSS data to include CLOCK_BOOTTIME timestamp · 6e19bc4b
      Dmitry Shmidt 提交于
      For location and connectivity services, userspace would often like
      to know the time when the BSS was last seen. The current "last seen"
      value is calculated in a way that makes it less useful, especially
      if the system suspended in the meantime.
      
      Add the ability for the driver to report a real CLOCK_BOOTTIME stamp
      that can then be reported to userspace (if present).
      
      Drivers wishing to use this must be converted to the new API to call
      cfg80211_inform_bss_data() or cfg80211_inform_bss_frame_data(). They
      need to ensure the reported value is accurate enough even when the
      frame might have been buffered in the device (e.g. firmware.)
      Signed-off-by: NDmitry Shmidt <dimitrysh@google.com>
      [modified to use struct, inlines]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6e19bc4b
  13. 29 9月, 2015 1 次提交
  14. 22 9月, 2015 1 次提交
  15. 17 7月, 2015 2 次提交
  16. 26 5月, 2015 1 次提交
  17. 06 5月, 2015 1 次提交
  18. 07 4月, 2015 1 次提交
  19. 30 3月, 2015 2 次提交
    • T
      cfg80211: pass name_assign_type to rdev_add_virtual_intf() · 6bab2e19
      Tom Gundersen 提交于
      This will expose in /sys whether the ifname of a device is set by
      userspace or generated by the kernel. The latter kind (wlanX, etc)
      is not deterministic, so userspace needs to rename these devices
      to names that are guaranteed to stay the same between reboots. The
      former, however should never be renamed, so userspace needs to be
      able to reliably tell the difference.
      
      Similar functionality was introduced for the rtnetlink core in
      commit 5517750f ("net: rtnetlink - make create_link take name_assign_type")
      Signed-off-by: NTom Gundersen <teg@jklm.no>
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: Brett Rudley <brudley@broadcom.com>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: Franky (Zhenhui) Lin <frankyl@broadcom.com>
      Cc: Hante Meuleman <meuleman@broadcom.com>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      [reformat changelog to fit 72 cols]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6bab2e19
    • A
      cfg/mac80211: add regulatory classes IE during TDLS setup · a38700dd
      Arik Nemtsov 提交于
      Seems Broadcom TDLS peers (Nexus 5, Xperia Z3) refuse to allow TDLS
      connection when channel-switching is supported but the regulatory
      classes IE is missing from the setup request.
      Add a chandef to reg-class translation function to cfg80211 and use it
      to add the required IE during setup. For now add only the current
      regulatory class as supported - it is enough to resolve the
      compatibility issue.
      Signed-off-by: NArik Nemtsov <arikx.nemtsov@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a38700dd
  20. 13 3月, 2015 1 次提交
    • E
      net: Introduce possible_net_t · 0c5c9fb5
      Eric W. Biederman 提交于
      Having to say
      > #ifdef CONFIG_NET_NS
      > 	struct net *net;
      > #endif
      
      in structures is a little bit wordy and a little bit error prone.
      
      Instead it is possible to say:
      > typedef struct {
      > #ifdef CONFIG_NET_NS
      >       struct net *net;
      > #endif
      > } possible_net_t;
      
      And then in a header say:
      
      > 	possible_net_t net;
      
      Which is cleaner and easier to use and easier to test, as the
      possible_net_t is always there no matter what the compile options.
      
      Further this allows read_pnet and write_pnet to be functions in all
      cases which is better at catching typos.
      
      This change adds possible_net_t, updates the definitions of read_pnet
      and write_pnet, updates optional struct net * variables that
      write_pnet uses on to have the type possible_net_t, and finally fixes
      up the b0rked users of read_pnet and write_pnet.
      Signed-off-by: N"Eric W. Biederman" <ebiederm@xmission.com>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0c5c9fb5
  21. 03 3月, 2015 2 次提交
    • A
      cfg80211: Allow NL80211_ATTR_IFINDEX to be added to vendor events · 6c09e791
      Ahmad Kholaif 提交于
      This modifies cfg80211_vendor_event_alloc() with an additional argument
      struct wireless_dev *wdev. __cfg80211_alloc_event_skb() is modified to
      take in *wdev argument, if wdev != NULL, both the NL80211_ATTR_IFINDEX
      and wdev identifier are added to the vendor event.
      
      These changes make it easier for drivers to add ifindex indication in
      vendor events cleanly.
      
      This also updates all existing users of cfg80211_vendor_event_alloc()
      and __cfg80211_alloc_event_skb() in the kernel tree.
      Signed-off-by: NAhmad Kholaif <akholaif@qca.qualcomm.com>
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6c09e791
    • 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
  22. 23 1月, 2015 1 次提交
  23. 16 1月, 2015 1 次提交
    • J
      cfg80211: change bandwidth reporting to explicit field · b51f3bee
      Johannes Berg 提交于
      For some reason, we made the bandwidth separate flags, which
      is rather confusing - a single rate cannot have different
      bandwidths at the same time.
      
      Change this to no longer be flags but use a separate field
      for the bandwidth ('bw') instead.
      
      While at it, add support for 5 and 10 MHz rates - these are
      reported as regular legacy rates with their real bitrate,
      but tagged as 5/10 now to make it easier to distinguish them.
      
      In the nl80211 API, the flags are preserved, but the code
      now can also clearly only set a single one of the flags.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b51f3bee
  24. 15 1月, 2015 1 次提交
  25. 14 1月, 2015 1 次提交
  26. 08 1月, 2015 1 次提交
    • J
      nl80211: support per-TID station statistics · 6de39808
      Johannes Berg 提交于
      The base for the current statistics is pretty mixed up, support
      exporting RX/TX statistics for MSDUs per TID. This (currently)
      covers received MSDUs, transmitted MSDUs and retries/failures
      thereof.
      
      Doing it per TID for MSDUs makes more sense than say only per AC
      because it's symmetric - we could export per-AC statistics for all
      frames (which AC we used for transmission can be determined also
      for management frames) but per TID is better and usually data
      frames are really the ones we care about. Also, on RX we can't
      determine the AC - but we do know the TID for any QoS MPDU we
      received.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6de39808