29 Aug, 2009

1 commit


28 Jul, 2009

1 commit


11 Jul, 2009

1 commit


04 Jun, 2009

1 commit


23 May, 2009

1 commit

  • The patch moves some utility functions from mac80211 to cfg80211.
    Because these functions are doing generic 802.11 operations so they
    are not mac80211 specific. The moving allows some fullmac drivers
    to be also benefit from these utility functions.

    Signed-off-by: Zhu Yi
    Signed-off-by: Samuel Ortiz
    Signed-off-by: John W. Linville

    Zhu Yi
     

12 May, 2009

1 commit

  • IEEE 802.11w/D9.0 introduces a mechanism for Action field Category
    values to be used to select which Action frames are Robust. Public and
    Vendor-specific categories are marked as not Robust in IEEE 802.11w;
    HT will be marked not Robust in IEEE 802.11n. A new Vendor-specific
    Protected category is allocated for Robust vendor-specific Action
    frames. Another new category, Protected Dual of Action, is introduced
    for protecting some existing Public Action frames (e.g., IEEE 802.11y
    protected enablement).

    Signed-off-by: Jouni Malinen
    Signed-off-by: John W. Linville

    Jouni Malinen
     

07 May, 2009

1 commit


23 Apr, 2009

2 commits

  • The TIM IE must not be shorter than 4 bytes, so verify that
    when parsing it and use the proper type. To ease that adjust
    struct ieee80211_tim_ie to have a virtual bitmap of size
    at least 1.

    Also check that the TIM IE is actually present before trying
    to parse it!

    Because other people may need the function, make it a static
    inline in ieee80211.h.

    (The original "mac80211: validate TIM IE length" was a minimal fix for
    2.6.30. This purports to be the full, correct fix. -- JWL)

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • When an application asks for a latency lower than the beacon interval
    there's nothing we can do -- we need to stay awake and not have the
    AP buffer frames for us. Add code to automatically calculate this
    constraint in mac80211 so drivers need not concern themselves with it.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

28 Mar, 2009

2 commits

  • 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: Jouni Malinen
    Signed-off-by: John W. Linville

    Jouni Malinen
     
  • I keep needing this because I'm too stupid to remember it.
    Everybody else can probably remember, but who knows :)

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

30 Jan, 2009

7 commits

  • The separate Association Comeback Time IE was removed from IEEE 802.11w
    and the Timeout Interval IE (from IEEE 802.11r) is used instead. The
    editing on this is still somewhat incomplete in IEEE 802.11w/D7.0, but
    still, the use of Timeout Interval IE is the expected mechanism.

    Signed-off-by: Jouni Malinen
    Signed-off-by: John W. Linville

    Jouni Malinen
     
  • When MFP is enabled, the AP does not allow a STA to associate if an
    existing security association exists without first going through SA
    Query process. When this happens, the association request is denied
    with a new status code ("temporarily rejected") ans Association
    Comeback IE is used to notify when the association may be tried again
    (i.e., when the SA Query procedure has timed out).

    Use the comeback time to update the mac80211 client MLME timer for
    next association attempt to minimize waiting time if association is
    temporarily rejected.

    Signed-off-by: Jouni Malinen
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Jouni Malinen
     
  • Process SA Query Requests for client mode in mac80211. AP side
    processing of SA Query Response frames is in user space (hostapd).

    Signed-off-by: Jouni Malinen
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Jouni Malinen
     
  • Add mechanism for managing BIP keys (IGTK) and integrate BIP into the
    TX/RX paths.

    Signed-off-by: Jouni Malinen
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Jouni Malinen
     
  • Implement Broadcast/Multicast Integrity Protocol for management frame
    protection. This patch adds the needed definitions for the new
    information element (MMIE) and implementation for the new "encryption"
    type (though, BIP is actually not encrypting data, it provides only
    integrity protection). These routines will be used by a follow-on patch
    that enables BIP for multicast/broadcast robust management frames.

    Signed-off-by: Jouni Malinen
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Jouni Malinen
     
  • Extend CCMP to support encryption and decryption of unicast management
    frames.

    Signed-off-by: Jouni Malinen
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Jouni Malinen
     
  • Added mappings for FHSS, DSSS and OFDM channels - with macros to point
    HR DSSS and ERP to the DSSS mappings. Currently just static inline
    functions.

    Use the new functions in the older fullmac drivers. This eliminates a
    number of const static buffers and removes a couple of range checks that
    are now redundant.

    Signed-off-by: David Kilroy
    Acked-by: Arnaldo Carvalho de Melo
    Acked-by: Richard Farina
    Acked-by: Jeroen Vreeken
    Signed-off-by: John W. Linville

    David Kilroy
     

13 Dec, 2008

1 commit


26 Nov, 2008

1 commit

  • This adds country IE parsing to mac80211 and enables its usage
    within the new regulatory infrastructure in cfg80211. We parse
    the country IEs only on management beacons for the BSSID you are
    associated to and disregard the IEs when the country and environment
    (indoor, outdoor, any) matches the already processed country IE.

    To avoid following misinformed or outdated APs we build and use
    a regulatory domain out of the intersection between what the AP
    provides us on the country IE and what CRDA is aware is allowed
    on the same country.

    A secondary device is allowed to follow only the same country IE
    as it make no sense for two devices on a system to be in two
    different countries.

    In the case the AP is using country IEs for an incorrect country
    the user may help compliance further by setting the regulatory
    domain before or after the IE is parsed and in that case another
    intersection will be performed.

    CONFIG_WIRELESS_OLD_REGULATORY is supported but requires CRDA
    present.

    Signed-off-by: Luis R. Rodriguez
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     

11 Nov, 2008

2 commits

  • This introduces a debugfs file (ieee80211/phy#/hwsim/ps) that can be
    used to force a simulated radio into power save mode. Following values
    can be written into this file to change PS mode:
    0 = power save disabled (constantly awake)
    1 = power save enabled (drop all frames; do not send PS-Poll)
    2 = power save enabled (send PS-Poll frames automatically to receive
    buffered unicast frames); not yet fully implemented
    3 = manual PS-Poll trigger (send a single PS-Poll frame)

    Two different behavior for power save mode processing can be tested:
    - move between modes 1 and 0 (i.e., receive all buffered frames at a
    time)
    - move to mode 1 and use manual PS-Poll frames (write 3 to the 'ps'
    debugfs file) to fetch power save buffered frames one at a time

    Mode 2 (automatic PS-Poll) does not yet parse Beacon frames, but
    eventually, it should take a look at TIM IE and send PS-Poll if a
    traffic bit is set for our AID.

    Signed-off-by: Jouni Malinen
    Signed-off-by: John W. Linville

    Jouni Malinen
     
  • This is a constant from the 802.11 specification.

    Signed-off-by: Johannes Berg
    Cc: Javier Cardona
    Signed-off-by: John W. Linville

    Johannes Berg
     

01 Nov, 2008

3 commits


25 Sep, 2008

1 commit

  • Currently the mesh code doesn't support bridging mesh point interfaces
    with wired ethernet or AP to construct an MPP or MAP. This patch adds
    code to support the "6 address frame format packet" functionality to
    mesh point interfaces. Now the mesh network can be used as backhaul
    for end to end communication.

    Signed-off-by: Li YanBo
    Signed-off-by: John W. Linville

    YanBo
     

12 Sep, 2008

2 commits

  • Some of the HT code in mlme.c is misplaced:
    * constants/definitions belong to the ieee80211.h header
    * code being used in other modes as well shouldn't be there

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • This patch follows 11n spec naming more rigorously replacing MIMO_PS
    with SM_PS (Spatial Multiplexing Power Save).

    (Originally submitted as 4 patches, "mac80211: change MIMO_PS to SM_PS",
    "iwlwifi: change MIMO_PS to SM_PS", "ath9k: change MIMO_PS to SM_PS",
    and "iwlwifi: remove double definition of SM PS". -- JWL)

    Signed-off-by: Ron Rindjunsky
    Signed-off-by: Tomas Winkler
    Signed-off-by: Zhu Yi
    Signed-off-by: John W. Linville

    Tomas Winkler
     

30 Aug, 2008

1 commit


05 Aug, 2008

1 commit

  • This patch adds the dtim_period in ieee80211_bss_conf, this allows the low
    level driver to know the dtim_period, and to plan power save accordingly.

    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Tomas Winkler
    Signed-off-by: Zhu Yi
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Emmanuel Grumbach
     

09 Jul, 2008

1 commit


08 Jul, 2008

1 commit


27 Jun, 2008

2 commits


15 Jun, 2008

3 commits

  • Replaced by the new helper ieee80211_has_morefrags which is
    more consistent with the intent of the function.

    Signed-off-by: Harvey Harrison
    Signed-off-by: John W. Linville

    Harvey Harrison
     
  • A few general categories:

    1) ieee80211_has_* tests if particular fctl bits are set, the helpers are de
    in the same order as the fctl defines:

    A combined _has_a4 was also added to test when both FROMDS and TODS are set.

    2) ieee80211_is_* is meant to test whether the frame control is of a certain
    ftype - data, mgmt, ctl, and two special helpers _is_data_qos, _is_data_pres
    which also test a subset of the stype space.

    When testing for a particular stype applicable only to one ftype, functions
    like ieee80211_is_ack have been added. Note that the ftype is also being
    checked in these helpers. They have been added for all mgmt and ctl stypes
    in the same order as the STYPE defines.

    3) ieee80211_get_* is meant to take a struct ieee80211_hdr * and returns a
    pointer to somewhere in the struct, see get_SA, get_DA, get_qos_ctl.

    The intel wireless drivers had helpers that used this namespace, convert the
    all to use the new helpers and remove the byteshifting as they were defined
    in cpu-order rather than little-endian.

    Signed-off-by: Harvey Harrison
    Signed-off-by: John W. Linville

    Harvey Harrison
     
  • This patch removes redundant flags regarding to FAT channel. Use
    mac80211's flag instead.

    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Tomas Winkler
    Signed-off-by: Zhu Yi
    Signed-off-by: John W. Linville

    Emmanuel Grumbach
     

04 Jun, 2008

1 commit

  • This patch allows to disable FAT channel in specific configurations.

    For example the configuration (8, +1), (primary channel 8, extension
    channel 12) isn't permitted in U.S., but (8, -1), (primary channel 8,
    extension channel 4) is. When FAT channel configuration is not
    permitted, FAT channel should be reported as not supported in the
    capabilities of the HT IE in association request. And sssociation is
    performed on 20Mhz channel.

    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Tomas Winkler
    Signed-off-by: John W. Linville

    Emmanuel Grumbach
     

22 May, 2008

1 commit

  • This patch follows the 11n spec in separation between Tx and Rx MCS
    capabilities. Up until now, when configuring the HT possible set of Tx
    MCS only Rx MCS were considered, assuming they are the same as the Tx MCS.
    This patch fixed this by looking at low level driver Tx capabilities.

    Signed-off-by: Ron Rindjunsky
    Signed-off-by: Tomas Winkler
    Signed-off-by: John W. Linville

    Ron Rindjunsky
     

15 May, 2008

1 commit