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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.