[email protected]
[Top] [All Lists]

PERFORCE change 113984 for review

Subject: PERFORCE change 113984 for review
From: Sam Leffler
Date: Sun, 4 Feb 2007 07:03:49 GMT
http://perforce.freebsd.org/chv.cgi?CH=113984

Change 113984 by [email protected]_ebb on 2007/02/04 07:03:16

        some small bits of 11n

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211.h#15 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211.h#15 (text+ko) ====

@@ -129,7 +129,9 @@
 #define        IEEE80211_FC0_SUBTYPE_DISASSOC          0xa0
 #define        IEEE80211_FC0_SUBTYPE_AUTH              0xb0
 #define        IEEE80211_FC0_SUBTYPE_DEAUTH            0xc0
+#define        IEEE80211_FC0_SUBTYPE_ACTION            0xd0
 /* for TYPE_CTL */
+#define        IEEE80211_FC0_SUBTYPE_BAR               0x80
 #define        IEEE80211_FC0_SUBTYPE_PS_POLL           0xa0
 #define        IEEE80211_FC0_SUBTYPE_RTS               0xb0
 #define        IEEE80211_FC0_SUBTYPE_CTS               0xc0
@@ -233,6 +235,7 @@
 } __packed;
 
 #define WME_NUM_AC             4       /* 4 AC categories */
+#define        WME_NUM_TID             16      /* 16 tids */
 
 #define WME_PARAM_ACI          0x60    /* Mask for ACI field */
 #define WME_PARAM_ACI_S                5       /* Shift for ACI field */
@@ -286,6 +289,103 @@
 #define        MNF_SETUP_RESP  1
 #define        MNF_TEARDOWN    2
 
+/* 
+ * 802.11n Management Action Frames 
+ */
+/* generic frame format */
+struct ieee80211_action {
+       u_int8_t        ia_category;
+       u_int8_t        ia_action;
+} __packed;
+
+#define        IEEE80211_ACTION_CAT_QOS        0       /* QoS */
+#define        IEEE80211_ACTION_CAT_BA         3       /* BA */
+#define        IEEE80211_ACTION_CAT_HT         5       /* HT */
+
+#define        IEEE80211_ACTION_HT_TXCHWIDTH   0       /* recommended xmit 
chan width*/
+#define        IEEE80211_ACTION_HT_MIMOPWRSAVE 1       /* MIMO power save */
+
+/* HT - recommended transmission channel width */
+struct ieee80211_action_ht_txchwidth {
+       struct ieee80211_action at_header;
+       u_int8_t        at_chwidth;     
+} __packed;
+
+#define        IEEE80211_A_HT_TXCHWIDTH_20     0
+#define        IEEE80211_A_HT_TXCHWIDTH_2040   1
+
+/* HT - MIMO Power Save */
+struct ieee80211_action_ht_mimopowersave {
+       struct ieee80211_action am_header;
+       u_int8_t        am_enable;      
+       u_int8_t        am_mode;        
+} __packed;
+
+/* Block Ack actions */
+#define IEEE80211_ACTION_BA_ADDBA_REQUEST       0   /* ADDBA request */
+#define IEEE80211_ACTION_BA_ADDBA_RESPONSE      1   /* ADDBA response */
+#define IEEE80211_ACTION_BA_DELBA              2   /* DELBA */
+
+/* Block Ack Parameter Set */
+#define        IEEE80211_BAPS_BUFSIZ   0xffc0          /* buffer size */
+#define        IEEE80211_BAPS_BUFSIZ_S 6
+#define        IEEE80211_BAPS_TID      0x003c          /* TID */
+#define        IEEE80211_BAPS_TID_S    2
+#define        IEEE80211_BAPS_POLICY   0x0002          /* block ack policy */
+#define        IEEE80211_BAPS_POLICY_S 1
+
+#define        IEEE80211_BAPS_POLICY_DELAYED   (0<<IEEE80211_BAPS_POLICY_S)
+#define        IEEE80211_BAPS_POLICY_IMMEDIATE (1<<IEEE80211_BAPS_POLICY_S)
+
+/* Block Ack Sequence Control */
+#define        IEEE80211_BASEQ_START   0xfff0          /* starting seqnum */
+#define        IEEE80211_BASEQ_START_S 4
+#define        IEEE80211_BASEQ_FRAG    0x000f          /* fragment number */
+#define        IEEE80211_BASEQ_FRAG_S  0
+
+/* Delayed Block Ack Parameter Set */
+#define        IEEE80211_DELBAPS_TID   0xf000          /* TID */
+#define        IEEE80211_DELBAPS_TID_S 12
+#define        IEEE80211_DELBAPS_INIT  0x0800          /* initiator */
+#define        IEEE80211_DELBAPS_INIT_S 11
+
+/* BA - ADDBA request */
+struct ieee80211_action_ba_addbarequest {
+       struct ieee80211_action rq_header;
+       u_int8_t        rq_dialogtoken;
+       u_int16_t       rq_baparamset;
+       u_int16_t       rq_batimeout;           /* in TUs */
+       u_int16_t       rq_baseqctl;
+} __packed;
+
+/* BA - ADDBA response */
+struct ieee80211_action_ba_addbaresponse {
+       struct ieee80211_action rs_header;
+       u_int8_t        rs_dialogtoken;
+       u_int16_t       rs_statuscode;
+       u_int16_t       rs_baparamset; 
+       u_int16_t       rs_batimeout;           /* in TUs */
+} __packed;
+
+/* BA - DELBA */
+struct ieee80211_action_ba_delba {
+       struct ieee80211_action dl_header;
+       u_int16_t       dl_delbaparamset;
+       u_int16_t       dl_reasoncode;
+} __packed;
+
+/* BAR Control */
+#define        IEEE80211_BAR_TID       0xf000          /* TID */
+#define        IEEE80211_BAR_TID_S     12
+#define        IEEE80211_BAR_COMP      0x0004          /* compressed */
+#define        IEEE80211_BAR_MTID      0x0002
+#define        IEEE80211_BAR_NOACK     0x0001          /* no-ack policy */
+
+struct ieee80211_ba_request {
+       u_int16_t       rq_barctl;
+       u_int16_t       rq_barseqctl;
+} __packed;
+
 /*
  * Control frames.
  */
@@ -335,6 +435,16 @@
        /* FCS */
 } __packed;
 
+struct ieee80211_frame_bar {
+       u_int8_t        i_fc[2];
+       u_int8_t        i_dur[2];
+       u_int8_t        i_ra[IEEE80211_ADDR_LEN];
+       u_int8_t        i_ta[IEEE80211_ADDR_LEN];
+       u_int16_t       i_ctl;
+       u_int16_t       i_seq;
+       /* FCS */
+} __packed;
+
 /*
  * BEACON management packets
  *
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/p4-projects
To unsubscribe, send any mail to "[email protected]"

<Prev in Thread] Current Thread [Next in Thread>
  • PERFORCE change 113984 for review, Sam Leffler <=