wireless: various definitions for mesh networking
authorLuis Carlos Cobo <luisca@cozybit.com>
Sat, 23 Feb 2008 14:17:04 +0000 (15:17 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 6 Mar 2008 20:30:40 +0000 (15:30 -0500)
Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/linux/ieee80211.h

index f577c8f..f27d11a 100644 (file)
@@ -97,6 +97,7 @@
 #define IEEE80211_MAX_FRAME_LEN                2352
 
 #define IEEE80211_MAX_SSID_LEN         32
+#define IEEE80211_MAX_MESH_ID_LEN      32
 
 struct ieee80211_hdr {
        __le16 frame_control;
@@ -109,6 +110,16 @@ struct ieee80211_hdr {
 } __attribute__ ((packed));
 
 
+struct ieee80211s_hdr {
+       u8 flags;
+       u8 ttl;
+       u8 seqnum[3];
+       u8 eaddr1[6];
+       u8 eaddr2[6];
+       u8 eaddr3[6];
+} __attribute__ ((packed));
+
+
 struct ieee80211_mgmt {
        __le16 frame_control;
        __le16 duration;
@@ -206,6 +217,23 @@ struct ieee80211_mgmt {
                                        __le16 params;
                                        __le16 reason_code;
                                } __attribute__((packed)) delba;
+                               struct{
+                                       u8 action_code;
+                                       /* capab_info for open and confirm,
+                                        * reason for close
+                                        */
+                                       __le16 aux;
+                                       /* Followed in plink_confirm by status
+                                        * code, AID and supported rates,
+                                        * and directly by supported rates in
+                                        * plink_open and plink_close
+                                        */
+                                       u8 variable[0];
+                               } __attribute__((packed)) plink_action;
+                               struct{
+                                       u8 action_code;
+                                       u8 variable[0];
+                               } __attribute__((packed)) mesh_action;
                        } u;
                } __attribute__ ((packed)) action;
        } u;
@@ -437,6 +465,13 @@ enum ieee80211_eid {
        WLAN_EID_TS_DELAY = 43,
        WLAN_EID_TCLAS_PROCESSING = 44,
        WLAN_EID_QOS_CAPA = 46,
+       /* 802.11s */
+       WLAN_EID_MESH_CONFIG = 36,      /* Pending IEEE 802.11 ANA approval */
+       WLAN_EID_MESH_ID = 37,          /* Pending IEEE 802.11 ANA approval */
+       WLAN_EID_PEER_LINK = 40,        /* Pending IEEE 802.11 ANA approval */
+       WLAN_EID_PREQ = 53,             /* Pending IEEE 802.11 ANA approval */
+       WLAN_EID_PREP = 54,             /* Pending IEEE 802.11 ANA approval */
+       WLAN_EID_PERR = 55,             /* Pending IEEE 802.11 ANA approval */
        /* 802.11h */
        WLAN_EID_PWR_CONSTRAINT = 32,
        WLAN_EID_PWR_CAPABILITY = 33,