Skip site navigation (1)Skip section navigation (2)
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>