mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-20 08:39:05 +00:00
feature: support tx amsdu
This commit is contained in:
@@ -162,6 +162,7 @@ struct wpa_auth_config {
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
int disable_gtk;
|
||||
int ap_mlme;
|
||||
struct rsn_sppamsdu_sup spp_sup;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
|
@@ -118,6 +118,7 @@ struct wpa_state_machine {
|
||||
int pending_1_of_4_timeout;
|
||||
u32 index;
|
||||
ETSTimer resend_eapol;
|
||||
struct rsn_sppamsdu_sup spp_sup;
|
||||
};
|
||||
|
||||
|
||||
|
@@ -222,6 +222,15 @@ int wpa_write_rsn_ie(struct wpa_auth_config *conf, u8 *buf, size_t len,
|
||||
/* 4 PTKSA replay counters when using WMM */
|
||||
capab |= (RSN_NUM_REPLAY_COUNTERS_16 << 2);
|
||||
}
|
||||
|
||||
if (conf->spp_sup.capable) {
|
||||
capab |= WPA_CAPABILITY_SPP_CAPABLE;
|
||||
}
|
||||
|
||||
if (conf->spp_sup.require) {
|
||||
capab |= WPA_CAPABILITY_SPP_REQUIRED;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (conf->ieee80211w != NO_MGMT_FRAME_PROTECTION) {
|
||||
capab |= WPA_CAPABILITY_MFPC;
|
||||
@@ -487,6 +496,18 @@ int wpa_validate_wpa_ie(struct wpa_authenticator *wpa_auth,
|
||||
return WPA_INVALID_PAIRWISE;
|
||||
}
|
||||
|
||||
if (data.capabilities & WPA_CAPABILITY_SPP_CAPABLE) {
|
||||
sm->spp_sup.capable = SPP_AMSDU_CAP_ENABLE;
|
||||
} else {
|
||||
sm->spp_sup.capable = SPP_AMSDU_CAP_DISABLE;
|
||||
}
|
||||
|
||||
if (data.capabilities & WPA_CAPABILITY_SPP_REQUIRED) {
|
||||
sm->spp_sup.require = SPP_AMSDU_REQ_ENABLE;
|
||||
} else {
|
||||
sm->spp_sup.require = SPP_AMSDU_REQ_DISABLE;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IEEE80211W
|
||||
if (wpa_auth->conf.ieee80211w == MGMT_FRAME_PROTECTION_REQUIRED) {
|
||||
if (!(data.capabilities & WPA_CAPABILITY_MFPC)) {
|
||||
|
Reference in New Issue
Block a user