freebsd-nq/sys/net80211
Adrian Chadd c3ebe01919 Do not check sequence number for QoS Null frames; set it for generated QoS Null
frames to 0

From IEEE Std. 802.11-2012, 8.3.2.1 "Data frame format", p. 415 (513):
"The Sequence Control field for QoS (+)Null frames is ignored by the receiver
upon reception."

At this moment, any <mode>_input() function interprets them as regular QoS data
frames with TID = 0. As a result, stations, that use another TX sequence for
QoS Null frames (e.g. wpi(4), where (QoS) Null frames are generated by the
firmware), may experience significant packet loss with any other NIC in hostap
mode.

Tested:

* wpi(4) (author)
* iwn(4) - Intel 5100, STA mode (me)

PR:		kern/200128
Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>
2015-05-12 16:55:50 +00:00
..
_ieee80211.h
ieee80211_acl.c
ieee80211_action.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
ieee80211_action.h
ieee80211_adhoc.c Do not check sequence number for QoS Null frames; set it for generated QoS Null 2015-05-12 16:55:50 +00:00
ieee80211_adhoc.h
ieee80211_ageq.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
ieee80211_ageq.h
ieee80211_alq.c - Provide necessary includes, that before came via if.h pollution. 2013-10-28 22:26:03 +00:00
ieee80211_alq.h
ieee80211_amrr.c After much toying around with this AMRR initial rate stuff, 2014-08-20 09:10:03 +00:00
ieee80211_amrr.h
ieee80211_crypto_ccmp.c
ieee80211_crypto_none.c
ieee80211_crypto_tkip.c
ieee80211_crypto_wep.c
ieee80211_crypto.c
ieee80211_crypto.h
ieee80211_ddb.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
ieee80211_dfs.c Include necessary headers that now are available due to pollution 2013-10-28 07:29:16 +00:00
ieee80211_dfs.h
ieee80211_freebsd.c Use SYSCTL_OUT_STR() to return strings. 2015-03-14 21:41:00 +00:00
ieee80211_freebsd.h Fix string concatenation - "wlan_##name" -> "wlan_" #name 2015-05-04 00:47:22 +00:00
ieee80211_hostap.c Do not check sequence number for QoS Null frames; set it for generated QoS Null 2015-05-12 16:55:50 +00:00
ieee80211_hostap.h
ieee80211_ht.c Attempt to address Bug #176201 - don't advertise what the AP announced 2015-05-10 06:57:53 +00:00
ieee80211_ht.h
ieee80211_hwmp.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
ieee80211_input.c Mechanically convert to if_inc_counter(). 2014-09-19 09:20:55 +00:00
ieee80211_input.h Do not check sequence number for QoS Null frames; set it for generated QoS Null 2015-05-12 16:55:50 +00:00
ieee80211_ioctl.c Use logical rather than bitwise OR in if() expression. 2014-04-26 23:22:49 +00:00
ieee80211_ioctl.h
ieee80211_mesh.c Prepare for supporting driver-overridden curchan when submitting scan 2015-05-10 22:07:53 +00:00
ieee80211_mesh.h
ieee80211_monitor.c Mechanically convert to if_inc_counter(). 2014-09-19 09:20:55 +00:00
ieee80211_monitor.h
ieee80211_node.c Add node_clear_keyixmap() and use it in the ieee80211_free_node() / node_reclaim(). 2015-05-04 00:29:19 +00:00
ieee80211_node.h
ieee80211_output.c Do not check sequence number for QoS Null frames; set it for generated QoS Null 2015-05-12 16:55:50 +00:00
ieee80211_phy.c Provide includes that are needed in these files, and before were read 2013-10-26 18:18:50 +00:00
ieee80211_phy.h
ieee80211_power.c Update ieee80211_sta_tim_notify() to do double duty - handle STA sleep 2014-12-21 04:58:45 +00:00
ieee80211_power.h Begin fleshing out support for net80211 provided (legacy) sleep management. 2014-04-24 01:39:53 +00:00
ieee80211_proto.c Rename definition of IEEE80211_FC1_WEP to IEEE80211_FC1_PROTECTED. 2014-01-08 08:06:56 +00:00
ieee80211_proto.h Make ieee80211_add_ssid() public. 2014-12-19 01:39:58 +00:00
ieee80211_radiotap.c Include necessary headers that now are available due to pollution 2013-10-28 07:29:16 +00:00
ieee80211_radiotap.h
ieee80211_ratectl_none.c Provide includes that are needed in these files, and before were read 2013-10-26 18:18:50 +00:00
ieee80211_ratectl.c Provide includes that are needed in these files, and before were read 2013-10-26 18:18:50 +00:00
ieee80211_ratectl.h Switch around the order of static inline to be in line with how it's 2015-01-11 18:43:45 +00:00
ieee80211_regdomain.c Include necessary headers that now are available due to pollution 2013-10-28 07:29:16 +00:00
ieee80211_regdomain.h
ieee80211_rssadapt.c Include necessary headers that now are available due to pollution 2013-10-28 07:29:16 +00:00
ieee80211_rssadapt.h
ieee80211_scan_sta.c Prepare for supporting driver-overridden curchan when submitting scan 2015-05-10 22:07:53 +00:00
ieee80211_scan_sw.c Prepare for supporting driver-overridden curchan when submitting scan 2015-05-10 22:07:53 +00:00
ieee80211_scan_sw.h Prepare for supporting driver-overridden curchan when submitting scan 2015-05-10 22:07:53 +00:00
ieee80211_scan.c Prepare for supporting driver-overridden curchan when submitting scan 2015-05-10 22:07:53 +00:00
ieee80211_scan.h Prepare for supporting driver-overridden curchan when submitting scan 2015-05-10 22:07:53 +00:00
ieee80211_sta.c Do not check sequence number for QoS Null frames; set it for generated QoS Null 2015-05-12 16:55:50 +00:00
ieee80211_sta.h
ieee80211_superg.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
ieee80211_superg.h
ieee80211_tdma.c Don't return ENOTSUPP here - the net80211 pluggable ioctl API will treat 2013-08-18 23:40:30 +00:00
ieee80211_tdma.h
ieee80211_var.h Global-ify channel_type() - this fixes non-debug net80211 builds. 2015-01-06 18:25:10 +00:00
ieee80211_wds.c Do not check sequence number for QoS Null frames; set it for generated QoS Null 2015-05-12 16:55:50 +00:00
ieee80211_wds.h
ieee80211_xauth.c
ieee80211.c Global-ify channel_type() - this fixes non-debug net80211 builds. 2015-01-06 18:25:10 +00:00
ieee80211.h Do not check sequence number for QoS Null frames; set it for generated QoS Null 2015-05-12 16:55:50 +00:00