1. 13 May, 2009 3 commits
  2. 11 May, 2009 2 commits
  3. 06 May, 2009 3 commits
  4. 22 Apr, 2009 4 commits
  5. 28 Mar, 2009 4 commits
    • Jouni Malinen's avatar
      nl80211: Check iftype in cfg80211 code · eec60b03
      Jouni Malinen authored
      
      
      We do not want to require all the drivers using cfg80211 to need to do
      this. In addition, make the error values consistent by using
      EOPNOTSUPP instead of semi-random assortment of errno values.
      Signed-off-by: default avatarJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      eec60b03
    • Jouni Malinen's avatar
      nl80211: Check that netif_runnin is true in cfg80211 code · 35a8efe1
      Jouni Malinen authored
      
      
      We do not want to require all the drivers using cfg80211 to need to do
      this or to be prepared to handle these commands when the interface is
      down.
      Signed-off-by: default avatarJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      35a8efe1
    • Jouni Malinen's avatar
      nl80211: Remove NL80211_CMD_SET_MGMT_EXTRA_IE · 65fc73ac
      Jouni Malinen authored
      
      
      The functionality that NL80211_CMD_SET_MGMT_EXTRA_IE provided can now
      be achieved with cleaner design by adding IE(s) into
      NL80211_CMD_TRIGGER_SCAN, NL80211_CMD_AUTHENTICATE,
      NL80211_CMD_ASSOCIATE, NL80211_CMD_DEAUTHENTICATE, and
      NL80211_CMD_DISASSOCIATE.
      
      Since this is a very recently added command and there are no known (or
      known planned) applications using NL80211_CMD_SET_MGMT_EXTRA_IE and
      taken into account how much extra complexity it adds to the IE
      processing we have now (and need to add in the future to fix IE order
      in couple of frames), it looks like the best option is to just remove
      the implementation of this command for now. The enum values themselves
      are left to avoid changing the nl80211 command or attribute numbers.
      Signed-off-by: default avatarJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      65fc73ac
    • Jouni Malinen's avatar
      nl80211: Add MLME primitives to support external SME · 636a5d36
      Jouni Malinen authored
      
      
      This patch adds new nl80211 commands to allow user space to request
      authentication and association (and also deauthentication and
      disassociation). The commands are structured to allow separate
      authentication and association steps, i.e., the interface between
      kernel and user space is similar to the MLME SAP interface in IEEE
      802.11 standard and an user space application takes the role of the
      SME.
      
      The patch introduces MLME-AUTHENTICATE.request,
      MLME-{,RE}ASSOCIATE.request, MLME-DEAUTHENTICATE.request, and
      MLME-DISASSOCIATE.request primitives. The authentication and
      association commands request the actual operations in two steps
      (assuming the driver supports this; if not, separate authentication
      step is skipped; this could end up being a separate "connect"
      command).
      
      The initial implementation for mac80211 uses the current
      net/mac80211/mlme.c for actual sending and processing of management
      frames and the new nl80211 commands will just stop the current state
      machine from moving automatically from authentication to association.
      Future cleanup may move more of the MLME operations into cfg80211.
      
      The goal of this design is to provide more control of authentication and
      association process to user space without having to move the full MLME
      implementation. This should be enough to allow IEEE 802.11r FT protocol
      and 802.11s SAE authentication to be implemented. Obviously, this will
      also bring the extra benefit of not having to use WEXT for association
      requests with mac80211. An example implementation of a user space SME
      using the new nl80211 commands is available for wpa_supplicant.
      
      This patch is enough to get IEEE 802.11r FT protocol working with
      over-the-air mechanism (over-the-DS will need additional MLME
      primitives for handling the FT Action frames).
      Signed-off-by: default avatarJouni Malinen <j@w1.fi>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      636a5d36
  6. 05 Mar, 2009 1 commit
  7. 27 Feb, 2009 2 commits
    • Jouni Malinen's avatar
      nl80211: Provide access to STA TX/RX packet counters · 98c8a60a
      Jouni Malinen authored
      
      
      The TX/RX packet counters are needed to fill in RADIUS Accounting
      attributes Acct-Output-Packets and Acct-Input-Packets. We already
      collect the needed information, but only the TX/RX bytes were
      previously exposed through nl80211. Allow applications to fetch the
      packet counters, too, to provide more complete support for accounting.
      Signed-off-by: default avatarJouni Malinen <jouni.malinen@atheros.com>
      Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      98c8a60a
    • Johannes Berg's avatar
      mac80211: split IBSS/managed code · 46900298
      Johannes Berg authored
      
      
      This patch splits out the ibss code and data from managed (station) mode.
      The reason to do this is to better separate the state machines, and have
      the code be contained better so it gets easier to determine what exactly
      a given change will affect, that in turn makes it easier to understand.
      
      This is quite some churn, especially because I split sdata->u.sta into
      sdata->u.mgd and sdata->u.ibss, but I think it's easier to maintain that
      way. I've also shuffled around some code -- null function sending is only
      applicable to managed interfaces so put that into that file, some other
      functions are needed from various places so put them into util, and also
      rearranged the prototypes in ieee80211_i.h accordingly.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      46900298
  8. 13 Feb, 2009 2 commits
  9. 29 Jan, 2009 5 commits
  10. 19 Dec, 2008 3 commits
  11. 12 Dec, 2008 1 commit
  12. 05 Dec, 2008 1 commit
  13. 10 Nov, 2008 3 commits
  14. 31 Oct, 2008 6 commits
    • colin@cozybit.com's avatar
      Add nl80211 commands to get and set o11s mesh networking parameters · 93da9cc1
      colin@cozybit.com authored
      
      
      The two new commands are NL80211_CMD_GET_MESH_PARAMS and
      NL80211_CMD_SET_MESH_PARAMS. There is a new attribute enum,
      NL80211_ATTR_MESH_PARAMS, which enumerates the various mesh configuration
      parameters.
      
      Moved struct mesh_config from mac80211/ieee80211_i.h to net/cfg80211.h.
      nl80211_get_mesh_params and nl80211_set_mesh_params unpack the netlink messages
      and ask the driver to get or set the configuration.  This is done via two new
      function stubs, get_mesh_params and set_mesh_params, in struct cfg80211_ops.
      Signed-off-by: default avatarColin McCabe <colin@cozybit.com>
      Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      93da9cc1
    • Johannes Berg's avatar
      mac80211: rewrite HT handling · ae5eb026
      Johannes Berg authored
      
      
      The HT handling has the following deficiencies, which I've
      (partially) fixed:
       * it always uses the AP info even if there is no AP,
         hence has no chance of working as an AP
       * it pretends to be HW config, but really is per-BSS
       * channel sanity checking is left to the drivers
       * it generally lets the driver control too much
      
      HT enabling is still wrong with this patch if you have more than
      one virtual STA mode interface, but that never happens currently.
      Once WDS, IBSS or AP/VLAN gets HT capabilities, it will also be
      wrong, see the comment in ieee80211_enable_ht().
      
      Additionally, this fixes a number of bugs:
       * mac80211: ieee80211_set_disassoc doesn't notify the driver any
                   more since the refactoring
       * iwl-agn-rs: always uses the HT capabilities from the wrong stuff
                     mac80211 gives it rather than the actual peer STA
       * ath9k: a number of bugs resulting from the broken HT API
      
      I'm not entirely happy with putting the HT capabilities into
      struct ieee80211_sta as restricted to our own HT TX capabilities,
      but I see no cleaner solution for now.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      ae5eb026
    • Johannes Berg's avatar
      mac80211: move bss_conf into vif · bda3933a
      Johannes Berg authored
      
      
      Move bss_conf into the vif struct so that drivers can
      access it during ->tx without having to store it in
      the private data or similar. No driver updates because
      this is only for when they want to start using it.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      bda3933a
    • Johannes Berg's avatar
      mac80211: introduce hw config change flags · e8975581
      Johannes Berg authored
      
      
      This makes mac80211 notify the driver which configuration
      actually changed, e.g. channel etc.
      
      No driver changes, this is just plumbing, driver authors are
      expected to act on this if they want to.
      
      Also remove the HW CONFIG debug printk, it's incorrect, often
      we configure something else.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      e8975581
    • Johannes Berg's avatar
      802.11: clean up/fix HT support · d9fe60de
      Johannes Berg authored
      
      
      This patch cleans up a number of things:
       * the unusable definition of the HT capabilities/HT information
         information elements
       * variable names that are hard to understand
       * mac80211: move ieee80211_handle_ht to ht.c and remove the unused
                   enable_ht parameter
       * mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht
       * mac80211: fix bug with casting the result of ieee80211_bss_get_ie
                   to an information element _contents_ rather than the
                   whole element, add size checking (another out-of-bounds
                   access bug fixed!)
       * mac80211: remove some unused return values in favour of BUG_ON
                   checking
       * a few minor other things
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d9fe60de
    • Johannes Berg's avatar
      mac80211: clean up ieee80211_hw_config errors · d73782fd
      Johannes Berg authored
      
      
      Warn when ieee80211_hw_config returns an error, it shouldn't
      happen; remove a number of printks that would happen in such
      a case and one printk that is user-triggerable.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d73782fd