1. 23 4月, 2009 3 次提交
  2. 28 3月, 2009 4 次提交
  3. 17 3月, 2009 1 次提交
    • H
      mac80211: deauth before flushing STA information · 1a28c78b
      Herton Ronaldo Krzesinski 提交于
      Even after commit "mac80211: deauth when interface is marked down"
      (e327b847 on Linus tree), userspace still isn't notified when interface
      goes down. There isn't a problem with this commit, but because of other
      code changes it doesn't work on kernels >= 2.6.28 (works if same/similar
      change applied on 2.6.27 for example).
      
      The issue is as follows: after commit "mac80211: restructure disassoc/deauth
      flows" in 2.6.28, the call to ieee80211_sta_deauthenticate added by
      commit e327b847 will not work: because we do sta_info_flush(local, sdata)
      inside ieee80211_stop (iface.c), all stations in interface are cleared, so
      when calling ieee80211_sta_deauthenticate->ieee80211_set_disassoc (mlme.c),
      inside ieee80211_set_disassoc we have this in the beginning:
      
               sta = sta_info_get(local, ifsta->bssid);
               if (!sta) {
      
      The !sta check triggers, thus the function returns early and
      ieee80211_sta_send_apinfo(sdata, ifsta) later isn't called, so
      wpa_supplicant/userspace isn't notified with SIOCGIWAP.
      
      This commit moves deauthentication to before flushing STA info
      (sta_info_flush), thus the above can't happen and userspace is really
      notified when interface goes down.
      Signed-off-by: NHerton Ronaldo Krzesinski <herton@mandriva.com.br>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1a28c78b
  4. 28 2月, 2009 2 次提交
    • J
      mac80211: split IBSS/managed code · 46900298
      Johannes Berg 提交于
      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: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      46900298
    • J
      mac80211: disallow moving netns · 076ae609
      Johannes Berg 提交于
      mac80211 currently assumes init_net for all interfaces,
      so really will not cope well with network namespaces,
      at least at this time.
      
      To change this, we would have keep track of the netns
      in addition to the ifindex, which is not something I
      want to think about right now.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      076ae609
  5. 14 2月, 2009 2 次提交
  6. 10 2月, 2009 1 次提交
  7. 30 1月, 2009 5 次提交
  8. 13 1月, 2009 1 次提交
  9. 05 12月, 2008 2 次提交
  10. 22 11月, 2008 1 次提交
  11. 01 11月, 2008 2 次提交
  12. 01 10月, 2008 1 次提交
  13. 25 9月, 2008 1 次提交
  14. 16 9月, 2008 7 次提交
  15. 12 9月, 2008 1 次提交
  16. 23 8月, 2008 1 次提交
  17. 15 7月, 2008 4 次提交
    • J
      mac80211: fix TX sequence numbers · f591fa5d
      Johannes Berg 提交于
      This patch makes mac80211 assign proper sequence numbers to
      QoS-data frames. It also removes the old sequence number code
      because we noticed that only the driver or hardware can assign
      sequence numbers to non-QoS-data and especially management
      frames in a race-free manner because beacons aren't passed
      through mac80211's TX path.
      
      This patch also adds temporary code to the rt2x00 drivers to
      not break them completely, that code will have to be reworked
      for proper sequence numbers on beacons.
      
      It also moves sequence number assignment down in the TX path
      so no sequence numbers are assigned to frames that are dropped.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f591fa5d
    • J
      mac80211: push interface checks down · f3947e2d
      Johannes Berg 提交于
      This patch pushes the "netif_running()" and "same type as before"
      checks down into ieee80211_if_change_type() to centralise the
      logic instead of duplicating it for cfg80211 and wext.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f3947e2d
    • J
      mac80211: revamp virtual interface handling · 75636525
      Johannes Berg 提交于
      This patch revamps the virtual interface handling and makes the
      code much easier to follow. Fewer functions, better names, less
      spaghetti code.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      75636525
    • J
      mac80211: make master netdev handling sane · 3e122be0
      Johannes Berg 提交于
      Currently, almost every interface type has a 'bss' pointer
      pointing to BSS information. This BSS information, however,
      is for a _local_ BSS, not for the BSS we joined, so having
      it on a STA mode interface makes little sense, but now they
      have it pointing to the master device, which is an AP mode
      virtual interface. However, except for some bitrate control
      data, this pointer is only used in AP/VLAN modes (for power
      saving stations.)
      
      Overall, it is not necessary to even have the master netdev
      be a valid virtual interface, and it doesn't have to be on
      the list of interfaces either.
      
      This patch changes the master netdev to be special, it now
       - no longer is on the list of virtual interfaces, which
         lets me remove a lot of tests for that
       - no longer has sub_if_data attached, since that isn't used
      
      Additionally, this patch changes some vlan/ap mode handling
      that is related to these 'bss' pointers described above (but
      in the VLAN case they actually make sense because there they
      point to the AP they belong to); it also adds some debugging
      code to IEEE80211_DEV_TO_SUB_IF to validate it is not called
      on the master netdev any more.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3e122be0
  18. 03 7月, 2008 1 次提交