All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.