1. 15 10月, 2015 1 次提交
  2. 13 10月, 2015 1 次提交
  3. 29 9月, 2015 1 次提交
    • H
      mac80211: Copy tx'ed beacons to monitor mode · 35afa588
      Helmut Schaa 提交于
      When debugging wireless powersave issues on the AP side it's quite helpful
      to see our own beacons that are transmitted by the hardware/driver. However,
      this is not that easy since beacons don't pass through the regular TX queues.
      
      Preferably drivers would call ieee80211_tx_status also for tx'ed beacons
      but that's not always possible. Hence, just send a copy of each beacon
      generated by ieee80211_beacon_get_tim to monitor devices when they are
      getting fetched by the driver.
      
      Also add a HW flag IEEE80211_HW_BEACON_TX_STATUS that can be used by
      drivers to indicate that they report TX status for beacons.
      Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com>
      (with a fix from Christian Lamparted rolled in)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      35afa588
  4. 22 9月, 2015 4 次提交
  5. 04 9月, 2015 1 次提交
    • A
      mac80211: protect non-HT BSS when HT TDLS traffic exists · 22f66895
      Avri Altman 提交于
      HT TDLS traffic should be protected in a non-HT BSS to avoid
      collisions. Therefore, when TDLS peers join/leave, check if
      protection is (now) needed and set the ht_operation_mode of
      the virtual interface according to the HT capabilities of the
      TDLS peer(s).
      
      This works because a non-HT BSS connection never sets (or
      otherwise uses) the ht_operation_mode; it just means that
      drivers must be aware that this field applies to all HT
      traffic for this virtual interface, not just the traffic
      within the BSS. Document that.
      Signed-off-by: NAvri Altman <avri.altman@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      22f66895
  6. 13 8月, 2015 1 次提交
  7. 17 7月, 2015 6 次提交
  8. 10 6月, 2015 2 次提交
  9. 03 6月, 2015 2 次提交
  10. 02 6月, 2015 2 次提交
    • J
      mac80211: stop using pointers as userspace cookies · 3b79af97
      Johannes Berg 提交于
      Even if the pointers are really only accessible to root and used
      pretty much only by wpa_supplicant, this is still not great; even
      for debugging it'd be easier to have something that's easier to
      read and guaranteed to never get reused.
      
      With the recent change to make mac80211 create an ack_skb for the
      mgmt-tx path this becomes possible, only the client probe method
      needs to also allocate an ack_skb, and we can store the cookie in
      that skb.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3b79af97
    • J
      mac80211: move TX PN to public part of key struct · db388a56
      Johannes Berg 提交于
      For drivers supporting TSO or similar features, but that still have
      PN assignment in software, there's a need to have some memory to
      store the current PN value. As mac80211 already stores this and it's
      somewhat complicated to add a per-driver area to the key struct (due
      to the dynamic sizing thereof) it makes sense to just move the TX PN
      to the keyconf, i.e. the public part of the key struct.
      
      As TKIP is more complicated and we won't able to offload it in this
      way right now (fast-xmit is skipped for TKIP unless the HW does it
      all, and our hardware needs MMIC calculation in software) I've not
      moved that for now - it's possible but requires exposing a lot of
      the internal TKIP state.
      
      As an bonus side effect, we can remove a lot of code by assuming the
      keyseq struct has a certain layout - with BUILD_BUG_ON to verify it.
      
      This might also improve performance, since now TX and RX no longer
      share a cacheline.
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      db388a56
  11. 28 5月, 2015 1 次提交
    • J
      mac80211: Fix mac80211.h docbook comments · 3a7af58f
      Jonathan Corbet 提交于
      A couple of enums in mac80211.h became structures recently, but the
      comments didn't follow suit, leading to errors like:
      
        Error(.//include/net/mac80211.h:367): Cannot parse enum!
        Documentation/DocBook/Makefile:93: recipe for target 'Documentation/DocBook/80211.xml' failed
        make[1]: *** [Documentation/DocBook/80211.xml] Error 1
        Makefile:1361: recipe for target 'mandocs' failed
        make: *** [mandocs] Error 2
      
      Fix the comments comments accordingly.  Added a couple of other small
      comment fixes while I was there to silence other recently-added docbook
      warnings.
      Reported-by: NJim Davis <jim.epost@gmail.com>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3a7af58f
  12. 20 5月, 2015 1 次提交
  13. 06 5月, 2015 2 次提交
  14. 05 5月, 2015 1 次提交
  15. 04 5月, 2015 1 次提交
  16. 24 4月, 2015 3 次提交
  17. 22 4月, 2015 2 次提交
    • J
      mac80211: allow drivers to support S/G · 680a0dab
      Johannes Berg 提交于
      If drivers want to support S/G (really just gather DMA on TX) then
      we can now easily support this on the fast-xmit path since it just
      needs to write to the ethernet header (and already has a check for
      that being possible.)
      
      However, disallow this on the regular TX path (which has to handle
      fragmentation, software crypto, etc.) by calling skb_linearize().
      
      Also allow the related HIGHDMA since that's not interesting to the
      code in mac80211 at all anyway.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      680a0dab
    • J
      mac80211: add TX fastpath · 17c18bf8
      Johannes Berg 提交于
      In order to speed up mac80211's TX path, add the "fast-xmit" cache
      that will cache the data frame 802.11 header and other data to be
      able to build the frame more quickly. This cache is rebuilt when
      external triggers imply changes, but a lot of the checks done per
      packet today are simplified away to the check for the cache.
      
      There's also a more detailed description in the code.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      17c18bf8
  18. 20 4月, 2015 1 次提交
    • J
      mac80211: Fix mac80211.h docbook comments · a839e463
      Jonathan Corbet 提交于
      A couple of enums in mac80211.h became structures recently, but the
      comments didn't follow suit, leading to errors like:
      
        Error(.//include/net/mac80211.h:367): Cannot parse enum!
        Documentation/DocBook/Makefile:93: recipe for target 'Documentation/DocBook/80211.xml' failed
        make[1]: *** [Documentation/DocBook/80211.xml] Error 1
        Makefile:1361: recipe for target 'mandocs' failed
        make: *** [mandocs] Error 2
      
      Fix the comments comments accordingly.  Added a couple of other small
      comment fixes while I was there to silence other recently-added docbook
      warnings.
      Reported-by: NJim Davis <jim.epost@gmail.com>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a839e463
  19. 07 4月, 2015 1 次提交
  20. 02 4月, 2015 1 次提交
    • F
      mac80211: add an intermediate software queue implementation · ba8c3d6f
      Felix Fietkau 提交于
      This allows drivers to request per-vif and per-sta-tid queues from which
      they can pull frames. This makes it easier to keep the hardware queues
      short, and to improve fairness between clients and vifs.
      
      The task of scheduling packet transmission is left up to the driver -
      queueing is controlled by mac80211. Drivers can only dequeue packets by
      calling ieee80211_tx_dequeue. This makes it possible to add active queue
      management later without changing drivers using this code.
      
      This can also be used as a starting point to implement A-MSDU
      aggregation in a way that does not add artificially induced latency.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      [resolved minor context conflict, minor changes, endian annotations]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ba8c3d6f
  21. 30 3月, 2015 5 次提交