20 Jul, 2011
1 commit
-
These are needed by ath6kl for parsing tspec status from an IE.
Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville
28 Jun, 2011
1 commit
-
Move all that mac80211 has into the generic
ieee80211.h header file and use them. At the
same time move them from mask+shift to just
bits and rename them for consistent names.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
02 Jun, 2011
1 commit
-
Commit 0a35d36 ("cfg80211: Use capability info to detect mesh beacons")
assumed that probe response with both ESS and IBSS bits cleared
means that the frame was sent by a mesh sta.However, these capabilities are also being used in the p2p_find phase,
and the mesh-validation broke it.Rename the WLAN_CAPABILITY_IS_MBSS macro, and verify that mesh ies
exist before assuming this frame was sent by a mesh sta.Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville
12 May, 2011
3 commits
-
They may contain encrypted information elements (as AMPE frames do)
but they are not encrypted.Signed-off-by: Thomas Pedersen
Signed-off-by: Javier Cardona
Signed-off-by: John W. Linville -
Mesh beacons no longer use all-zeroes BSSID. Beacon frames for MBSS,
infrastructure BSS, or IBSS are differentiated by the Capability
Information field in the Beacon frame. A mesh STA sets the ESS and IBSS
subfields to 0 in transmitted Beacon or Probe Response management
frames.Signed-off-by: Javier Cardona
Signed-off-by: John W. Linville -
Note: This breaks compatibility with previous mesh protocol instances.
Signed-off-by: Javier Cardona
Signed-off-by: John W. Linville
05 Apr, 2011
1 commit
-
IEEE Std 802.11n, Oct. 29, 2009:
7.3.2.56.5 HT Extended Capabilities fieldSigned-off-by: Bing Zhao
Signed-off-by: John W. Linville
10 Mar, 2011
1 commit
-
and make use of it in wireless drivers
Signed-off-by: Bing Zhao
Signed-off-by: John W. Linville
14 Jan, 2011
1 commit
-
It is defined in include/linux/ieee80211.h. As per IEEE spec.
bit6 to bit15 in block ack parameter represents buffer size.
So the bitmask should be 0xFFC0.Signed-off-by: Amitkumar Karwar
Signed-off-by: Bing Zhao
Cc: stable@kernel.org
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville
21 Dec, 2010
2 commits
-
The Mesh Control header only includes 0, 1 or 2 addresses. If there is
one address, it should be interpreted as Address 4. If there are 2,
they are interpreted as Addresses 5 and 6 (Address 4 being the 4th
address in the 802.11 header).The address extension used to hold up to 3 addresses instead of the current 2.
I'm not sure which draft version changed this, but it is very unlikely that it
will change again given the state of the approval process of this draft. See
section 7.1.3.6.3 in current draft (8.0).Also, note that the extra address that I'm removing was not being used, so this
change has no effect on over-the-air frame formats. But I thought I better
remove it before someone does start using it.Signed-off-by: Javier Cardona
Signed-off-by: John W. Linville -
Userspace will now be allowed to toggle between the default path
selection algorithm (HWMP, implemented in the kernel), and a vendor
specific alternative. Also in the same patch, allow userspace to add
information elements to mesh beacons. This is accordance with the
Extensible Path Selection Framework specified in version 7.0 of the
802.11s draft.Signed-off-by: Javier Cardona
Signed-off-by: John W. Linville
14 Dec, 2010
1 commit
-
WMM IE QoS Info field lower 4 bits: Parameter Set Count
Signed-off-by: Bing Zhao
Signed-off-by: John W. Linville
09 Dec, 2010
1 commit
-
1)WLAN_EID_BSS_COEX_2040
2)WLAN_EID_OVERLAP_BSS_SCAN_PARAM
3)WLAN_EID_EXT_CAPABILITYSigned-off-by: Amitkumar Karwar
Signed-off-by: John W. Linville
12 Oct, 2010
1 commit
-
This patch updates IEEE802.11 mesh constants to be consistent with newly
approved values. It modifies some values, as well as adds many new constants
in preparation for updating mesh code to the current 802.11s drafts. ANA
numbers were taken from:
https://mentor.ieee.org/802.11/dcn/09/11-09-0031-12-0000-ana-database-assigned-number-authority.xlsA few notes are in order:
1. This will break backwards compatibility with existing Linux kernels as
over-the-air constants have changed.
2. Some old and obsolete constants have been retained for now as the mesh code
itself hasn't been updated yet to the new 802.11s draft. This was desired to
keep the existing mesh scheme working until it can be updated. Adding the
approved values is the first step in updating the mesh code.
3. Obsolete constants have been clearly marked.
4. All ANA approved 802.11s constants have been added.Signed-off-by: Steve deRosier
Signed-off-by: John W. Linville
20 Apr, 2010
1 commit
-
Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville
09 Apr, 2010
1 commit
-
Grouped mesh action codes together with the other action codes in
ieee80211.h.Signed-off-by: Javier Cardona
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville
08 Apr, 2010
1 commit
-
The aggregation code has a number of quirks, like
inventing an unneeded WLAN_BACK_TIMER value and
leaking memory under certain circumstances during
station destruction. Fix these issues by using
the regular aggregation session teardown code and
blocking new aggregation sessions, all before the
station is really destructed.As a side effect, this gets rid of the long code
block to destroy aggregation safely.Additionally, rename tid_state_rx which can only
have the values IDLE and OPERATIONAL to
tid_active_rx to make it easier to understand
that there is no bitwise stuff going on on the
RX side -- the TX side remains because it needs
to keep track of the driver and peer states.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
23 Jan, 2010
1 commit
-
ieee80211_hdrlen() should account account new HT Control field in 802.11
data frame header introduced by IEEE 802.11n standard.According to 802.11n-2009 HT Control field is present in data frames
when both of following are met:1. It is QoS data frame.
2. Order bit is set in Frame Control field.The change might be totally compatible with legacy non-11n aware frames,
because 802.11-2007 standard states that "all QoS STAs set this subfield
to 0".Signed-off-by: Andriy V. Tkachuk
Acked-by : Benoit Papillault
Signed-off-by: John W. Linville
13 Jan, 2010
3 commits
-
The header can be used to create qos nullfunc frames, for example.
Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville -
Add Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The
idea is that the data frames from the client trigger AP to send the buffered
frames with ACs which have U-APSD enabled. This decreases latency and makes it
possible to save even more power.Driver needs to use IEEE80211_HW_UAPSD to enable the feature. The current
implementation assumes that firmware takes care of the wakeup and
hardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported.Tested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running
various test traffic with ping.Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville -
Some hardware, for example wl1251 and wl1271, handle the transmission
of power save related frames in hardware, but the driver is responsible
for creating the templates. It's better to create the templates in mac80211,
that way all drivers can benefit from this.Add two new functions, ieee80211_pspoll_get() and ieee80211_nullfunc_get()
which drivers need to call to get the frame. Drivers are also responsible
for updating the templates after each association.Also new struct ieee80211_hdr_3addr is added to ieee80211.h to make it
easy to calculate length of the Nullfunc frame.Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville
29 Dec, 2009
2 commits
-
Currently, we insert all user-specified IEs before the HT
IE for association, and after the HT IE for probe requests.
For association, that's correct only if the user-specified
IEs are RSN only, incorrect in all other cases including
WPA. Change this to split apart the user-specified IEs in
two places for association: before the HT IE (e.g. RSN),
after the HT IE (generally empty right now I think?) and
after WMM (all other vendor-specific IEs). For probes,
split the IEs in different places to be correct according
to the spec.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
23 Dec, 2009
2 commits
-
IEEE-802.11n spec says the RX highest data rate field does
not specify the highest supported RX data rate if its not set.
Ignore it if not set then. Refer to section 7.3.56.4Cc: johannes@sipsolutions.net
Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
Enable spatial multiplexing in mac80211 by telling the
driver what to do and, where necessary, sending action
frames to the AP to update the requested SMPS mode.Also includes a trivial implementation for hwsim that
just logs the requested mode.For now, the userspace interface is in debugfs only,
and let you toggle the requested mode at any time.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
22 Dec, 2009
1 commit
-
I noticed yesterday, because Jeff had noticed
a speed regression, cf. bug
http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2138
that the SM PS settings for peers were wrong.
Instead of overwriting the SM PS settings with
the local bits, we need to keep the remote bits.The bug was part of the original HT code from
over two years ago, but unfortunately nobody
noticed that it makes no sense -- we shouldn't
be overwriting the peer's setting with our own
but rather keep it intact when masking the peer
capabilities with our own.While fixing that, I noticed that the masking of
capabilities is completely useless for most of
the bits, so also fix those other bits.Finally, I also noticed that PSMP_SUPPORT no
longer exists in the final 802.11n version, so
also remove that.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
29 Nov, 2009
1 commit
-
This is an interface to set, delete and flush PMKIDs through nl80211.
Main users would be fullmac devices which firmwares are capable of
generating the RSN IEs for the re-association requests, e.g. iwmc3200wifi.Signed-off-by: Samuel Ortiz
Signed-off-by: John W. Linville
19 Nov, 2009
1 commit
-
Signed-off-by: Rui Paulo
Signed-off-by: John W. Linville
14 Nov, 2009
1 commit
-
Process the RANN (Root Annoucement) Frame and try to find the HWMP
root station by sending a PREQ.Signed-off-by: Rui Paulo
Signed-off-by: Javier Cardona
Reviewed-by: Andrey Yurovsky
Tested-by: Brian Cavagnolo
Signed-off-by: John W. Linville
12 Nov, 2009
1 commit
-
This updates the Mesh Configuration IE according to the latest
draft (3.03).
Notable changes include the simplified protocol IDs.Signed-off-by: Rui Paulo
Signed-off-by: Javier Cardona
Reviewed-by: Andrey Yurovsky
Tested-by: Brian Cavagnolo
Signed-off-by: John W. Linville
31 Oct, 2009
1 commit
-
We drop nullfunc frames, but not qos-nullfunc frames,
even though those could be used for PS state control
as well.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
29 Aug, 2009
1 commit
-
The mesh config information element has changed significantly since draft 1.08
This patch brings it up to date.Thanks to Sam Leffler and Rui Paulo for identifying this.
Signed-off-by: Javier Cardona
Signed-off-by: John W. Linville
28 Jul, 2009
1 commit
-
Signed-off-by: Sujith
Acked-by: Johannes Berg
Signed-off-by: John W. Linville
11 Jul, 2009
1 commit
-
We'll need these values for some drivers using connect API
and for wext compat code, so let's define them.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
04 Jun, 2009
1 commit
-
Instead of hardcoding the key length for validation, use the
constants Zhu Yi recently added and add one for AES_CMAC too.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
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
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
07 May, 2009
1 commit
-
IEEE 802.11w/D8.0 changed the length of the SA Query transaction
identifier from 16 to 2 octets.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville
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 -
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