From: Vladimir Kondratiev <vkondra@mail.ru>
To: netdev@oss.sgi.com
Cc: "Luis R. Rodriguez" <mcgrof@studorgs.rutgers.edu>,
Jeff Garzik <jgarzik@pobox.com>,
Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua>,
Jean Tourrilhes <jt@bougret.hpl.hp.com>,
Jouni Malinen <jkmaline@cc.hut.fi>,
acx100-devel@lists.sourceforge.net, prism54-devel@prism54.org,
davem@redhat.com
Subject: Re: [RFC] acx100 inclusion in mainline; generic 802.11 stack
Date: Wed, 1 Sep 2004 01:06:43 +0300 [thread overview]
Message-ID: <200409010106.54020.vkondra@mail.ru> (raw)
In-Reply-To: <20040831213719.GH31207@ruslug.rutgers.edu>
[-- Attachment #1.1: Type: text/plain, Size: 779 bytes --]
<skip>
http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/davem-p80211.tar.bz2
<skip>
LR> > - QoS stuff is not defined. I suppose recent cards will all support WME
and/or LR> > TGe. It is easy to add "QoS control" field to header and new
frame types, but LR> > it is harder to formally define how PHY should handle
it. And, TGe is big LR> > story on itself, with all its HCCA, block ack,
etc. I also think that QoS, as LR> > it is defined in TGe, required driver
to have several tx queues and LR> > start/stop them separately. Is anyone
working on it? I'll be glad to join. LR> >
I'd like to contribute easiest part of TGe, to start with something (against
source mentioned above). I defined only frame formats and bits for fixed
fields.
[-- Attachment #1.2: tge.patch --]
[-- Type: text/x-diff, Size: 3682 bytes --]
Index: if_80211.h
===================================================================
RCS file: /home/vkondra-l/cvsroot/p80211/if_80211.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 if_80211.h
--- if_80211.h 31 Aug 2004 20:32:16 -0000 1.1.1.1
+++ if_80211.h 31 Aug 2004 21:29:58 -0000
@@ -31,6 +31,27 @@
u8 addr4[ETH_ALEN];
};
+struct ieee802_11_hdrq {
+ u16 frame_ctl;
+ u16 duration_id;
+ u8 addr1[ETH_ALEN];
+ u8 addr2[ETH_ALEN];
+ u8 addr3[ETH_ALEN];
+ u16 seq_ctl;
+ u16 qos_ctl;
+};
+
+struct ieee802_11_hdr4q {
+ u16 frame_ctl;
+ u16 duration_id;
+ u8 addr1[ETH_ALEN];
+ u8 addr2[ETH_ALEN];
+ u8 addr3[ETH_ALEN];
+ u16 seq_ctl;
+ u8 addr4[ETH_ALEN];
+ u16 qos_ctl;
+};
+
/* Address field usage based upon setting of FROMDS/TODS bits:
*
* FROMDS TODS addr1 addr2 addr3 addr4
@@ -78,8 +99,11 @@
#define IEEE802_11_STYPE_DISASSOC 0x00A0
#define IEEE802_11_STYPE_AUTH 0x00B0
#define IEEE802_11_STYPE_DEAUTH 0x00C0
+#define IEEE802_11_STYPE_ACTION 0x00D0
/* control */
+#define IEEE802_11_STYPE_BACK_REQ 0x0080
+#define IEEE802_11_STYPE_BACK 0x0090
#define IEEE802_11_STYPE_PSPOLL 0x00A0
#define IEEE802_11_STYPE_RTS 0x00B0
#define IEEE802_11_STYPE_CTS 0x00C0
@@ -96,11 +120,51 @@
#define IEEE802_11_STYPE_CFACK 0x0050
#define IEEE802_11_STYPE_CFPOLL 0x0060
#define IEEE802_11_STYPE_CFACKPOLL 0x0070
+#define IEEE802_11_STYPE_QDATA 0x0080
+#define IEEE802_11_STYPE_QDATA_CFACK 0x0090
+#define IEEE802_11_STYPE_QDATA_CFPOLL 0x00A0
+#define IEEE802_11_STYPE_QDATA_CFACKPOLL 0x00B0
+#define IEEE802_11_STYPE_QNULLFUNC 0x00C0
+#define IEEE802_11_STYPE_QCFACK 0x00D0
+#define IEEE802_11_STYPE_QCFPOLL 0x00E0
+#define IEEE802_11_STYPE_QCFACKPOLL 0x00F0
#define IEEE802_11_SCTL_FRAG 0x000F
#define IEEE802_11_SCTL_SEQ 0xFFF0
#define IEEE802_11_SCTL_SEQ_SHIFT 4
+/** QOS control field bits usage
+ * Frame 0..3 4 5..6 7 8..15
+ *
+ * QoS (+)CF-Poll TID EOSP Ack_policy rsrv TXOP limit
+ * sent by HC
+ *
+ * QoS Data, QoS Null, TID EOSP Ack_policy rsrv QAP PS buffer size
+ * QoS CF-Ack,
+ * QoS Data + CF-Ack
+ * sent by HC
+ *
+ * QoS Data sent by TID 0 Ack_policy rsrv TXOP duration requested
+ * non-AP QSTA TID 1 Ack_policy rsrv Queue size
+ *
+ */
+#define IEEE802_11_QCTL_FRAG 0x000F
+#define IEEE802_11_QCTL_EOSP 0x0010
+#define IEEE802_11_QCTL_ACK 0x0060
+#define IEEE802_11_QCTL_VAL 0xFF00
+
+/* bits for ack policy */
+#define IEEE802_11_QCTL_ACK_NORM 0x0000 /* normal Ack */
+#define IEEE802_11_QCTL_ACK_NO 0x0020 /* No ack */
+#define IEEE802_11_QCTL_ACK_NEXP 0x0040 /* No explicit Ack */
+#define IEEE802_11_QCTL_ACK_BLK 0x0060 /* Block Ack */
+
+/* bits for QAP PS buffer size */
+#define IEEE802_11_QCTL_PSBUF_PRESENT 0x0200 /* next fields present */
+#define IEEE802_11_QCTL_PSBUF_HI_AC 0x0C00 /* highest AC buffered */
+#define IEEE802_11_QCTL_PSBUF_BUF 0xF000 /* total buffered payload */
+
+
struct ieee802_11_snap {
u8 dsap;
u8 ssap;
@@ -119,6 +183,14 @@
#define IEEE802_11_TLV_TYPE_TIM 5
#define IEEE802_11_TLV_TYPE_IBSSPARMS 6
#define IEEE802_11_TLV_TYPE_COUNTRY 7
+#define IEEE802_11_TLV_TYPE_QBSS_LOAD 11
+#define IEEE802_11_TLV_TYPE_EDCA 12
+#define IEEE802_11_TLV_TYPE_TSPEC 13
+#define IEEE802_11_TLV_TYPE_TCLAS 14
+#define IEEE802_11_TLV_TYPE_SCHED 15
+#define IEEE802_11_TLV_TYPE_TS_DELAY 43
+#define IEEE802_11_TLV_TYPE_TC_PROC 44
+#define IEEE802_11_TLV_TYPE_QOS_CAP 46
#define IEEE802_11_TLV_TYPE_XRATES 50
#define IEEE802_11_MAX_RATES 8
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2004-08-31 22:06 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-31 18:11 [RFC] acx100 inclusion in mainline; generic 802.11 stack Denis Vlasenko
2004-08-31 18:21 ` Jeff Garzik
2004-08-31 19:14 ` Vladimir Kondratiev
2004-08-31 21:37 ` Luis R. Rodriguez
2004-08-31 22:06 ` Vladimir Kondratiev [this message]
2004-09-01 2:22 ` Jouni Malinen
2004-09-02 20:24 ` Vladimir Kondratiev
2004-09-02 20:33 ` Jeff Garzik
2004-09-03 17:37 ` Vladimir Kondratiev
2004-09-03 20:29 ` Jeff Garzik
2004-09-06 18:13 ` Sam Leffler
2004-09-06 18:57 ` Vladimir Kondratiev
2004-09-06 19:30 ` Sam Leffler
2004-09-06 20:09 ` Vladimir Kondratiev
2004-09-06 23:04 ` Sam Leffler
2004-09-07 1:23 ` David S. Miller
2004-09-07 4:32 ` Sam Leffler
2004-09-07 6:47 ` David S. Miller
2004-09-07 17:22 ` Vladimir Kondratiev
2004-09-07 17:32 ` David S. Miller
2004-09-07 18:06 ` Vladimir Kondratiev
2004-09-07 18:08 ` David S. Miller
2004-09-07 18:41 ` Vladimir Kondratiev
2004-09-07 19:10 ` David S. Miller
2004-09-07 19:54 ` Vladimir Kondratiev
2004-09-09 2:40 ` Sam Leffler
2004-09-09 4:36 ` Luis R. Rodriguez
2004-09-07 17:03 ` [RFC] acx100 inclusion in mainline; " greg chesson
2004-09-07 17:10 ` David S. Miller
2004-09-07 18:14 ` greg chesson
2004-09-07 18:16 ` David S. Miller
2004-09-08 7:38 ` jamal
2004-09-08 16:02 ` greg chesson
2004-09-08 19:51 ` Vladimir Kondratiev
2004-09-08 20:52 ` greg chesson
2004-09-08 21:54 ` Vladimir Kondratiev
2004-09-09 17:06 ` greg chesson
2004-09-12 18:03 ` Vladimir Kondratiev
2004-09-13 0:09 ` Jeff Garzik
2004-09-13 0:45 ` David S. Miller
2004-09-15 17:57 ` James Ketrenos
2004-09-13 0:14 ` David S. Miller
2004-09-13 5:39 ` Vladimir Kondratiev
2004-09-13 5:50 ` Jeff Garzik
2004-09-13 23:21 ` David S. Miller
2004-09-14 5:14 ` Vladimir Kondratiev
2004-09-14 5:35 ` David S. Miller
2004-09-14 23:55 ` Luis R. Rodriguez
2004-09-15 0:11 ` Jeff Garzik
2004-09-15 0:51 ` greg chesson
2004-09-15 1:19 ` Jeff Garzik
2004-09-15 3:02 ` Luis R. Rodriguez
2004-09-15 3:05 ` Jeff Garzik
2004-09-15 3:17 ` Luis R. Rodriguez
2004-09-15 5:44 ` Vladimir Kondratiev
2004-09-15 14:47 ` greg chesson
2004-09-15 15:55 ` David S. Miller
2004-09-15 16:48 ` Sam Leffler
2004-09-15 17:06 ` David S. Miller
2004-09-28 12:20 ` [RFC] acx100 inclusion in mainline; " Luis R. Rodriguez
2004-09-28 20:29 ` Vladimir Kondratiev
2004-09-29 0:48 ` Luis R. Rodriguez
2004-09-29 7:10 ` Vladimir Kondratiev
2004-09-29 8:00 ` Luis R. Rodriguez
2004-10-01 14:30 ` Vladimir Kondratiev
2004-10-01 22:53 ` David S. Miller
2004-10-01 23:25 ` Vladimir Kondratiev
2004-10-02 0:11 ` David S. Miller
2004-09-08 21:19 ` [Acx100-devel] Re: [RFC] acx100 inclusion in mainline; " Denis Vlasenko
2004-09-09 3:31 ` Sam Leffler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200409010106.54020.vkondra@mail.ru \
--to=vkondra@mail.ru \
--cc=acx100-devel@lists.sourceforge.net \
--cc=davem@redhat.com \
--cc=jgarzik@pobox.com \
--cc=jkmaline@cc.hut.fi \
--cc=jt@bougret.hpl.hp.com \
--cc=mcgrof@studorgs.rutgers.edu \
--cc=netdev@oss.sgi.com \
--cc=prism54-devel@prism54.org \
--cc=vda@port.imtp.ilyichevsk.odessa.ua \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).