linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 4/5] IEEE 802.11n management action frame data structures
@ 2007-03-26 11:42 mohamed
  2007-03-26 23:45 ` Randy Dunlap
  0 siblings, 1 reply; 4+ messages in thread
From: mohamed @ 2007-03-26 11:42 UTC (permalink / raw)
  To: linux-wireless; +Cc: linville

Add draft IEEE 802.11n management action frame data structures and
constants

Several Action frame format are defined to support IEEE 802.11n
features. 
This patch add the data structure for Block Ack management action frame.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>

diff -Nupr wireless-dev/include/linux/ieee80211.h
wireless-dev-new/include/linux/ieee80211.h
--- wireless-dev/include/linux/ieee80211.h	2007-03-23 13:25:24.000000000
-0700
+++ wireless-dev-new/include/linux/ieee80211.h	2007-03-23
13:43:21.000000000 -0700
@@ -105,6 +105,19 @@ struct ieee80211_hdr {
 } __attribute__ ((packed));
 
 
+struct ieee802_11_addba_param {
+	 __le16 reserved:1;
+	 __le16 backPolicy:1;
+	 __le16 tid:4;
+	 __le16 bufSize:10;
+} __attribute__ ((packed));
+
+struct ieee80211_delba_param {
+	 __le16 reserved:11;
+	 __le16 intiator:1;
+	 __le16 tid:4;
+}__attribute__ ((packed));
+
 struct ieee80211_ht_capability {
 	__le16 capabilitiesInfo;
 	u8 mac_ht_params_info;
@@ -200,6 +213,25 @@ struct ieee80211_mgmt {
 					__u8 new_chan;
 					__u8 switch_count;
 				} __attribute__((packed)) chan_switch;
+				struct{
+					u8 action_code;
+					u8 dialog_token;
+					struct ieee802_11_addba_param capab;
+					__le16 timeout;
+					__le16 start_seq_num;
+				} __attribute__((packed)) addba_req;
+				struct{
+					u8 action_code;
+					u8 dialog_token;
+					__le16 status;
+					struct ieee802_11_addba_param capab;
+					__le16 timeout;
+				} __attribute__((packed)) addba_resp;
+				struct{
+					u8 action_code;	
+					struct ieee80211_delba_param params;
+					__le16 reason_code;
+				}__attribute__((packed)) delba;
 			} u;
 		} __attribute__ ((packed)) action;
 	} u;
@@ -266,6 +298,8 @@ enum ieee80211_statuscode {
 	/* 802.11g */
 	WLAN_STATUS_ASSOC_DENIED_NOSHORTTIME = 25,
 	WLAN_STATUS_ASSOC_DENIED_NODSSSOFDM = 26,
+	/* 802.11e */
+	WLAN_STATUS_REQUEST_DECLINED = 37,
 	/* 802.11i */
 	WLAN_STATUS_INVALID_IE = 40,
 	WLAN_STATUS_INVALID_GROUP_CIPHER = 41,
@@ -307,6 +341,23 @@ enum ieee80211_reasoncode {
 };
 
 
+/* Category Code */
+enum ieee80211_category {
+	WLAN_CATEGORY_SPECTRUM_MGMT = 0,
+	WLAN_CATEGORY_QOS = 1,
+	WLAN_CATEGORY_DLS = 2,
+	WLAN_CATEGORY_BACK = 3,
+	WLAN_CATEGORY_WMM = 17,
+};
+
+
+/* BACK Action Code */
+enum ieee80211_back_actioncode {
+	WLAN_ACTION_ADDBA_REQ = 0,
+	WLAN_ACTION_ADDBA_RESP = 1,
+	WLAN_ACTION_DELBA = 2,
+};
+
 /* Information Element IDs */
 enum ieee80211_eid {
 	WLAN_EID_SSID = 0,

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch 4/5] IEEE 802.11n management action frame data  structures
  2007-03-26 11:42 [patch 4/5] IEEE 802.11n management action frame data structures mohamed
@ 2007-03-26 23:45 ` Randy Dunlap
  2007-03-28 19:12   ` Johannes Berg
  2007-04-04 10:37   ` mabbas
  0 siblings, 2 replies; 4+ messages in thread
From: Randy Dunlap @ 2007-03-26 23:45 UTC (permalink / raw)
  To: mohamed; +Cc: linux-wireless, linville

On Mon, 26 Mar 2007 04:42:22 -0700 mohamed wrote:

> Add draft IEEE 802.11n management action frame data structures and
> constants
> 
> Several Action frame format are defined to support IEEE 802.11n
> features. 
> This patch add the data structure for Block Ack management action frame.
> 
> Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
> 
> diff -Nupr wireless-dev/include/linux/ieee80211.h
> wireless-dev-new/include/linux/ieee80211.h
> --- wireless-dev/include/linux/ieee80211.h	2007-03-23 13:25:24.000000000
> -0700
> +++ wireless-dev-new/include/linux/ieee80211.h	2007-03-23
> 13:43:21.000000000 -0700
> @@ -105,6 +105,19 @@ struct ieee80211_hdr {
>  } __attribute__ ((packed));
>  
>  
> +struct ieee802_11_addba_param {
> +	 __le16 reserved:1;
> +	 __le16 backPolicy:1;
> +	 __le16 tid:4;
> +	 __le16 bufSize:10;
> +} __attribute__ ((packed));
> +
> +struct ieee80211_delba_param {
> +	 __le16 reserved:11;
> +	 __le16 intiator:1;
> +	 __le16 tid:4;
> +}__attribute__ ((packed));

These bitfields are all local to one machine, not transported
across a network to systems where the bitfields may be represented
differently?


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch 4/5] IEEE 802.11n management action frame data   structures
  2007-03-26 23:45 ` Randy Dunlap
@ 2007-03-28 19:12   ` Johannes Berg
  2007-04-04 10:37   ` mabbas
  1 sibling, 0 replies; 4+ messages in thread
From: Johannes Berg @ 2007-03-28 19:12 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: mohamed, linux-wireless, linville

[-- Attachment #1: Type: text/plain, Size: 647 bytes --]

On Mon, 2007-03-26 at 16:45 -0700, Randy Dunlap wrote:

> > +struct ieee802_11_addba_param {
> > +	 __le16 reserved:1;
> > +	 __le16 backPolicy:1;
> > +	 __le16 tid:4;
> > +	 __le16 bufSize:10;
> > +} __attribute__ ((packed));
> > +
> > +struct ieee80211_delba_param {
> > +	 __le16 reserved:11;
> > +	 __le16 intiator:1;
> > +	 __le16 tid:4;
> > +}__attribute__ ((packed));
> 
> These bitfields are all local to one machine, not transported
> across a network to systems where the bitfields may be represented
> differently?

You wish. No, these bitfields need to die, this is actually part of the
"wire" format.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 190 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch 4/5] IEEE 802.11n management action frame data structures
  2007-03-26 23:45 ` Randy Dunlap
  2007-03-28 19:12   ` Johannes Berg
@ 2007-04-04 10:37   ` mabbas
  1 sibling, 0 replies; 4+ messages in thread
From: mabbas @ 2007-04-04 10:37 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: linux-wireless, linville, mabbas

modified patch at the end

Randy Dunlap wrote:
> On Mon, 26 Mar 2007 04:42:22 -0700 mohamed wrote:
>
>   
>>  
>> +struct ieee802_11_addba_param {
>> +	 __le16 reserved:1;
>> +	 __le16 backPolicy:1;
>> +	 __le16 tid:4;
>> +	 __le16 bufSize:10;
>> +} __attribute__ ((packed));
>> +
>> +struct ieee80211_delba_param {
>> +	 __le16 reserved:11;
>> +	 __le16 intiator:1;
>> +	 __le16 tid:4;
>> +}__attribute__ ((packed));
>>     
>
> These bitfields are all local to one machine, not transported
> across a network to systems where the bitfields may be represented
> differently?
>
>
>   


Add draft IEEE 802.11n management action frame data structures and constants

Several Action frame format are defined to support IEEE 802.11n features.
This patch add the data structure for Block Ack management action frame.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>

diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index 6bf824b..6d2c20e 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -201,6 +201,25 @@ struct ieee80211_mgmt {
 					__u8 new_chan;
 					__u8 switch_count;
 				} __attribute__((packed)) chan_switch;
+				struct{
+					u8 action_code;
+					u8 dialog_token;
+					__le16 capab;
+					__le16 timeout;
+					__le16 start_seq_num;
+				} __attribute__((packed)) addba_req;
+				struct{
+					u8 action_code;
+					u8 dialog_token;
+					__le16 status;
+					__le16 capab;
+					__le16 timeout;
+				} __attribute__((packed)) addba_resp;
+				struct{
+					u8 action_code;	
+					__le16 params;
+					__le16 reason_code;
+				}__attribute__((packed)) delba;
 			} u;
 		} __attribute__ ((packed)) action;
 	} u;
@@ -268,6 +287,8 @@ enum ieee80211_statuscode {
 	/* 802.11g */
 	WLAN_STATUS_ASSOC_DENIED_NOSHORTTIME = 25,
 	WLAN_STATUS_ASSOC_DENIED_NODSSSOFDM = 26,
+	/* 802.11e */
+	WLAN_STATUS_REQUEST_DECLINED = 37,
 	/* 802.11i */
 	WLAN_STATUS_INVALID_IE = 40,
 	WLAN_STATUS_INVALID_GROUP_CIPHER = 41,
@@ -309,6 +330,23 @@ enum ieee80211_reasoncode {
 };
 
 
+/* Category Code */
+enum ieee80211_category {
+	WLAN_CATEGORY_SPECTRUM_MGMT = 0,
+	WLAN_CATEGORY_QOS = 1,
+	WLAN_CATEGORY_DLS = 2,
+	WLAN_CATEGORY_BACK = 3,
+	WLAN_CATEGORY_WMM = 17,
+};
+
+
+/* BACK Action Code */
+enum ieee80211_back_actioncode {
+	WLAN_ACTION_ADDBA_REQ = 0,
+	WLAN_ACTION_ADDBA_RESP = 1,
+	WLAN_ACTION_DELBA = 2,
+};
+
 /* Information Element IDs */
 enum ieee80211_eid {
 	WLAN_EID_SSID = 0,

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-04-03 22:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-26 11:42 [patch 4/5] IEEE 802.11n management action frame data structures mohamed
2007-03-26 23:45 ` Randy Dunlap
2007-03-28 19:12   ` Johannes Berg
2007-04-04 10:37   ` mabbas

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).