[PATCH v2 05/10] mesh: Reduce none 11N Self-protected Action frame allocation size

Masashi Honma masashi.honma
Fri Nov 14 17:35:27 PST 2014


Signed-off-by: Natsuki Itaya <Natsuki.Itaya at jp.sony.com>
Signed-off-by: Masashi Honma <masashi.honma at gmail.com>
---
 wpa_supplicant/mesh_mpm.c | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/wpa_supplicant/mesh_mpm.c b/wpa_supplicant/mesh_mpm.c
index 4600672..99dbf52 100644
--- a/wpa_supplicant/mesh_mpm.c
+++ b/wpa_supplicant/mesh_mpm.c
@@ -220,21 +220,28 @@ static void mesh_mpm_send_plink_action(struct wpa_supplicant *wpa_s,
 	u8 ie_len, add_plid = 0;
 	int ret;
 	int ampe = conf->security & MESH_CONF_SEC_AMPE;
+	size_t buf_len;
 
 	if (!sta)
 		return;
 
-	buf = wpabuf_alloc(2 +      /* capability info */
-			   2 +      /* AID */
-			   2 + 8 +  /* supported rates */
-			   2 + (32 - 8) +
-			   2 + 32 + /* mesh ID */
-			   2 + 7 +  /* mesh config */
-			   2 + 26 + /* HT capabilities */
-			   2 + 22 + /* HT operation */
-			   2 + 23 + /* peering management */
-			   2 + 96 + /* AMPE */
-			   2 + 16); /* MIC */
+	buf_len = 2 +      /* capability info */
+		  2 +      /* AID */
+		  2 + 8 +  /* supported rates */
+		  2 + (32 - 8) +
+		  2 + 32 + /* mesh ID */
+		  2 + 7 +  /* mesh config */
+		  2 + 23 + /* peering management */
+		  2 + 96 + /* AMPE */
+		  2 + 16;  /* MIC */
+#ifdef CONFIG_IEEE80211N
+	if (type != PLINK_CLOSE &&
+	    wpa_s->current_ssid->mesh_ht_mode > CHAN_NO_HT) {
+		buf_len += 2 + 26 + /* HT capabilities */
+			   2 + 22;  /* HT operation */
+	}
+#endif /* CONFIG_IEEE80211N */
+	buf = wpabuf_alloc(buf_len);
 	if (!buf)
 		return;
 
-- 
1.9.1




More information about the Hostap mailing list