1. 11 Oct, 2018 1 commit
  2. 05 Sep, 2018 3 commits
  3. 18 Jun, 2018 1 commit
  4. 15 Jun, 2018 1 commit
  5. 22 Feb, 2018 1 commit
  6. 19 Feb, 2018 1 commit
  7. 02 Oct, 2017 1 commit
  8. 30 Jun, 2017 1 commit
  9. 13 Jun, 2017 2 commits
  10. 28 Apr, 2017 1 commit
  11. 26 Apr, 2017 3 commits
  12. 31 Mar, 2017 1 commit
  13. 06 Mar, 2017 3 commits
  14. 08 Feb, 2017 1 commit
  15. 26 Jan, 2017 1 commit
  16. 05 Jan, 2017 1 commit
  17. 27 Oct, 2016 3 commits
  18. 30 Jun, 2016 2 commits
  19. 06 Apr, 2016 2 commits
    • Felix Fietkau's avatar
      mac80211: add A-MSDU tx support · 6e0456b5
      Felix Fietkau authored
      Requires software tx queueing and fast-xmit support. For good
      performance, drivers need frag_list support as well. This avoids the
      need for copying data of aggregated frames. Running without it is only
      supported for debugging purposes.
      
      To avoid performance and packet size issues, the rate control module or
      driver needs to limit the maximum A-MSDU size by setting
      max_rc_amsdu_len in struct ieee80211_sta.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      [fix locking issue]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      6e0456b5
    • Johannes Berg's avatar
      mac80211: add fast-rx path · 49ddf8e6
      Johannes Berg authored
      The regular RX path has a lot of code, but with a few
      assumptions on the hardware it's possible to reduce the
      amount of code significantly. Currently the assumptions
      on the driver are the following:
       * hardware/driver reordering buffer (if supporting aggregation)
       * hardware/driver decryption & PN checking (if using encryption)
       * hardware/driver did de-duplication
       * hardware/driver did A-MSDU deaggregation
       * AP_LINK_PS is used (in AP mode)
       * no client powersave handling in mac80211 (in client mode)
      
      of which some are actually checked per packet:
       * de-duplication
       * PN checking
       * decryption
      and additionally packets must
       * not be A-MSDU (have been deaggregated by driver/device)
       * be data packets
       * not be fragmented
       * be unicast
       * have RFC 1042 header
      
      Additionally dynamically we assume:
       * no encryption or CCMP/GCMP, TKIP/WEP/other not allowed
       * station must be authorized
       * 4-addr format not enabled
      
      Some data needed for the RX path is cached in a new per-station
      "fast_rx" structure, so that we only need to look at this and
      the packet, no other memory when processing packets on the fast
      RX path.
      
      After doing the above per-packet checks, the data path collapses
      down to a pretty simple conversion function taking advantage of
      the data cached in the small fast_rx struct.
      
      This should speed up the RX processing, and will make it easier
      to reason about parallelizing RX (for which statistics will need
      to be per-CPU still.)
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      49ddf8e6
  20. 05 Apr, 2016 1 commit
  21. 24 Feb, 2016 1 commit
  22. 14 Jan, 2016 1 commit
  23. 13 Oct, 2015 2 commits
  24. 09 Oct, 2015 1 commit
  25. 22 Sep, 2015 2 commits
  26. 14 Aug, 2015 1 commit
  27. 27 Jan, 2015 1 commit