Date: Fri, 13 Jan 2017 07:08:14 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r312016 - head/sys/net80211 Message-ID: <201701130708.v0D78EPw011577@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Fri Jan 13 07:08:14 2017 New Revision: 312016 URL: https://svnweb.freebsd.org/changeset/base/312016 Log: [net80211] begin laying the groundwork for drivers to do their own sequence number management. I added IEEE80211_TX_LOCK() a few years ago because there were races between seqno allocation, driver queuing and crypto IV allocation. This meant that they'd appear out of sequence and the receiver would drop them, leading to terrible performance or flat out traffic hangs. This flag should be set by drivers that do their own sequence number allocation for all frames it needs to happen for, including beacon frames. Eventually this should lead to the driver taking care of locking for allocating seqno and other traffic-triggered events (eg addba setup.) Modified: head/sys/net80211/ieee80211_var.h Modified: head/sys/net80211/ieee80211_var.h ============================================================================== --- head/sys/net80211/ieee80211_var.h Fri Jan 13 07:02:04 2017 (r312015) +++ head/sys/net80211/ieee80211_var.h Fri Jan 13 07:08:14 2017 (r312016) @@ -629,11 +629,12 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_FEXT_PROBECHAN 0x00020000 /* CONF: probe passive channel*/ #define IEEE80211_FEXT_UNIQMAC 0x00040000 /* CONF: user or computed mac */ #define IEEE80211_FEXT_SCAN_OFFLOAD 0x00080000 /* CONF: scan is fully offloaded */ +#define IEEE80211_FEXT_SEQNO_OFFLOAD 0x00100000 /* CONF: driver does seqno insertion/allocation */ #define IEEE80211_FEXT_BITS \ "\20\2INACT\3SCANWAIT\4BGSCAN\5WPS\6TSN\7SCANREQ\10RESUME" \ "\0114ADDR\12NONEPR_PR\13SWBMISS\14DFS\15DOTD\16STATEWAIT\17REINIT" \ - "\20BPF\21WDSLEGACY\22PROBECHAN\23UNIQMAC\24SCAN_OFFLOAD" + "\20BPF\21WDSLEGACY\22PROBECHAN\23UNIQMAC\24SCAN_OFFLOAD\25SEQNO_OFFLOAD" /* ic_flags_ht/iv_flags_ht */ #define IEEE80211_FHT_NONHT_PR 0x00000001 /* STATUS: non-HT sta present */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701130708.v0D78EPw011577>