summaryrefslogtreecommitdiff
path: root/sys/net80211
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2007-07-04 20:32:44 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2007-07-04 20:32:44 +0000
commit937542d8433043c4fcef846cfa233bb4feaab198 (patch)
tree9678819d6ce799c5b33ca482f550acb2ba7cd769 /sys/net80211
parent8de19ce8d29cc60e71067f20f88b8c7b19cd7608 (diff)
add subtype "Action" for management frames.
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211.h17
-rw-r--r--sys/net80211/ieee80211_proto.c4
2 files changed, 7 insertions, 14 deletions
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h
index f0633c5c3ae..bb81e52217a 100644
--- a/sys/net80211/ieee80211.h
+++ b/sys/net80211/ieee80211.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ieee80211.h,v 1.27 2007/07/03 15:22:15 claudio Exp $ */
+/* $OpenBSD: ieee80211.h,v 1.28 2007/07/04 20:32:43 damien Exp $ */
/* $NetBSD: ieee80211.h,v 1.6 2004/04/30 23:51:53 dyoung Exp $ */
/*-
@@ -140,6 +140,8 @@ struct ieee80211_mnf {
#define IEEE80211_FC0_SUBTYPE_DISASSOC 0xa0
#define IEEE80211_FC0_SUBTYPE_AUTH 0xb0
#define IEEE80211_FC0_SUBTYPE_DEAUTH 0xc0
+#define IEEE80211_FC0_SUBTYPE_ACTION 0xd0
+#define IEEE80211_FC0_SUBTYPE_ACTION_NOACK 0xe0 /* 802.11n/D2.00 */
/* for TYPE_CTL */
#define IEEE80211_FC0_SUBTYPE_PS_POLL 0xa0
#define IEEE80211_FC0_SUBTYPE_RTS 0xb0
@@ -401,17 +403,6 @@ enum ieee80211_edca_ac {
#define IEEE80211_OUI ((const u_int8_t[]){ 0x00, 0x0f, 0xac })
#define MICROSOFT_OUI ((const u_int8_t[]){ 0x00, 0x50, 0xf2 })
-/*
- * AUTH management packets
- *
- * octet algo[2]
- * octet seq[2]
- * octet status[2]
- * octet chal.id
- * octet chal.length
- * octet chal.text[253]
- */
-
#define IEEE80211_AUTH_ALGORITHM(auth) \
((auth)[0] | ((auth)[1] << 8))
#define IEEE80211_AUTH_TRANSACTION(auth) \
@@ -449,8 +440,10 @@ enum {
IEEE80211_REASON_ASSOC_LEAVE = 8,
IEEE80211_REASON_ASSOC_NOT_AUTHED = 9,
+ /* XXX the following two reason codes are not correct */
IEEE80211_REASON_RSN_REQUIRED = 11,
IEEE80211_REASON_RSN_INCONSISTENT = 12,
+
IEEE80211_REASON_IE_INVALID = 13,
IEEE80211_REASON_MIC_FAILURE = 14,
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c
index 5131302eba2..d1e3d858e49 100644
--- a/sys/net80211/ieee80211_proto.c
+++ b/sys/net80211/ieee80211_proto.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ieee80211_proto.c,v 1.18 2007/06/16 13:29:11 damien Exp $ */
+/* $OpenBSD: ieee80211_proto.c,v 1.19 2007/07/04 20:32:43 damien Exp $ */
/* $NetBSD: ieee80211_proto.c,v 1.8 2004/04/30 23:58:20 dyoung Exp $ */
/*-
@@ -67,7 +67,7 @@ const char * const ieee80211_mgt_subtype_name[] = {
"assoc_req", "assoc_resp", "reassoc_req", "reassoc_resp",
"probe_req", "probe_resp", "reserved#6", "reserved#7",
"beacon", "atim", "disassoc", "auth",
- "deauth", "reserved#13", "reserved#14", "reserved#15"
+ "deauth", "action", "action_noack", "reserved#15"
};
const char * const ieee80211_state_name[IEEE80211_S_MAX] = {
"INIT", /* IEEE80211_S_INIT */