TDLS : Host Changes supporting PUAPSD implementation.
This commit has the host changes to support the PUAPSD
implementation in the firmware.
Change-Id: I60a33f8067ea316d5179374cf6ec41400ceabbf2
CRs-fixed: 488980
diff --git a/CORE/MAC/inc/aniGlobal.h b/CORE/MAC/inc/aniGlobal.h
index fd78b7a..1c6aba9 100644
--- a/CORE/MAC/inc/aniGlobal.h
+++ b/CORE/MAC/inc/aniGlobal.h
@@ -664,6 +664,8 @@
tLimAdmitPolicyInfo admitPolicyInfo;
vos_lock_t lkPeGlobalLock;
tANI_U8 disableLDPCWithTxbfAP;
+ tANI_U8 gLimTDLSBufStaEnabled;
+ tANI_U8 gLimTDLSUapsdMask;
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h
index 8d324c6..0dfddd0 100644
--- a/CORE/MAC/inc/sirApi.h
+++ b/CORE/MAC/inc/sirApi.h
@@ -2319,6 +2319,14 @@
tANI_U32 bssIdx;
} tSirP2PNoaStart, *tpSirP2PNoaStart;
+typedef struct sSirTdlsInd
+{
+ tANI_U16 status;
+ tANI_U16 assocId;
+ tANI_U16 staIdx;
+ tANI_U16 reasonCode;
+} tSirTdlsInd, *tpSirTdlsInd;
+
typedef struct sSirP2PNoaAttr
{
#ifdef ANI_BIG_BYTE_ENDIAN
@@ -3877,6 +3885,33 @@
tANI_U8 bcastSig;
eTdlsAddOper tdlsAddOper;
} tSirTdlsAddStaRsp ;
+
+/* TDLS Request struct SME-->PE */
+typedef struct
+{
+ tANI_U16 messageType; // eWNI_SME_TDLS_LINK_ESTABLISH_REQ
+ tANI_U16 length;
+ tANI_U8 sessionId; // Session ID
+ tANI_U16 transactionId; // Transaction ID for cmd
+ tANI_U8 uapsdQueues; // Peer's uapsd Queues Information
+ tANI_U8 maxSp; // Peer's Supported Maximum Service Period
+ tANI_U8 isBufSta; // Does Peer Support as Buffer Station.
+ tANI_U8 isResponder; // Is Peer a responder.
+ tSirMacAddr bssid; // For multi-session, for PE to locate peSession ID
+ tSirMacAddr peerMac;
+}tSirTdlsLinkEstablishReq, *tpSirTdlsLinkEstablishReq;
+
+/* TDLS Request struct SME-->PE */
+typedef struct
+{
+ tANI_U16 messageType; // eWNI_SME_TDLS_LINK_ESTABLISH_RSP
+ tANI_U16 length;
+ tANI_U8 sessionId; // Session ID
+ tANI_U16 transactionId; // Transaction ID for cmd
+ tSirResultCodes statusCode;
+ tSirMacAddr peerMac;
+}tSirTdlsLinkEstablishReqRsp, *tpSirTdlsLinkEstablishReqRsp;
+
/* TDLS Request struct SME-->PE */
typedef struct sSirTdlsDelStaReq
{
diff --git a/CORE/MAC/inc/wniApi.h b/CORE/MAC/inc/wniApi.h
index 8c1ca67..129b8d7 100644
--- a/CORE/MAC/inc/wniApi.h
+++ b/CORE/MAC/inc/wniApi.h
@@ -347,6 +347,8 @@
#ifdef FEATURE_WLAN_TDLS_OXYGEN_DISAPPEAR_AP
eWNI_SME_TDLS_AP_DISAPPEAR_IND,
#endif
+ eWNI_SME_TDLS_LINK_ESTABLISH_REQ,
+ eWNI_SME_TDLS_LINK_ESTABLISH_RSP,
#endif
//NOTE: If you are planning to add more mesages, please make sure that
//SIR_LIM_ITC_MSG_TYPES_BEGIN is moved appropriately. It is set as
diff --git a/CORE/MAC/inc/wniCfgAp.h b/CORE/MAC/inc/wniCfgAp.h
index 615ff73..59897b0 100644
--- a/CORE/MAC/inc/wniCfgAp.h
+++ b/CORE/MAC/inc/wniCfgAp.h
@@ -1,4 +1,5 @@
/*
+<<<<<<< HEAD:CORE/MAC/inc/wniCfgAp.h
* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
@@ -41,10 +42,13 @@
/*
* Copyright (C) 2007-2009 QUALCOMM Incorporated. All rights reserved. Proprietary and Confidential.
+=======
+ * Copyright (C) 2007-2009 Qualcomm Technologies, Inc. All rights reserved. Proprietary and Confidential.
+>>>>>>> 5f03499... TDLS : Host Changes supporting PUAPSD implementation.:prima/CORE/MAC/inc/wniCfgAp.h
*/
/*
- * DO NOT EDIT - This file is generated automatically
+ * DO NOT EDIT - This file is generated automaticlly
*/
/*
@@ -360,6 +364,10 @@
#define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED 295
#define WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP 296
#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT 297
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK 298
+#define WNI_CFG_TDLS_BUF_STA_ENABLED 299
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME 300
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD 301
/*
* String parameter lengths
@@ -2486,10 +2494,42 @@
#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_APMAX 255
#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_APDEF 3
-#define CFG_PARAM_MAX_NUM 298
-#define CFG_AP_IBUF_MAX_SIZE 237
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_STAMIN 0
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_STAMAX 15
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_STADEF 0
+
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_APMIN 0
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_APMAX 15
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_APDEF 0
+
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_STAMIN 0
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_STAMAX 1
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_STADEF 0
+
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_APMIN 0
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_APMAX 1
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_APDEF 0
+
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_STAMIN 0
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_STAMAX 10
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_STADEF 0
+
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_APMIN 0
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_APMAX 10
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_APDEF 0
+
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_STAMIN 10
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_STAMAX 20
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_STADEF 10
+
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_APMIN 10
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_APMAX 20
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_APDEF 10
+
+#define CFG_PARAM_MAX_NUM 302
+#define CFG_AP_IBUF_MAX_SIZE 241
#define CFG_AP_SBUF_MAX_SIZE 3422
-#define CFG_STA_IBUF_MAX_SIZE 232
+#define CFG_STA_IBUF_MAX_SIZE 236
#define CFG_STA_SBUF_MAX_SIZE 3388
#define CFG_SEM_MAX_NUM 19
diff --git a/CORE/MAC/inc/wniCfgSta.h b/CORE/MAC/inc/wniCfgSta.h
index 4d1e31a..3a9dbec 100644
--- a/CORE/MAC/inc/wniCfgSta.h
+++ b/CORE/MAC/inc/wniCfgSta.h
@@ -1,4 +1,5 @@
/*
+<<<<<<< HEAD:CORE/MAC/inc/wniCfgSta.h
* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
@@ -41,10 +42,13 @@
/*
* Copyright (C) 2007-2009 QUALCOMM Incorporated. All rights reserved. Proprietary and Confidential.
+=======
+ * Copyright (C) 2007-2009 Qualcomm Technologies, Inc. All rights reserved. Proprietary and Confidential.
+>>>>>>> 5f03499... TDLS : Host Changes supporting PUAPSD implementation.:prima/CORE/MAC/inc/wniCfgSta.h
*/
/*
- * DO NOT EDIT - This file is generated automatically
+ * DO NOT EDIT - This file is generated automaticlly
*/
/*
@@ -354,6 +358,10 @@
#define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED 295
#define WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP 296
#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT 297
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK 298
+#define WNI_CFG_TDLS_BUF_STA_ENABLED 299
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME 300
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD 301
/*
* String parameter lengths
@@ -1615,8 +1623,24 @@
#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_STAMAX 255
#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_STADEF 3
-#define CFG_PARAM_MAX_NUM 298
-#define CFG_STA_IBUF_MAX_SIZE 232
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_STAMIN 0
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_STAMAX 15
+#define WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK_STADEF 0
+
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_STAMIN 0
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_STAMAX 1
+#define WNI_CFG_TDLS_BUF_STA_ENABLED_STADEF 0
+
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_STAMIN 0
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_STAMAX 10
+#define WNI_CFG_TDLS_PUAPSD_INACT_TIME_STADEF 0
+
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_STAMIN 10
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_STAMAX 20
+#define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_STADEF 10
+
+#define CFG_PARAM_MAX_NUM 302
+#define CFG_STA_IBUF_MAX_SIZE 236
#define CFG_STA_SBUF_MAX_SIZE 3388
#define CFG_SEM_MAX_NUM 19
diff --git a/CORE/MAC/src/cfg/cfgParamName.c b/CORE/MAC/src/cfg/cfgParamName.c
index c0db1a0..e75f729 100644
--- a/CORE/MAC/src/cfg/cfgParamName.c
+++ b/CORE/MAC/src/cfg/cfgParamName.c
@@ -1,50 +1,25 @@
/*
- * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
- *
- * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
- *
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
+ * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+ *
+ * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
+ *
+ *
+ * Permission to use, copy, modify, and/or distribute this software for
+ * any purpose with or without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+*/
/*
- * Copyright (c) 2012, The Linux Foundation. All rights reserved.
- *
- * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
- *
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-/*
- * Copyright (C) 2007-2009 QUALCOMM Incorporated. All rights reserved. Proprietary and Confidential.
- */
-
-/*
- * DO NOT EDIT - This file is generated automatically
+ * DO NOT EDIT - This file is generated automaticlly
*/
/*
@@ -53,303 +28,308 @@
#include "cfgPriv.h"
unsigned char *gCfgParamName[] = {
- (unsigned char *)"STA_ID",
- (unsigned char *)"CF_POLLABLE",
- (unsigned char *)"CFP_PERIOD",
- (unsigned char *)"CFP_MAX_DURATION",
- (unsigned char *)"SSID",
- (unsigned char *)"BEACON_INTERVAL",
- (unsigned char *)"DTIM_PERIOD",
- (unsigned char *)"WEP_KEY_LENGTH",
- (unsigned char *)"WEP_DEFAULT_KEY_1",
- (unsigned char *)"WEP_DEFAULT_KEY_2",
- (unsigned char *)"WEP_DEFAULT_KEY_3",
- (unsigned char *)"WEP_DEFAULT_KEY_4",
- (unsigned char *)"WEP_DEFAULT_KEYID",
- (unsigned char *)"EXCLUDE_UNENCRYPTED",
- (unsigned char *)"RTS_THRESHOLD",
- (unsigned char *)"SHORT_RETRY_LIMIT",
- (unsigned char *)"LONG_RETRY_LIMIT",
- (unsigned char *)"FRAGMENTATION_THRESHOLD",
- (unsigned char *)"ACTIVE_MINIMUM_CHANNEL_TIME",
- (unsigned char *)"ACTIVE_MAXIMUM_CHANNEL_TIME",
- (unsigned char *)"PASSIVE_MINIMUM_CHANNEL_TIME",
- (unsigned char *)"PASSIVE_MAXIMUM_CHANNEL_TIME",
- (unsigned char *)"JOIN_FAILURE_TIMEOUT",
- (unsigned char *)"AUTHENTICATE_FAILURE_TIMEOUT",
- (unsigned char *)"AUTHENTICATE_RSP_TIMEOUT",
- (unsigned char *)"ASSOCIATION_FAILURE_TIMEOUT",
- (unsigned char *)"REASSOCIATION_FAILURE_TIMEOUT",
- (unsigned char *)"RA_PERIODICITY_TIMEOUT_IN_PS",
- (unsigned char *)"PS_ENABLE_BCN_FILTER",
- (unsigned char *)"PS_ENABLE_HEART_BEAT",
- (unsigned char *)"PS_ENABLE_RSSI_MONITOR",
- (unsigned char *)"PS_DATA_INACTIVITY_TIMEOUT",
- (unsigned char *)"RF_SETTLING_TIME_CLK",
- (unsigned char *)"SUPPORTED_RATES_11B",
- (unsigned char *)"SUPPORTED_RATES_11A",
- (unsigned char *)"PHY_MODE",
- (unsigned char *)"DOT11_MODE",
- (unsigned char *)"OPERATIONAL_RATE_SET",
- (unsigned char *)"EXTENDED_OPERATIONAL_RATE_SET",
- (unsigned char *)"PROPRIETARY_OPERATIONAL_RATE_SET",
- (unsigned char *)"BSSID",
- (unsigned char *)"LISTEN_INTERVAL",
- (unsigned char *)"VALID_CHANNEL_LIST",
- (unsigned char *)"CURRENT_CHANNEL",
- (unsigned char *)"DEFAULT_RATE_INDEX_5GHZ",
- (unsigned char *)"DEFAULT_RATE_INDEX_24GHZ",
- (unsigned char *)"RATE_ADAPTATION_TYPE",
- (unsigned char *)"FIXED_RATE",
- (unsigned char *)"FIXED_RATE_MULTICAST_24GHZ",
- (unsigned char *)"FIXED_RATE_MULTICAST_5GHZ",
- (unsigned char *)"RETRYRATE_POLICY",
- (unsigned char *)"RETRYRATE_SECONDARY",
- (unsigned char *)"RETRYRATE_TERTIARY",
- (unsigned char *)"APSD_ENABLED",
- (unsigned char *)"SHARED_KEY_AUTH_ENABLE",
- (unsigned char *)"OPEN_SYSTEM_AUTH_ENABLE",
- (unsigned char *)"AUTHENTICATION_TYPE",
- (unsigned char *)"CF_POLL_REQUEST",
- (unsigned char *)"PRIVACY_ENABLED",
- (unsigned char *)"SHORT_PREAMBLE",
- (unsigned char *)"SHORT_SLOT_TIME",
- (unsigned char *)"ACCEPT_SHORT_SLOT_ASSOC_ONLY",
- (unsigned char *)"QOS_ENABLED",
- (unsigned char *)"HCF_ENABLED",
- (unsigned char *)"RSN_ENABLED",
- (unsigned char *)"BACKGROUND_SCAN_PERIOD",
- (unsigned char *)"MAX_NUM_PRE_AUTH",
- (unsigned char *)"PREAUTH_CLNUP_TIMEOUT",
- (unsigned char *)"RELEASE_AID_TIMEOUT",
- (unsigned char *)"HEART_BEAT_THRESHOLD",
- (unsigned char *)"PROBE_AFTER_HB_FAIL_TIMEOUT",
- (unsigned char *)"MANUFACTURER_OUI",
- (unsigned char *)"MANUFACTURER_NAME",
- (unsigned char *)"MODEL_NUMBER",
- (unsigned char *)"MODEL_NAME",
- (unsigned char *)"MANUFACTURER_PRODUCT_NAME",
- (unsigned char *)"MANUFACTURER_PRODUCT_VERSION",
- (unsigned char *)"11D_ENABLED",
- (unsigned char *)"MAX_TX_POWER_2_4",
- (unsigned char *)"MAX_TX_POWER_5",
- (unsigned char *)"NETWORK_DENSITY",
- (unsigned char *)"ADAPTIVE_THRESHOLD_ALGORITHM",
- (unsigned char *)"CURRENT_TX_ANTENNA",
- (unsigned char *)"CURRENT_RX_ANTENNA",
- (unsigned char *)"CURRENT_TX_POWER_LEVEL",
- (unsigned char *)"POWER_STATE_PER_CHAIN",
- (unsigned char *)"NEW_BSS_FOUND_IND",
- (unsigned char *)"PROPRIETARY_ANI_FEATURES_ENABLED",
- (unsigned char *)"PROPRIETARY_RATES_ENABLED",
- (unsigned char *)"AP_NODE_NAME",
- (unsigned char *)"COUNTRY_CODE",
- (unsigned char *)"11H_ENABLED",
- (unsigned char *)"WT_CNF_TIMEOUT",
- (unsigned char *)"KEEPALIVE_TIMEOUT",
- (unsigned char *)"PROXIMITY",
- (unsigned char *)"LOG_LEVEL",
- (unsigned char *)"OLBC_DETECT_TIMEOUT",
- (unsigned char *)"PROTECTION_ENABLED",
- (unsigned char *)"11G_PROTECTION_ALWAYS",
- (unsigned char *)"FORCE_POLICY_PROTECTION",
- (unsigned char *)"11G_SHORT_PREAMBLE_ENABLED",
- (unsigned char *)"11G_SHORT_SLOT_TIME_ENABLED",
- (unsigned char *)"CAL_PERIOD",
- (unsigned char *)"STATS_PERIOD",
- (unsigned char *)"CAL_CONTROL",
- (unsigned char *)"11G_ONLY_POLICY",
- (unsigned char *)"PACKET_CLASSIFICATION",
- (unsigned char *)"WME_ENABLED",
- (unsigned char *)"ADDTS_RSP_TIMEOUT",
- (unsigned char *)"MAX_SP_LENGTH",
- (unsigned char *)"KEEP_ALIVE_STA_LIMIT_THRESHOLD",
- (unsigned char *)"SEND_SINGLE_SSID_ALWAYS",
- (unsigned char *)"WSM_ENABLED",
- (unsigned char *)"PROP_CAPABILITY",
- (unsigned char *)"EDCA_PROFILE",
- (unsigned char *)"EDCA_ANI_ACBK_LOCAL",
- (unsigned char *)"EDCA_ANI_ACBE_LOCAL",
- (unsigned char *)"EDCA_ANI_ACVI_LOCAL",
- (unsigned char *)"EDCA_ANI_ACVO_LOCAL",
- (unsigned char *)"EDCA_ANI_ACBK",
- (unsigned char *)"EDCA_ANI_ACBE",
- (unsigned char *)"EDCA_ANI_ACVI",
- (unsigned char *)"EDCA_ANI_ACVO",
- (unsigned char *)"EDCA_WME_ACBK_LOCAL",
- (unsigned char *)"EDCA_WME_ACBE_LOCAL",
- (unsigned char *)"EDCA_WME_ACVI_LOCAL",
- (unsigned char *)"EDCA_WME_ACVO_LOCAL",
- (unsigned char *)"EDCA_WME_ACBK",
- (unsigned char *)"EDCA_WME_ACBE",
- (unsigned char *)"EDCA_WME_ACVI",
- (unsigned char *)"EDCA_WME_ACVO",
- (unsigned char *)"EDCA_TIT_DEMO_ACBK_LOCAL",
- (unsigned char *)"EDCA_TIT_DEMO_ACBE_LOCAL",
- (unsigned char *)"EDCA_TIT_DEMO_ACVI_LOCAL",
- (unsigned char *)"EDCA_TIT_DEMO_ACVO_LOCAL",
- (unsigned char *)"EDCA_TIT_DEMO_ACBK",
- (unsigned char *)"EDCA_TIT_DEMO_ACBE",
- (unsigned char *)"EDCA_TIT_DEMO_ACVI",
- (unsigned char *)"EDCA_TIT_DEMO_ACVO",
- (unsigned char *)"RDET_FLAG",
- (unsigned char *)"RADAR_CHANNEL_LIST",
- (unsigned char *)"LOCAL_POWER_CONSTRAINT",
- (unsigned char *)"ADMIT_POLICY",
- (unsigned char *)"ADMIT_BWFACTOR",
- (unsigned char *)"MAX_CONSECUTIVE_BACKGROUND_SCAN_FAILURE",
- (unsigned char *)"CHANNEL_BONDING_MODE",
- (unsigned char *)"CB_SECONDARY_CHANNEL_STATE",
- (unsigned char *)"DYNAMIC_THRESHOLD_ZERO",
- (unsigned char *)"DYNAMIC_THRESHOLD_ONE",
- (unsigned char *)"DYNAMIC_THRESHOLD_TWO",
- (unsigned char *)"TRIG_STA_BK_SCAN",
- (unsigned char *)"DYNAMIC_PROFILE_SWITCHING",
- (unsigned char *)"SCAN_CONTROL_LIST",
- (unsigned char *)"MIMO_ENABLED",
- (unsigned char *)"BLOCK_ACK_ENABLED",
- (unsigned char *)"BA_ACTIVITY_CHECK_TIMEOUT",
- (unsigned char *)"HT_RX_STBC",
- (unsigned char *)"HT_CAP_INFO",
- (unsigned char *)"HT_AMPDU_PARAMS",
- (unsigned char *)"SUPPORTED_MCS_SET",
- (unsigned char *)"EXT_HT_CAP_INFO",
- (unsigned char *)"TX_BF_CAP",
- (unsigned char *)"AS_CAP",
- (unsigned char *)"HT_INFO_FIELD1",
- (unsigned char *)"HT_INFO_FIELD2",
- (unsigned char *)"HT_INFO_FIELD3",
- (unsigned char *)"BASIC_MCS_SET",
- (unsigned char *)"CURRENT_MCS_SET",
- (unsigned char *)"GREENFIELD_CAPABILITY",
- (unsigned char *)"VHT_MAX_MPDU_LENGTH",
- (unsigned char *)"VHT_SUPPORTED_CHAN_WIDTH_SET",
- (unsigned char *)"VHT_LDPC_CODING_CAP",
- (unsigned char *)"VHT_SHORT_GI_80MHZ",
- (unsigned char *)"VHT_SHORT_GI_160_AND_80_PLUS_80MHZ",
- (unsigned char *)"VHT_TXSTBC",
- (unsigned char *)"VHT_RXSTBC",
- (unsigned char *)"VHT_SU_BEAMFORMER_CAP",
- (unsigned char *)"VHT_SU_BEAMFORMEE_CAP",
- (unsigned char *)"VHT_CSN_BEAMFORMEE_ANT_SUPPORTED",
- (unsigned char *)"VHT_NUM_SOUNDING_DIMENSIONS",
- (unsigned char *)"VHT_MU_BEAMFORMER_CAP",
- (unsigned char *)"VHT_MU_BEAMFORMEE_CAP",
- (unsigned char *)"VHT_TXOP_PS",
- (unsigned char *)"VHT_HTC_VHTC_CAP",
- (unsigned char *)"VHT_AMPDU_LEN_EXPONENT",
- (unsigned char *)"VHT_LINK_ADAPTATION_CAP",
- (unsigned char *)"VHT_RX_ANT_PATTERN",
- (unsigned char *)"VHT_TX_ANT_PATTERN",
- (unsigned char *)"VHT_RX_MCS_MAP",
- (unsigned char *)"VHT_TX_MCS_MAP",
- (unsigned char *)"VHT_RX_HIGHEST_SUPPORTED_DATA_RATE",
- (unsigned char *)"VHT_TX_HIGHEST_SUPPORTED_DATA_RATE",
- (unsigned char *)"VHT_CHANNEL_WIDTH",
- (unsigned char *)"VHT_CHANNEL_CENTER_FREQ_SEGMENT1",
- (unsigned char *)"VHT_CHANNEL_CENTER_FREQ_SEGMENT2",
- (unsigned char *)"VHT_BASIC_MCS_SET",
- (unsigned char *)"VHT_MU_MIMO_CAP_STA_COUNT",
- (unsigned char *)"VHT_SS_UNDER_UTIL",
- (unsigned char *)"VHT_40MHZ_UTILIZATION",
- (unsigned char *)"VHT_80MHZ_UTILIZATION",
- (unsigned char *)"VHT_160MHZ_UTILIZATION",
- (unsigned char *)"MAX_AMSDU_LENGTH",
- (unsigned char *)"MPDU_DENSITY",
- (unsigned char *)"NUM_BUFF_ADVERT",
- (unsigned char *)"MAX_RX_AMPDU_FACTOR",
- (unsigned char *)"SHORT_GI_20MHZ",
- (unsigned char *)"SHORT_GI_40MHZ",
- (unsigned char *)"RIFS_ENABLED",
- (unsigned char *)"MAX_PS_POLL",
- (unsigned char *)"NUM_BEACON_PER_RSSI_AVERAGE",
- (unsigned char *)"RSSI_FILTER_PERIOD",
- (unsigned char *)"MIN_RSSI_THRESHOLD",
- (unsigned char *)"NTH_BEACON_FILTER",
- (unsigned char *)"BROADCAST_FRAME_FILTER_ENABLE",
- (unsigned char *)"SCAN_IN_POWERSAVE",
- (unsigned char *)"IGNORE_DTIM",
- (unsigned char *)"WOWLAN_UCAST_PATTERN_FILTER_ENABLE",
- (unsigned char *)"WOWLAN_CHANNEL_SWITCH_ENABLE",
- (unsigned char *)"WOWLAN_DEAUTH_ENABLE",
- (unsigned char *)"WOWLAN_DISASSOC_ENABLE",
- (unsigned char *)"WOWLAN_MAX_MISSED_BEACON",
- (unsigned char *)"WOWLAN_MAX_SLEEP_PERIOD",
- (unsigned char *)"BA_TIMEOUT",
- (unsigned char *)"BA_THRESHOLD_HIGH",
- (unsigned char *)"MAX_BA_BUFFERS",
- (unsigned char *)"MAX_BA_SESSIONS",
- (unsigned char *)"BA_AUTO_SETUP",
- (unsigned char *)"ADDBA_REQ_DECLINE",
- (unsigned char *)"BG_SCAN_CHANNEL_LIST",
- (unsigned char *)"MAX_MEDIUM_TIME",
- (unsigned char *)"MAX_MPDUS_IN_AMPDU",
- (unsigned char *)"IBSS_AUTO_BSSID",
- (unsigned char *)"PROBE_REQ_ADDNIE_FLAG",
- (unsigned char *)"PROBE_REQ_ADDNIE_DATA",
- (unsigned char *)"PROBE_RSP_ADDNIE_FLAG",
- (unsigned char *)"PROBE_RSP_ADDNIE_DATA1",
- (unsigned char *)"PROBE_RSP_ADDNIE_DATA2",
- (unsigned char *)"PROBE_RSP_ADDNIE_DATA3",
- (unsigned char *)"ASSOC_RSP_ADDNIE_FLAG",
- (unsigned char *)"ASSOC_RSP_ADDNIE_DATA",
- (unsigned char *)"PROBE_REQ_ADDNP2PIE_FLAG",
- (unsigned char *)"PROBE_REQ_ADDNP2PIE_DATA",
- (unsigned char *)"PROBE_RSP_BCN_ADDNIE_FLAG",
- (unsigned char *)"PROBE_RSP_BCN_ADDNIE_DATA",
- (unsigned char *)"WPS_ENABLE",
- (unsigned char *)"WPS_STATE",
- (unsigned char *)"WPS_PROBE_REQ_FLAG",
- (unsigned char *)"WPS_VERSION",
- (unsigned char *)"WPS_REQUEST_TYPE",
- (unsigned char *)"WPS_CFG_METHOD",
- (unsigned char *)"WPS_UUID",
- (unsigned char *)"WPS_PRIMARY_DEVICE_CATEGORY",
- (unsigned char *)"WPS_PIMARY_DEVICE_OUI",
- (unsigned char *)"WPS_DEVICE_SUB_CATEGORY",
- (unsigned char *)"WPS_ASSOCIATION_STATE",
- (unsigned char *)"WPS_CONFIGURATION_ERROR",
- (unsigned char *)"WPS_DEVICE_PASSWORD_ID",
- (unsigned char *)"WPS_ASSOC_METHOD",
- (unsigned char *)"LOW_GAIN_OVERRIDE",
- (unsigned char *)"ENABLE_PHY_AGC_LISTEN_MODE",
- (unsigned char *)"RPE_POLLING_THRESHOLD",
- (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC0_REG",
- (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC1_REG",
- (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC2_REG",
- (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC3_REG",
- (unsigned char *)"NO_OF_ONCHIP_REORDER_SESSIONS",
- (unsigned char *)"SINGLE_TID_RC",
- (unsigned char *)"RRM_ENABLED",
- (unsigned char *)"RRM_OPERATING_CHAN_MAX",
- (unsigned char *)"RRM_NON_OPERATING_CHAN_MAX",
- (unsigned char *)"TX_PWR_CTRL_ENABLE",
- (unsigned char *)"MCAST_BCAST_FILTER_SETTING",
- (unsigned char *)"BTC_DHCP_BT_SLOTS_TO_BLOCK",
- (unsigned char *)"DYNAMIC_PS_POLL_VALUE",
- (unsigned char *)"PS_NULLDATA_AP_RESP_TIMEOUT",
- (unsigned char *)"TELE_BCN_WAKEUP_EN",
- (unsigned char *)"TELE_BCN_TRANS_LI",
- (unsigned char *)"TELE_BCN_TRANS_LI_IDLE_BCNS",
- (unsigned char *)"TELE_BCN_MAX_LI",
- (unsigned char *)"TELE_BCN_MAX_LI_IDLE_BCNS",
- (unsigned char *)"BTC_A2DP_DHCP_BT_SUB_INTERVALS",
- (unsigned char *)"INFRA_STA_KEEP_ALIVE_PERIOD",
- (unsigned char *)"ASSOC_STA_LIMIT",
- (unsigned char *)"SAP_CHANNEL_SELECT_START_CHANNEL",
- (unsigned char *)"SAP_CHANNEL_SELECT_END_CHANNEL",
- (unsigned char *)"SAP_CHANNEL_SELECT_OPERATING_BAND",
- (unsigned char *)"AP_DATA_AVAIL_POLL_PERIOD",
- (unsigned char *)"ENABLE_CLOSE_LOOP",
- (unsigned char *)"ENABLE_LTE_COEX",
- (unsigned char *)"AP_KEEP_ALIVE_TIMEOUT",
- (unsigned char *)"GO_KEEP_ALIVE_TIMEOUT",
- (unsigned char *)"ENABLE_MC_ADDR_LIST",
- (unsigned char *)"ENABLE_UC_FILTER",
- (unsigned char *)"ENABLE_LPWR_IMG_TRANSITION",
- (unsigned char *)"ENABLE_MCC_ADAPTIVE_SCHED",
- (unsigned char *)"DISABLE_LDPC_WITH_TXBF_AP",
- (unsigned char *)"AP_LINK_MONITOR_TIMEOUT",
+ (unsigned char *)"STA_ID",
+ (unsigned char *)"CF_POLLABLE",
+ (unsigned char *)"CFP_PERIOD",
+ (unsigned char *)"CFP_MAX_DURATION",
+ (unsigned char *)"SSID",
+ (unsigned char *)"BEACON_INTERVAL",
+ (unsigned char *)"DTIM_PERIOD",
+ (unsigned char *)"WEP_KEY_LENGTH",
+ (unsigned char *)"WEP_DEFAULT_KEY_1",
+ (unsigned char *)"WEP_DEFAULT_KEY_2",
+ (unsigned char *)"WEP_DEFAULT_KEY_3",
+ (unsigned char *)"WEP_DEFAULT_KEY_4",
+ (unsigned char *)"WEP_DEFAULT_KEYID",
+ (unsigned char *)"EXCLUDE_UNENCRYPTED",
+ (unsigned char *)"RTS_THRESHOLD",
+ (unsigned char *)"SHORT_RETRY_LIMIT",
+ (unsigned char *)"LONG_RETRY_LIMIT",
+ (unsigned char *)"FRAGMENTATION_THRESHOLD",
+ (unsigned char *)"ACTIVE_MINIMUM_CHANNEL_TIME",
+ (unsigned char *)"ACTIVE_MAXIMUM_CHANNEL_TIME",
+ (unsigned char *)"PASSIVE_MINIMUM_CHANNEL_TIME",
+ (unsigned char *)"PASSIVE_MAXIMUM_CHANNEL_TIME",
+ (unsigned char *)"JOIN_FAILURE_TIMEOUT",
+ (unsigned char *)"AUTHENTICATE_FAILURE_TIMEOUT",
+ (unsigned char *)"AUTHENTICATE_RSP_TIMEOUT",
+ (unsigned char *)"ASSOCIATION_FAILURE_TIMEOUT",
+ (unsigned char *)"REASSOCIATION_FAILURE_TIMEOUT",
+ (unsigned char *)"RA_PERIODICITY_TIMEOUT_IN_PS",
+ (unsigned char *)"PS_ENABLE_BCN_FILTER",
+ (unsigned char *)"PS_ENABLE_HEART_BEAT",
+ (unsigned char *)"PS_ENABLE_RSSI_MONITOR",
+ (unsigned char *)"PS_DATA_INACTIVITY_TIMEOUT",
+ (unsigned char *)"RF_SETTLING_TIME_CLK",
+ (unsigned char *)"SUPPORTED_RATES_11B",
+ (unsigned char *)"SUPPORTED_RATES_11A",
+ (unsigned char *)"PHY_MODE",
+ (unsigned char *)"DOT11_MODE",
+ (unsigned char *)"OPERATIONAL_RATE_SET",
+ (unsigned char *)"EXTENDED_OPERATIONAL_RATE_SET",
+ (unsigned char *)"PROPRIETARY_OPERATIONAL_RATE_SET",
+ (unsigned char *)"BSSID",
+ (unsigned char *)"LISTEN_INTERVAL",
+ (unsigned char *)"VALID_CHANNEL_LIST",
+ (unsigned char *)"CURRENT_CHANNEL",
+ (unsigned char *)"DEFAULT_RATE_INDEX_5GHZ",
+ (unsigned char *)"DEFAULT_RATE_INDEX_24GHZ",
+ (unsigned char *)"RATE_ADAPTATION_TYPE",
+ (unsigned char *)"FIXED_RATE",
+ (unsigned char *)"FIXED_RATE_MULTICAST_24GHZ",
+ (unsigned char *)"FIXED_RATE_MULTICAST_5GHZ",
+ (unsigned char *)"RETRYRATE_POLICY",
+ (unsigned char *)"RETRYRATE_SECONDARY",
+ (unsigned char *)"RETRYRATE_TERTIARY",
+ (unsigned char *)"APSD_ENABLED",
+ (unsigned char *)"SHARED_KEY_AUTH_ENABLE",
+ (unsigned char *)"OPEN_SYSTEM_AUTH_ENABLE",
+ (unsigned char *)"AUTHENTICATION_TYPE",
+ (unsigned char *)"CF_POLL_REQUEST",
+ (unsigned char *)"PRIVACY_ENABLED",
+ (unsigned char *)"SHORT_PREAMBLE",
+ (unsigned char *)"SHORT_SLOT_TIME",
+ (unsigned char *)"ACCEPT_SHORT_SLOT_ASSOC_ONLY",
+ (unsigned char *)"QOS_ENABLED",
+ (unsigned char *)"HCF_ENABLED",
+ (unsigned char *)"RSN_ENABLED",
+ (unsigned char *)"BACKGROUND_SCAN_PERIOD",
+ (unsigned char *)"MAX_NUM_PRE_AUTH",
+ (unsigned char *)"PREAUTH_CLNUP_TIMEOUT",
+ (unsigned char *)"RELEASE_AID_TIMEOUT",
+ (unsigned char *)"HEART_BEAT_THRESHOLD",
+ (unsigned char *)"PROBE_AFTER_HB_FAIL_TIMEOUT",
+ (unsigned char *)"MANUFACTURER_OUI",
+ (unsigned char *)"MANUFACTURER_NAME",
+ (unsigned char *)"MODEL_NUMBER",
+ (unsigned char *)"MODEL_NAME",
+ (unsigned char *)"MANUFACTURER_PRODUCT_NAME",
+ (unsigned char *)"MANUFACTURER_PRODUCT_VERSION",
+ (unsigned char *)"11D_ENABLED",
+ (unsigned char *)"MAX_TX_POWER_2_4",
+ (unsigned char *)"MAX_TX_POWER_5",
+ (unsigned char *)"NETWORK_DENSITY",
+ (unsigned char *)"ADAPTIVE_THRESHOLD_ALGORITHM",
+ (unsigned char *)"CURRENT_TX_ANTENNA",
+ (unsigned char *)"CURRENT_RX_ANTENNA",
+ (unsigned char *)"CURRENT_TX_POWER_LEVEL",
+ (unsigned char *)"POWER_STATE_PER_CHAIN",
+ (unsigned char *)"NEW_BSS_FOUND_IND",
+ (unsigned char *)"PROPRIETARY_ANI_FEATURES_ENABLED",
+ (unsigned char *)"PROPRIETARY_RATES_ENABLED",
+ (unsigned char *)"AP_NODE_NAME",
+ (unsigned char *)"COUNTRY_CODE",
+ (unsigned char *)"11H_ENABLED",
+ (unsigned char *)"WT_CNF_TIMEOUT",
+ (unsigned char *)"KEEPALIVE_TIMEOUT",
+ (unsigned char *)"PROXIMITY",
+ (unsigned char *)"LOG_LEVEL",
+ (unsigned char *)"OLBC_DETECT_TIMEOUT",
+ (unsigned char *)"PROTECTION_ENABLED",
+ (unsigned char *)"11G_PROTECTION_ALWAYS",
+ (unsigned char *)"FORCE_POLICY_PROTECTION",
+ (unsigned char *)"11G_SHORT_PREAMBLE_ENABLED",
+ (unsigned char *)"11G_SHORT_SLOT_TIME_ENABLED",
+ (unsigned char *)"CAL_PERIOD",
+ (unsigned char *)"STATS_PERIOD",
+ (unsigned char *)"CAL_CONTROL",
+ (unsigned char *)"11G_ONLY_POLICY",
+ (unsigned char *)"PACKET_CLASSIFICATION",
+ (unsigned char *)"WME_ENABLED",
+ (unsigned char *)"ADDTS_RSP_TIMEOUT",
+ (unsigned char *)"MAX_SP_LENGTH",
+ (unsigned char *)"KEEP_ALIVE_STA_LIMIT_THRESHOLD",
+ (unsigned char *)"SEND_SINGLE_SSID_ALWAYS",
+ (unsigned char *)"WSM_ENABLED",
+ (unsigned char *)"PROP_CAPABILITY",
+ (unsigned char *)"EDCA_PROFILE",
+ (unsigned char *)"EDCA_ANI_ACBK_LOCAL",
+ (unsigned char *)"EDCA_ANI_ACBE_LOCAL",
+ (unsigned char *)"EDCA_ANI_ACVI_LOCAL",
+ (unsigned char *)"EDCA_ANI_ACVO_LOCAL",
+ (unsigned char *)"EDCA_ANI_ACBK",
+ (unsigned char *)"EDCA_ANI_ACBE",
+ (unsigned char *)"EDCA_ANI_ACVI",
+ (unsigned char *)"EDCA_ANI_ACVO",
+ (unsigned char *)"EDCA_WME_ACBK_LOCAL",
+ (unsigned char *)"EDCA_WME_ACBE_LOCAL",
+ (unsigned char *)"EDCA_WME_ACVI_LOCAL",
+ (unsigned char *)"EDCA_WME_ACVO_LOCAL",
+ (unsigned char *)"EDCA_WME_ACBK",
+ (unsigned char *)"EDCA_WME_ACBE",
+ (unsigned char *)"EDCA_WME_ACVI",
+ (unsigned char *)"EDCA_WME_ACVO",
+ (unsigned char *)"EDCA_TIT_DEMO_ACBK_LOCAL",
+ (unsigned char *)"EDCA_TIT_DEMO_ACBE_LOCAL",
+ (unsigned char *)"EDCA_TIT_DEMO_ACVI_LOCAL",
+ (unsigned char *)"EDCA_TIT_DEMO_ACVO_LOCAL",
+ (unsigned char *)"EDCA_TIT_DEMO_ACBK",
+ (unsigned char *)"EDCA_TIT_DEMO_ACBE",
+ (unsigned char *)"EDCA_TIT_DEMO_ACVI",
+ (unsigned char *)"EDCA_TIT_DEMO_ACVO",
+ (unsigned char *)"RDET_FLAG",
+ (unsigned char *)"RADAR_CHANNEL_LIST",
+ (unsigned char *)"LOCAL_POWER_CONSTRAINT",
+ (unsigned char *)"ADMIT_POLICY",
+ (unsigned char *)"ADMIT_BWFACTOR",
+ (unsigned char *)"MAX_CONSECUTIVE_BACKGROUND_SCAN_FAILURE",
+ (unsigned char *)"CHANNEL_BONDING_MODE",
+ (unsigned char *)"CB_SECONDARY_CHANNEL_STATE",
+ (unsigned char *)"DYNAMIC_THRESHOLD_ZERO",
+ (unsigned char *)"DYNAMIC_THRESHOLD_ONE",
+ (unsigned char *)"DYNAMIC_THRESHOLD_TWO",
+ (unsigned char *)"TRIG_STA_BK_SCAN",
+ (unsigned char *)"DYNAMIC_PROFILE_SWITCHING",
+ (unsigned char *)"SCAN_CONTROL_LIST",
+ (unsigned char *)"MIMO_ENABLED",
+ (unsigned char *)"BLOCK_ACK_ENABLED",
+ (unsigned char *)"BA_ACTIVITY_CHECK_TIMEOUT",
+ (unsigned char *)"HT_RX_STBC",
+ (unsigned char *)"HT_CAP_INFO",
+ (unsigned char *)"HT_AMPDU_PARAMS",
+ (unsigned char *)"SUPPORTED_MCS_SET",
+ (unsigned char *)"EXT_HT_CAP_INFO",
+ (unsigned char *)"TX_BF_CAP",
+ (unsigned char *)"AS_CAP",
+ (unsigned char *)"HT_INFO_FIELD1",
+ (unsigned char *)"HT_INFO_FIELD2",
+ (unsigned char *)"HT_INFO_FIELD3",
+ (unsigned char *)"BASIC_MCS_SET",
+ (unsigned char *)"CURRENT_MCS_SET",
+ (unsigned char *)"GREENFIELD_CAPABILITY",
+ (unsigned char *)"VHT_MAX_MPDU_LENGTH",
+ (unsigned char *)"VHT_SUPPORTED_CHAN_WIDTH_SET",
+ (unsigned char *)"VHT_LDPC_CODING_CAP",
+ (unsigned char *)"VHT_SHORT_GI_80MHZ",
+ (unsigned char *)"VHT_SHORT_GI_160_AND_80_PLUS_80MHZ",
+ (unsigned char *)"VHT_TXSTBC",
+ (unsigned char *)"VHT_RXSTBC",
+ (unsigned char *)"VHT_SU_BEAMFORMER_CAP",
+ (unsigned char *)"VHT_SU_BEAMFORMEE_CAP",
+ (unsigned char *)"VHT_CSN_BEAMFORMEE_ANT_SUPPORTED",
+ (unsigned char *)"VHT_NUM_SOUNDING_DIMENSIONS",
+ (unsigned char *)"VHT_MU_BEAMFORMER_CAP",
+ (unsigned char *)"VHT_MU_BEAMFORMEE_CAP",
+ (unsigned char *)"VHT_TXOP_PS",
+ (unsigned char *)"VHT_HTC_VHTC_CAP",
+ (unsigned char *)"VHT_AMPDU_LEN_EXPONENT",
+ (unsigned char *)"VHT_LINK_ADAPTATION_CAP",
+ (unsigned char *)"VHT_RX_ANT_PATTERN",
+ (unsigned char *)"VHT_TX_ANT_PATTERN",
+ (unsigned char *)"VHT_RX_MCS_MAP",
+ (unsigned char *)"VHT_TX_MCS_MAP",
+ (unsigned char *)"VHT_RX_HIGHEST_SUPPORTED_DATA_RATE",
+ (unsigned char *)"VHT_TX_HIGHEST_SUPPORTED_DATA_RATE",
+ (unsigned char *)"VHT_CHANNEL_WIDTH",
+ (unsigned char *)"VHT_CHANNEL_CENTER_FREQ_SEGMENT1",
+ (unsigned char *)"VHT_CHANNEL_CENTER_FREQ_SEGMENT2",
+ (unsigned char *)"VHT_BASIC_MCS_SET",
+ (unsigned char *)"VHT_MU_MIMO_CAP_STA_COUNT",
+ (unsigned char *)"VHT_SS_UNDER_UTIL",
+ (unsigned char *)"VHT_40MHZ_UTILIZATION",
+ (unsigned char *)"VHT_80MHZ_UTILIZATION",
+ (unsigned char *)"VHT_160MHZ_UTILIZATION",
+ (unsigned char *)"MAX_AMSDU_LENGTH",
+ (unsigned char *)"MPDU_DENSITY",
+ (unsigned char *)"NUM_BUFF_ADVERT",
+ (unsigned char *)"MAX_RX_AMPDU_FACTOR",
+ (unsigned char *)"SHORT_GI_20MHZ",
+ (unsigned char *)"SHORT_GI_40MHZ",
+ (unsigned char *)"RIFS_ENABLED",
+ (unsigned char *)"MAX_PS_POLL",
+ (unsigned char *)"NUM_BEACON_PER_RSSI_AVERAGE",
+ (unsigned char *)"RSSI_FILTER_PERIOD",
+ (unsigned char *)"MIN_RSSI_THRESHOLD",
+ (unsigned char *)"NTH_BEACON_FILTER",
+ (unsigned char *)"BROADCAST_FRAME_FILTER_ENABLE",
+ (unsigned char *)"SCAN_IN_POWERSAVE",
+ (unsigned char *)"IGNORE_DTIM",
+ (unsigned char *)"WOWLAN_UCAST_PATTERN_FILTER_ENABLE",
+ (unsigned char *)"WOWLAN_CHANNEL_SWITCH_ENABLE",
+ (unsigned char *)"WOWLAN_DEAUTH_ENABLE",
+ (unsigned char *)"WOWLAN_DISASSOC_ENABLE",
+ (unsigned char *)"WOWLAN_MAX_MISSED_BEACON",
+ (unsigned char *)"WOWLAN_MAX_SLEEP_PERIOD",
+ (unsigned char *)"BA_TIMEOUT",
+ (unsigned char *)"BA_THRESHOLD_HIGH",
+ (unsigned char *)"MAX_BA_BUFFERS",
+ (unsigned char *)"MAX_BA_SESSIONS",
+ (unsigned char *)"BA_AUTO_SETUP",
+ (unsigned char *)"ADDBA_REQ_DECLINE",
+ (unsigned char *)"DEL_ALL_RX_BA_SESSIONS_2_4_G_BTC",
+ (unsigned char *)"BG_SCAN_CHANNEL_LIST",
+ (unsigned char *)"MAX_MEDIUM_TIME",
+ (unsigned char *)"MAX_MPDUS_IN_AMPDU",
+ (unsigned char *)"IBSS_AUTO_BSSID",
+ (unsigned char *)"PROBE_REQ_ADDNIE_FLAG",
+ (unsigned char *)"PROBE_REQ_ADDNIE_DATA",
+ (unsigned char *)"PROBE_RSP_ADDNIE_FLAG",
+ (unsigned char *)"PROBE_RSP_ADDNIE_DATA1",
+ (unsigned char *)"PROBE_RSP_ADDNIE_DATA2",
+ (unsigned char *)"PROBE_RSP_ADDNIE_DATA3",
+ (unsigned char *)"ASSOC_RSP_ADDNIE_FLAG",
+ (unsigned char *)"ASSOC_RSP_ADDNIE_DATA",
+ (unsigned char *)"PROBE_REQ_ADDNP2PIE_FLAG",
+ (unsigned char *)"PROBE_REQ_ADDNP2PIE_DATA",
+ (unsigned char *)"PROBE_RSP_BCN_ADDNIE_FLAG",
+ (unsigned char *)"PROBE_RSP_BCN_ADDNIE_DATA",
+ (unsigned char *)"WPS_ENABLE",
+ (unsigned char *)"WPS_STATE",
+ (unsigned char *)"WPS_PROBE_REQ_FLAG",
+ (unsigned char *)"WPS_VERSION",
+ (unsigned char *)"WPS_REQUEST_TYPE",
+ (unsigned char *)"WPS_CFG_METHOD",
+ (unsigned char *)"WPS_UUID",
+ (unsigned char *)"WPS_PRIMARY_DEVICE_CATEGORY",
+ (unsigned char *)"WPS_PIMARY_DEVICE_OUI",
+ (unsigned char *)"WPS_DEVICE_SUB_CATEGORY",
+ (unsigned char *)"WPS_ASSOCIATION_STATE",
+ (unsigned char *)"WPS_CONFIGURATION_ERROR",
+ (unsigned char *)"WPS_DEVICE_PASSWORD_ID",
+ (unsigned char *)"WPS_ASSOC_METHOD",
+ (unsigned char *)"LOW_GAIN_OVERRIDE",
+ (unsigned char *)"ENABLE_PHY_AGC_LISTEN_MODE",
+ (unsigned char *)"RPE_POLLING_THRESHOLD",
+ (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC0_REG",
+ (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC1_REG",
+ (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC2_REG",
+ (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC3_REG",
+ (unsigned char *)"NO_OF_ONCHIP_REORDER_SESSIONS",
+ (unsigned char *)"SINGLE_TID_RC",
+ (unsigned char *)"RRM_ENABLED",
+ (unsigned char *)"RRM_OPERATING_CHAN_MAX",
+ (unsigned char *)"RRM_NON_OPERATING_CHAN_MAX",
+ (unsigned char *)"TX_PWR_CTRL_ENABLE",
+ (unsigned char *)"MCAST_BCAST_FILTER_SETTING",
+ (unsigned char *)"BTC_DHCP_BT_SLOTS_TO_BLOCK",
+ (unsigned char *)"DYNAMIC_PS_POLL_VALUE",
+ (unsigned char *)"PS_NULLDATA_AP_RESP_TIMEOUT",
+ (unsigned char *)"TELE_BCN_WAKEUP_EN",
+ (unsigned char *)"TELE_BCN_TRANS_LI",
+ (unsigned char *)"TELE_BCN_TRANS_LI_IDLE_BCNS",
+ (unsigned char *)"TELE_BCN_MAX_LI",
+ (unsigned char *)"TELE_BCN_MAX_LI_IDLE_BCNS",
+ (unsigned char *)"BTC_A2DP_DHCP_BT_SUB_INTERVALS",
+ (unsigned char *)"INFRA_STA_KEEP_ALIVE_PERIOD",
+ (unsigned char *)"ASSOC_STA_LIMIT",
+ (unsigned char *)"SAP_CHANNEL_SELECT_START_CHANNEL",
+ (unsigned char *)"SAP_CHANNEL_SELECT_END_CHANNEL",
+ (unsigned char *)"SAP_CHANNEL_SELECT_OPERATING_BAND",
+ (unsigned char *)"AP_DATA_AVAIL_POLL_PERIOD",
+ (unsigned char *)"ENABLE_CLOSE_LOOP",
+ (unsigned char *)"ENABLE_LTE_COEX",
+ (unsigned char *)"AP_KEEP_ALIVE_TIMEOUT",
+ (unsigned char *)"GO_KEEP_ALIVE_TIMEOUT",
+ (unsigned char *)"ENABLE_MC_ADDR_LIST",
+ (unsigned char *)"ENABLE_UC_FILTER",
+ (unsigned char *)"ENABLE_LPWR_IMG_TRANSITION",
+ (unsigned char *)"ENABLE_MCC_ADAPTIVE_SCHED",
+ (unsigned char *)"DISABLE_LDPC_WITH_TXBF_AP",
+ (unsigned char *)"AP_LINK_MONITOR_TIMEOUT",
+ (unsigned char *)"TDLS_QOS_WMM_UAPSD_MASK",
+ (unsigned char *)"TDLS_BUF_STA_ENABLED",
+ (unsigned char *)"TDLS_PUAPSD_INACT_TIME",
+ (unsigned char *)"TDLS_RX_FRAME_THRESHOLD",
};
diff --git a/CORE/MAC/src/cfg/cfgUtil/cfg.txt b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
index 7240b7d..2d7fa87 100644
--- a/CORE/MAC/src/cfg/cfgUtil/cfg.txt
+++ b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
@@ -4498,3 +4498,50 @@
V RW NP
HAL
1 255 3
+
+*
+*TDLS Station's UAPSD MASK Configuration
+*
+*
+*
+WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK I 4 7
+V RW NP
+LIM
+0 15 0
+V RW NP
+LIM
+0 15 0
+*
+*TDLS Stations Buffer STA Capability
+*
+*
+*
+WNI_CFG_TDLS_BUF_STA_ENABLED I 4 7
+V RW NP
+LIM
+0 1 0
+V RW NP
+LIM
+0 1 0
+*TDLS Stations PUAPSD Inactivity Timer
+*
+*
+*
+WNI_CFG_TDLS_PUAPSD_INACT_TIME I 4 7
+V RW NP
+LIM
+0 10 0
+V RW NP
+LIM
+0 10 0
+*TDLS Stations PUAPSD RX Frame Threshold
+*
+*
+*
+WNI_CFG_TDLS_RX_FRAME_THRESHOLD I 4 7
+V RW NP
+LIM
+10 20 10
+V RW NP
+LIM
+10 20 10
diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h
index 7dc0cf9..4f0fb91 100644
--- a/CORE/MAC/src/include/sirParams.h
+++ b/CORE/MAC/src/include/sirParams.h
@@ -568,6 +568,12 @@
#ifdef WLAN_FEATURE_11W
#define SIR_HAL_EXCLUDE_UNENCRYPTED_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 196)
#endif
+#ifdef FEATURE_WLAN_TDLS
+/// PE <-> HAL TDLS messages
+#define SIR_HAL_TDLS_LINK_ESTABLISH_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 197)
+#define SIR_HAL_TDLS_LINK_ESTABLISH_REQ_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 198)
+#define SIR_HAL_TDLS_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 199)
+#endif
#define SIR_HAL_MSG_TYPES_END (SIR_HAL_ITC_MSG_TYPES_BEGIN + 0xFF)
// CFG message types
diff --git a/CORE/MAC/src/pe/lim/limApi.c b/CORE/MAC/src/pe/lim/limApi.c
index e458129..a0ba77a 100644
--- a/CORE/MAC/src/pe/lim/limApi.c
+++ b/CORE/MAC/src/pe/lim/limApi.c
@@ -621,7 +621,18 @@
limLog(pMac, LOGP, FL("cfg get disableLDPCWithTxbfAP failed"));
return eSIR_FAILURE;
}
-
+#ifdef FEATURE_WLAN_TDLS
+ if(wlan_cfgGetInt(pMac, WNI_CFG_TDLS_BUF_STA_ENABLED,(tANI_U32 *) &pMac->lim.gLimTDLSBufStaEnabled) != eSIR_SUCCESS)
+ {
+ limLog(pMac, LOGP, FL("cfg get LimTDLSBufStaEnabled failed"));
+ return eSIR_FAILURE;
+ }
+ if(wlan_cfgGetInt(pMac, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,(tANI_U32 *) &pMac->lim.gLimTDLSUapsdMask) != eSIR_SUCCESS)
+ {
+ limLog(pMac, LOGP, FL("cfg get LimTDLSUapsdMask failed"));
+ return eSIR_FAILURE;
+ }
+#endif
return eSIR_SUCCESS;
}
diff --git a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
index cf7b4b0..235bb3e 100644
--- a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
+++ b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
@@ -1202,6 +1202,7 @@
case eWNI_SME_TDLS_SEND_MGMT_REQ:
case eWNI_SME_TDLS_ADD_STA_REQ:
case eWNI_SME_TDLS_DEL_STA_REQ:
+ case eWNI_SME_TDLS_LINK_ESTABLISH_REQ:
#endif
#ifdef FEATURE_WLAN_TDLS_INTERNAL
case eWNI_SME_TDLS_DISCOVERY_START_REQ:
@@ -1349,7 +1350,41 @@
limMsg->bodyptr = NULL;
}
break;
+#ifdef FEATURE_WLAN_TDLS
+ case SIR_HAL_TDLS_IND:
+ {
+ tSirTdlsInd *pTdlsInd = (tpSirTdlsInd)limMsg->bodyptr ;
+ tpDphHashNode pStaDs = NULL ;
+ tpPESession psessionEntry = NULL;
+ tANI_U8 sessionId;
+ if((psessionEntry = peFindSessionByStaId(pMac,pTdlsInd->staIdx,&sessionId))== NULL)
+ {
+ limLog(pMac, LOG1, FL("session does not exist for given bssId\n"));
+ palFreeMemory(pMac->hHdd, (tANI_U8 *)limMsg->bodyptr);
+ limMsg->bodyptr = NULL;
+ return;
+ }
+ if ((pStaDs = dphGetHashEntry(pMac, pTdlsInd->assocId, &psessionEntry->dph.dphHashTable)) == NULL)
+ {
+ limLog(pMac, LOG1, FL("pStaDs Does not exist for given staId\n"));
+ palFreeMemory(pMac->hHdd, (tANI_U8 *)limMsg->bodyptr);
+ limMsg->bodyptr = NULL;
+ return;
+ }
+ if ((STA_ENTRY_TDLS_PEER == pStaDs->staType))
+ {
+ limLog(pMac, LOGE,
+ FL("received TDLS Indication from the Firmware with Reason Code %d "),
+ pTdlsInd->reasonCode);
+ limSendSmeTDLSDelStaInd(pMac, pStaDs, psessionEntry,
+ /*pTdlsInd->reasonCode*/eSIR_MAC_TDLS_TEARDOWN_PEER_UNREACHABLE);
+ }
+ palFreeMemory(pMac->hHdd, (tANI_U8 *)limMsg->bodyptr);
+ limMsg->bodyptr = NULL;
+ }
+ break;
+#endif
case SIR_HAL_P2P_NOA_ATTR_IND:
{
tpPESession psessionEntry = &pMac->lim.gpSession[0];
@@ -1888,6 +1923,14 @@
#endif
}
break;
+#ifdef FEATURE_WLAN_TDLS
+ case WDA_SET_TDLS_LINK_ESTABLISH_REQ_RSP:
+ {
+ /*TODO Sunil , See how do you enhance this , Reason Code ???*/
+ limSendSmeTdlsLinkEstablishReqRsp(pMac, 0 , NULL, NULL, eSIR_SUCCESS ) ;
+ break;
+ }
+#endif
default:
vos_mem_free((v_VOID_t*)limMsg->bodyptr);
limMsg->bodyptr = NULL;
diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
index ae2c512..3196621 100644
--- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
@@ -5406,6 +5406,9 @@
case eWNI_SME_TDLS_DEL_STA_REQ:
limProcessSmeTdlsDelStaReq(pMac, pMsgBuf);
break;
+ case eWNI_SME_TDLS_LINK_ESTABLISH_REQ:
+ limProcesSmeTdlsLinkEstablishReq(pMac, pMsgBuf);
+ break;
#endif
#ifdef FEATURE_WLAN_TDLS_INTERNAL
case eWNI_SME_TDLS_DISCOVERY_START_REQ:
diff --git a/CORE/MAC/src/pe/lim/limProcessTdls.c b/CORE/MAC/src/pe/lim/limProcessTdls.c
index 73f3762..cb15591 100644
--- a/CORE/MAC/src/pe/lim/limProcessTdls.c
+++ b/CORE/MAC/src/pe/lim/limProcessTdls.c
@@ -1,44 +1,23 @@
/*
- * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
- *
- * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
- *
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-/*
- * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
- *
- * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
- *
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
+ * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+ *
+ * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
+ *
+ *
+ * Permission to use, copy, modify, and/or distribute this software for
+ * any purpose with or without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+*/
/*===========================================================================
limProcessTdls.c
@@ -49,10 +28,9 @@
Are listed for each API below.
-
- Copyright (c) 2010 QUALCOMM Incorporated.
+ Copyright (c) 2010 Qualcomm Technologies, Inc.
All Rights Reserved.
- Qualcomm Confidential and Proprietary
+ Qualcomm Technologies Confidential and Proprietary
===========================================================================*/
/*===========================================================================
@@ -1199,10 +1177,10 @@
tSirRetStatus limSendTdlsLinkSetupReqFrame(tpAniSirGlobal pMac,
tSirMacAddr peerMac, tANI_U8 dialog, tpPESession psessionEntry,
- tANI_U8 *addIe, tANI_U16 addIeLen)
+ tANI_U8 *addIe, tANI_U16 addIeLen)
{
tDot11fTDLSSetupReq tdlsSetupReq ;
- tANI_U16 caps = 0 ;
+ tANI_U16 caps = 0 ;
tANI_U32 status = 0 ;
tANI_U32 nPayload = 0 ;
tANI_U32 nBytes = 0 ;
@@ -1217,12 +1195,12 @@
// As of now, we hardcoded to max channel bonding of dot11Mode (i.e HT80 for 11ac/HT40 for 11n)
// uint32 tdlsChannelBondingMode;
- /*
+ /*
* The scheme here is to fill out a 'tDot11fProbeRequest' structure
* and then hand it off to 'dot11fPackProbeRequest' (for
* serialization). We start by zero-initializing the structure:
*/
- palZeroMemory( pMac->hHdd, ( tANI_U8* )&tdlsSetupReq,
+ palZeroMemory( pMac->hHdd, ( tANI_U8* )&tdlsSetupReq,
sizeof( tDot11fTDLSSetupReq ) );
tdlsSetupReq.Category.category = SIR_MAC_ACTION_TDLS ;
tdlsSetupReq.Action.action = SIR_MAC_TDLS_SETUP_REQ ;
@@ -1244,9 +1222,9 @@
swapBitField16(caps, ( tANI_U16* )&tdlsSetupReq.Capabilities );
/* populate supported rate IE */
- PopulateDot11fSuppRates( pMac, POPULATE_DOT11F_RATES_OPERATIONAL,
+ PopulateDot11fSuppRates( pMac, POPULATE_DOT11F_RATES_OPERATIONAL,
&tdlsSetupReq.SuppRates, psessionEntry );
-
+
/* Populate extended supported rates */
PopulateDot11fExtSuppRates( pMac, POPULATE_DOT11F_RATES_OPERATIONAL,
&tdlsSetupReq.ExtSuppRates, psessionEntry );
@@ -1254,10 +1232,10 @@
/* Populate extended supported rates */
PopulateDot11fTdlsExtCapability( pMac, &tdlsSetupReq.ExtCap );
- /*
+ /*
* TODO: we need to see if we have to support conditions where we have
* EDCA parameter info element is needed a) if we need different QOS
- * parameters for off channel operations or QOS is not supported on
+ * parameters for off channel operations or QOS is not supported on
* AP link and we wanted to QOS on direct link.
*/
/* Populate QOS info, needed for Peer U-APSD session */
@@ -1266,11 +1244,11 @@
tdlsSetupReq.QOSCapsStation.present = 1;
tdlsSetupReq.QOSCapsStation.max_sp_length = 0;
tdlsSetupReq.QOSCapsStation.qack = 0;
- tdlsSetupReq.QOSCapsStation.acbe_uapsd = 0;
- tdlsSetupReq.QOSCapsStation.acbk_uapsd = 0;
- tdlsSetupReq.QOSCapsStation.acvi_uapsd = 0;
- tdlsSetupReq.QOSCapsStation.acvo_uapsd = 0;
-
+ tdlsSetupReq.QOSCapsStation.acbe_uapsd = ((pMac->lim.gLimTDLSUapsdMask & 0x08) >> 3) ;
+ tdlsSetupReq.QOSCapsStation.acbk_uapsd = ((pMac->lim.gLimTDLSUapsdMask & 0x04)>> 2);
+ tdlsSetupReq.QOSCapsStation.acvi_uapsd = ((pMac->lim.gLimTDLSUapsdMask & 0x02)>> 1);
+ tdlsSetupReq.QOSCapsStation.acvo_uapsd = (pMac->lim.gLimTDLSUapsdMask & 0x01);
+
/*
* we will always try to init TDLS link with 11n capabilities
@@ -1338,10 +1316,10 @@
}
#endif
}
- /*
+ /*
* now we pack it. First, how much space are we going to need?
*/
- status = dot11fGetPackedTDLSSetupReqSize( pMac, &tdlsSetupReq,
+ status = dot11fGetPackedTDLSSetupReqSize( pMac, &tdlsSetupReq,
&nPayload);
if ( DOT11F_FAILED( status ) )
{
@@ -1362,7 +1340,7 @@
* This frame is going out from PE as data frames with special ethertype
* 89-0d.
* 8 bytes of RFC 1042 header
- */
+ */
nBytes = nPayload + ((IS_QOS_ENABLED(psessionEntry))
@@ -1386,28 +1364,28 @@
/* zero out the memory */
palZeroMemory( pMac->hHdd, pFrame, nBytes );
- /*
+ /*
* IE formation, memory allocation is completed, Now form TDLS discovery
* request frame
*/
/* fill out the buffer descriptor */
- header_offset = limPrepareTdlsFrameHeader(pMac, pFrame,
+ header_offset = limPrepareTdlsFrameHeader(pMac, pFrame,
LINK_IDEN_ADDR_OFFSET(tdlsSetupReq), TDLS_LINK_AP, TDLS_INITIATOR, TID_AC_BK, psessionEntry) ;
#ifdef FEATURE_WLAN_TDLS_NEGATIVE
if(pMac->lim.gLimTdlsNegativeBehavior & LIM_TDLS_NEGATIVE_WRONG_BSSID_IN_SETUP_REQ)
{
tdlsSetupReq.LinkIdentifier.bssid[4] = 0xde;
- tdlsSetupReq.LinkIdentifier.bssid[5] = 0xad;
- VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_ERROR,
+ tdlsSetupReq.LinkIdentifier.bssid[5] = 0xad;
+ VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_ERROR,
("TDLS negative running: wrong BSSID %02x:%02x:%02x:%02x:%02x:%02x in TDLS Setup Req"), \
- tdlsSetupReq.LinkIdentifier.bssid[0],
- tdlsSetupReq.LinkIdentifier.bssid[1],
- tdlsSetupReq.LinkIdentifier.bssid[2],
- tdlsSetupReq.LinkIdentifier.bssid[3],
- tdlsSetupReq.LinkIdentifier.bssid[4],
+ tdlsSetupReq.LinkIdentifier.bssid[0],
+ tdlsSetupReq.LinkIdentifier.bssid[1],
+ tdlsSetupReq.LinkIdentifier.bssid[2],
+ tdlsSetupReq.LinkIdentifier.bssid[3],
+ tdlsSetupReq.LinkIdentifier.bssid[4],
tdlsSetupReq.LinkIdentifier.bssid[5]);
}
#endif
@@ -1415,7 +1393,7 @@
__func__, tdlsSetupReq.VHTCaps.supportedChannelWidthSet, tdlsSetupReq.VHTCaps.rxMCSMap,
tdlsSetupReq.VHTCaps.txMCSMap, tdlsSetupReq.VHTCaps.txSupDataRate );
- status = dot11fPackTDLSSetupReq( pMac, &tdlsSetupReq, pFrame
+ status = dot11fPackTDLSSetupReq( pMac, &tdlsSetupReq, pFrame
+ header_offset, nPayload, &nPayload );
if ( DOT11F_FAILED( status ) )
@@ -1432,7 +1410,7 @@
"Discovery Request (0x%08x).") );
}
- //Copy the additional IE.
+ //Copy the additional IE.
//TODO : addIe is added at the end of the frame. This means it doesnt
//follow the order. This should be ok, but we should consider changing this
//if there is any IOT issue.
@@ -1471,7 +1449,7 @@
tSirRetStatus limSendTdlsTeardownFrame(tpAniSirGlobal pMac,
tSirMacAddr peerMac, tANI_U16 reason, tANI_U8 responder, tpPESession psessionEntry,
- tANI_U8 *addIe, tANI_U16 addIeLen)
+ tANI_U8 *addIe, tANI_U16 addIeLen)
{
tDot11fTDLSTeardown teardown ;
tANI_U32 status = 0 ;
@@ -1484,22 +1462,22 @@
#ifndef NO_PAD_TDLS_MIN_8023_SIZE
tANI_U32 padLen = 0;
#endif
- /*
+ /*
* The scheme here is to fill out a 'tDot11fProbeRequest' structure
* and then hand it off to 'dot11fPackProbeRequest' (for
* serialization). We start by zero-initializing the structure:
*/
- palZeroMemory( pMac->hHdd, ( tANI_U8* )&teardown,
+ palZeroMemory( pMac->hHdd, ( tANI_U8* )&teardown,
sizeof( tDot11fTDLSTeardown ) );
teardown.Category.category = SIR_MAC_ACTION_TDLS ;
teardown.Action.action = SIR_MAC_TDLS_TEARDOWN ;
teardown.Reason.code = reason ;
- PopulateDot11fLinkIden( pMac, psessionEntry, &teardown.LinkIdentifier,
+ PopulateDot11fLinkIden( pMac, psessionEntry, &teardown.LinkIdentifier,
peerMac, (responder == TRUE) ? TDLS_RESPONDER : TDLS_INITIATOR) ;
- /*
+ /*
* now we pack it. First, how much space are we going to need?
*/
status = dot11fGetPackedTDLSTeardownSize( pMac, &teardown, &nPayload);
@@ -1522,7 +1500,7 @@
* This frame is going out from PE as data frames with special ethertype
* 89-0d.
* 8 bytes of RFC 1042 header
- */
+ */
nBytes = nPayload + ((IS_QOS_ENABLED(psessionEntry))
@@ -1563,28 +1541,28 @@
/* zero out the memory */
palZeroMemory( pMac->hHdd, pFrame, nBytes );
- /*
+ /*
* IE formation, memory allocation is completed, Now form TDLS discovery
* request frame
*/
/* fill out the buffer descriptor */
- header_offset = limPrepareTdlsFrameHeader(pMac, pFrame,
- LINK_IDEN_ADDR_OFFSET(teardown),
- (reason == eSIR_MAC_TDLS_TEARDOWN_PEER_UNREACHABLE)
+ header_offset = limPrepareTdlsFrameHeader(pMac, pFrame,
+ LINK_IDEN_ADDR_OFFSET(teardown),
+ (reason == eSIR_MAC_TDLS_TEARDOWN_PEER_UNREACHABLE)
? TDLS_LINK_AP : TDLS_LINK_DIRECT,
(responder == TRUE) ? TDLS_RESPONDER : TDLS_INITIATOR,
TID_AC_VI, psessionEntry) ;
- status = dot11fPackTDLSTeardown( pMac, &teardown, pFrame
+ status = dot11fPackTDLSTeardown( pMac, &teardown, pFrame
+ header_offset, nPayload, &nPayload );
if ( DOT11F_FAILED( status ) )
{
limLog( pMac, LOGE, FL("Failed to pack a TDLS Teardown req \
(0x%08x)."), status );
- palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT,
+ palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT,
( void* ) pFrame, ( void* ) pPacket );
return eSIR_FAILURE;
}
@@ -1594,10 +1572,10 @@
"Teardown Request (0x%08x).") );
}
#if 0
- if(pMac->hal.pCBackFnTxComp == NULL)
+ if(pMac->hal.pCBackFnTxComp == NULL)
{
pMac->hal.pCBackFnTxComp = (tpCBackFnTxComp)limTdlsTeardownTxComplete;
- if(TX_SUCCESS != tx_timer_activate(&pMac->hal.txCompTimer))
+ if(TX_SUCCESS != tx_timer_activate(&pMac->hal.txCompTimer))
{
status = eHAL_STATUS_FAILURE;
return status;
@@ -1610,12 +1588,12 @@
return status ;
}
#endif
-
+
if( addIeLen != 0 )
{
LIM_LOG_TDLS(VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_ERROR, ("Copy Additional Ie Len = %d"),
addIeLen ));
- palCopyMemory( pMac->hHdd, pFrame + header_offset + nPayload, addIe, addIeLen );
+ palCopyMemory( pMac->hHdd, pFrame + header_offset + nPayload, addIe, addIeLen );
}
#ifndef NO_PAD_TDLS_MIN_8023_SIZE
@@ -1646,7 +1624,7 @@
HAL_TXRX_FRM_802_11_DATA,
ANI_TXDIR_TODS,
TID_AC_VI,
- limTxComplete, pFrame,
+ limTxComplete, pFrame,
limMgmtTXComplete,
HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME );
if ( ! HAL_STATUS_SUCCESS ( halstatus ) )
@@ -1736,10 +1714,10 @@
tdlsSetupRsp.QOSCapsStation.present = 1;
tdlsSetupRsp.QOSCapsStation.max_sp_length = 0;
tdlsSetupRsp.QOSCapsStation.qack = 0;
- tdlsSetupRsp.QOSCapsStation.acbe_uapsd = 1;
- tdlsSetupRsp.QOSCapsStation.acbk_uapsd = 1;
- tdlsSetupRsp.QOSCapsStation.acvi_uapsd = 1;
- tdlsSetupRsp.QOSCapsStation.acvo_uapsd = 1;
+ tdlsSetupRsp.QOSCapsStation.acbe_uapsd = ((pMac->lim.gLimTDLSUapsdMask & 0x08) >> 3);
+ tdlsSetupRsp.QOSCapsStation.acbk_uapsd = ((pMac->lim.gLimTDLSUapsdMask & 0x04) >> 2);
+ tdlsSetupRsp.QOSCapsStation.acvi_uapsd = ((pMac->lim.gLimTDLSUapsdMask & 0x02) >> 1);
+ tdlsSetupRsp.QOSCapsStation.acvo_uapsd = (pMac->lim.gLimTDLSUapsdMask & 0x01);
wlan_cfgGetInt(pMac,WNI_CFG_DOT11_MODE,&selfDot11Mode);
@@ -5110,7 +5088,7 @@
tDot11fIEExtCap *extCapability)
{
extCapability->TDLSPeerPSMSupp = PEER_PSM_SUPPORT ;
- extCapability->TDLSPeerUAPSDBufferSTA = PEER_BUFFER_STA_SUPPORT ;
+ extCapability->TDLSPeerUAPSDBufferSTA = pMac->lim.gLimTDLSBufStaEnabled;
extCapability->TDLSChannelSwitching = CH_SWITCH_SUPPORT ;
extCapability->TDLSSupport = TDLS_SUPPORT ;
extCapability->TDLSProhibited = TDLS_PROHIBITED ;
@@ -5315,6 +5293,38 @@
}
/*
+ * Send Response to Link Establish Request to SME
+ */
+void limSendSmeTdlsLinkEstablishReqRsp(tpAniSirGlobal pMac,
+ tANI_U8 sessionId, tSirMacAddr peerMac, tDphHashNode *pStaDs,
+ tANI_U8 status)
+{
+ tSirMsgQ mmhMsg = {0} ;
+
+ tSirTdlsLinkEstablishReqRsp *pTdlsLinkEstablishReqRsp = NULL ;
+
+ if(eHAL_STATUS_SUCCESS != palAllocateMemory(pMac->hHdd,(void * *) &pTdlsLinkEstablishReqRsp,
+ (sizeof(tSirTdlsLinkEstablishReqRsp))))
+ {
+ PELOGE(limLog(pMac, LOGE, FL("Failed to allocate memory"));)
+ return ;
+ }
+ pTdlsLinkEstablishReqRsp->statusCode = status ;
+ if( peerMac )
+ {
+ palCopyMemory(pMac->hHdd, pTdlsLinkEstablishReqRsp->peerMac, peerMac, sizeof(tSirMacAddr));
+ }
+ pTdlsLinkEstablishReqRsp->sessionId = sessionId;
+ mmhMsg.type = eWNI_SME_TDLS_LINK_ESTABLISH_RSP ;
+ mmhMsg.bodyptr = pTdlsLinkEstablishReqRsp;
+ mmhMsg.bodyval = 0;
+ limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT);
+ return ;
+
+
+}
+
+/*
* Once link is teardown, send Del Peer Ind to SME
*/
static eHalStatus limSendSmeTdlsDelStaRsp(tpAniSirGlobal pMac,
@@ -5490,6 +5500,99 @@
return eSIR_SUCCESS;
}
+
+/*
+ * Process Link Establishment Request from SME .
+ */
+tSirRetStatus limProcesSmeTdlsLinkEstablishReq(tpAniSirGlobal pMac,
+ tANI_U32 *pMsgBuf)
+{
+ /* get all discovery request parameters */
+ tSirTdlsLinkEstablishReq *pTdlsLinkEstablishReq = (tSirTdlsLinkEstablishReq*) pMsgBuf ;
+ tpPESession psessionEntry;
+ tANI_U8 sessionId;
+ tpTdlsLinkEstablishParams pMsgTdlsLinkEstablishReq;
+ tSirMsgQ msg;
+ tANI_U16 peerIdx = 0 ;
+ tpDphHashNode pStaDs = NULL ;
+
+ VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_INFO,
+ ("Send Mgmt Recieved\n")) ;
+
+ if((psessionEntry = peFindSessionByBssid(pMac, pTdlsLinkEstablishReq->bssid, &sessionId))
+ == NULL)
+ {
+ VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_ERROR,
+ "PE Session does not exist for given sme sessionId %d\n",
+ pTdlsLinkEstablishReq->sessionId);
+ limSendSmeTdlsLinkEstablishReqRsp(pMac, pTdlsLinkEstablishReq->sessionId, pTdlsLinkEstablishReq->peerMac,
+ NULL, eSIR_FAILURE) ;
+ return eSIR_FAILURE;
+ }
+
+ /* check if we are in proper state to work as TDLS client */
+ if (psessionEntry->limSystemRole != eLIM_STA_ROLE)
+ {
+ VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_ERROR,
+ "TDLS Link Establish Request received in wrong system Role %d\n",
+ psessionEntry->limSystemRole);
+ goto lim_tdls_link_establish_error;
+ }
+
+ /*
+ * if we are still good, go ahead and check if we are in proper state to
+ * do TDLS discovery req/rsp/....frames.
+ */
+ if ((psessionEntry->limSmeState != eLIM_SME_ASSOCIATED_STATE) &&
+ (psessionEntry->limSmeState != eLIM_SME_LINK_EST_STATE))
+ {
+
+ limLog(pMac, LOGE, "TDLS Link Establish Request received in invalid LIMsme \
+ state (%d)\n", psessionEntry->limSmeState);
+ goto lim_tdls_link_establish_error;
+ }
+ /*TODO Sunil , TDLSPeer Entry has the STA ID , Use it */
+ pStaDs = dphLookupHashEntry(pMac, pTdlsLinkEstablishReq->peerMac, &peerIdx,
+ &psessionEntry->dph.dphHashTable) ;
+ if ( NULL == pStaDs )
+ {
+ limLog( pMac, LOGE, FL( "pStaDs is NULL \n" ));
+ goto lim_tdls_link_establish_error;
+
+ }
+ if ( eHAL_STATUS_SUCCESS != palAllocateMemory(
+ pMac->hHdd, (void **) &pMsgTdlsLinkEstablishReq, sizeof( tTdlsLinkEstablishParams )))
+ {
+ limLog( pMac, LOGE,
+ FL( "Unable to allocate memory TDLS Link Establish Request \n" ));
+ return eSIR_MEM_ALLOC_FAILED;
+ }
+
+ palZeroMemory( pMac->hHdd, (tANI_U8 *)pMsgTdlsLinkEstablishReq, sizeof(tpTdlsLinkEstablishParams));
+
+ pMsgTdlsLinkEstablishReq->sta_idx = pStaDs->staIndex;
+ pMsgTdlsLinkEstablishReq->is_responder = pTdlsLinkEstablishReq->isResponder;
+ pMsgTdlsLinkEstablishReq->uapsd_queues = pTdlsLinkEstablishReq->uapsdQueues;
+ pMsgTdlsLinkEstablishReq->max_sp = pTdlsLinkEstablishReq->maxSp;
+ pMsgTdlsLinkEstablishReq->is_bufsta = pTdlsLinkEstablishReq->isBufSta;
+ msg.type = WDA_SET_TDLS_LINK_ESTABLISH_REQ;
+ msg.reserved = 0;
+ msg.bodyptr = pMsgTdlsLinkEstablishReq;
+ msg.bodyval = 0;
+ if(eSIR_SUCCESS != wdaPostCtrlMsg(pMac, &msg))
+ {
+ limLog(pMac, LOGE, FL("halPostMsgApi failed\n"));
+ goto lim_tdls_link_establish_error;
+ }
+ return eSIR_SUCCESS;
+lim_tdls_link_establish_error:
+ limSendSmeTdlsLinkEstablishReqRsp(pMac, psessionEntry->smeSessionId, pTdlsLinkEstablishReq->peerMac,
+ NULL, eSIR_FAILURE) ;
+
+ return eSIR_SUCCESS;
+}
+
+
/* Delete all the TDLS peer connected before leaving the BSS */
tSirRetStatus limDeleteTDLSPeers(tpAniSirGlobal pMac, tpPESession psessionEntry)
{
diff --git a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.h b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.h
index 3ef5351..bb7ac66 100644
--- a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.h
+++ b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.h
@@ -1,44 +1,23 @@
/*
- * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
- *
- * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
- *
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-/*
- * Copyright (c) 2012, The Linux Foundation. All rights reserved.
- *
- * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
- *
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
+ * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+ *
+ * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
+ *
+ *
+ * Permission to use, copy, modify, and/or distribute this software for
+ * any purpose with or without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+*/
/*
* Airgo Networks, Inc proprietary. All rights reserved.
* This file limSendSmeRspMessages.h contains the definitions for
@@ -124,6 +103,9 @@
void limSendSmeTdlsDisRsp(tpAniSirGlobal pMac, tSirResultCodes statusCode, tANI_U16 msgType);
void limSendSmeTdlsLinkStartRsp(tpAniSirGlobal pMac, tSirResultCodes statusCode, tSirMacAddr peerMac, tANI_U16 msgType);
void limSendSmeTdlsTeardownRsp(tpAniSirGlobal pMac, tSirResultCodes statusCode, tSirMacAddr peerMac, tANI_U16 msgType);
+void limSendSmeTdlsLinkEstablishReqRsp(tpAniSirGlobal pMac,
+ tANI_U8 sessionId, tSirMacAddr peerMac, tDphHashNode *pStaDs,
+ tANI_U8 status);
#endif
#endif /* __LIM_SEND_SME_RSP_H */
diff --git a/CORE/MAC/src/pe/lim/limTypes.h b/CORE/MAC/src/pe/lim/limTypes.h
index 00bff88..8f86cf9 100644
--- a/CORE/MAC/src/pe/lim/limTypes.h
+++ b/CORE/MAC/src/pe/lim/limTypes.h
@@ -739,6 +739,8 @@
tANI_U32 *pMsgBuf);
tSirRetStatus limProcessSmeTdlsAddStaReq(tpAniSirGlobal pMac,
tANI_U32 *pMsgBuf);
+tSirRetStatus limProcesSmeTdlsLinkEstablishReq(tpAniSirGlobal pMac,
+ tANI_U32 *pMsgBuf);
tSirRetStatus limProcessSmeTdlsDelStaReq(tpAniSirGlobal pMac,
tANI_U32 *pMsgBuf);
void limSendSmeTDLSDeleteAllPeerInd(tpAniSirGlobal pMac, tpPESession psessionEntry);