svn commit: r297404 - head/sys/net80211

Adrian Chadd adrian at FreeBSD.org
Wed Mar 30 00:42:19 UTC 2016


Author: adrian
Date: Wed Mar 30 00:42:18 2016
New Revision: 297404
URL: https://svnweb.freebsd.org/changeset/base/297404

Log:
  [net80211] Add fields to decode uAPSD fields.
  
  It turns out that madwifi actually has the basics for uAPSD implemented
  but it was never ported to FreeBSD.  I may eventually port most of the
  pieces; I'll see how it goes!
  
  Obtained from:	Madwifi

Modified:
  head/sys/net80211/ieee80211.h

Modified: head/sys/net80211/ieee80211.h
==============================================================================
--- head/sys/net80211/ieee80211.h	Wed Mar 30 00:03:59 2016	(r297403)
+++ head/sys/net80211/ieee80211.h	Wed Mar 30 00:42:18 2016	(r297404)
@@ -317,6 +317,27 @@ struct ieee80211_wme_param {
 } __packed;
 
 /*
+ * WME U-APSD qos info field defines
+ */
+#define	WME_CAPINFO_UAPSD_EN                    0x00000080
+#define	WME_CAPINFO_UAPSD_VO                    0x00000001
+#define	WME_CAPINFO_UAPSD_VI                    0x00000002
+#define	WME_CAPINFO_UAPSD_BK                    0x00000004
+#define	WME_CAPINFO_UAPSD_BE                    0x00000008
+#define	WME_CAPINFO_UAPSD_ACFLAGS_SHIFT         0
+#define	WME_CAPINFO_UAPSD_ACFLAGS_MASK          0xF
+#define	WME_CAPINFO_UAPSD_MAXSP_SHIFT           5
+#define	WME_CAPINFO_UAPSD_MAXSP_MASK            0x3
+#define	WME_CAPINFO_IE_OFFSET                   8
+#define	WME_UAPSD_MAXSP(_qosinfo)				\
+	    (((_qosinfo) >> WME_CAPINFO_UAPSD_MAXSP_SHIFT) &	\
+	    WME_CAPINFO_UAPSD_MAXSP_MASK)
+#define	WME_UAPSD_AC_ENABLED(_ac, _qosinfo)			\
+	    ((1 << (3 - (_ac))) & (				\
+	    ((_qosinfo) >> WME_CAPINFO_UAPSD_ACFLAGS_SHIFT) &	\
+	    WME_CAPINFO_UAPSD_ACFLAGS_MASK))
+
+/*
  * Management Notification Frame
  */
 struct ieee80211_mnf {


More information about the svn-src-head mailing list