simbit18 commented on code in PR #17008:
URL: https://github.com/apache/nuttx/pull/17008#discussion_r2343356918
##########
arch/xtensa/src/common/espressif/Kconfig:
##########
@@ -1288,49 +1319,182 @@ config ESPRESSIF_WIFI_ENABLE_SAE_H2E
---help---
Select this option to enable SAE-H2E
-config ESP_WIFI_ENABLE_WPA3_OWE_STA
+config ESPRESSIF_WIFI_SOFTAP_SAE_SUPPORT
+ bool "Enable WPA3 Personal(SAE) SoftAP"
+ default y
+ depends on ESPRESSIF_WIFI_ENABLE_WPA3_SAE
+ depends on ESPRESSIF_WIFI_SOFTAP || ESPRESSIF_WIFI_STATION_SOFTAP
+ ---help---
+ Select this option to enable SAE support in softAP mode.
+
+config ESPRESSIF_WIFI_ENABLE_WPA3_OWE_STA
bool "Enable OWE STA"
default y
---help---
Select this option to allow the device to establish OWE
connection with eligible AP's.
PMF (Protected Management Frames) is a prerequisite feature for
a WPA3 connection, it needs to be
explicitly configured before attempting connection. Please
refer to the Wi-Fi Driver API Guide for details.
-config ESPRESSIF_WIFI_STATIC_RXBUF_NUM
- int "Wi-Fi static RX buffer number"
+choice ESPRESSIF_WIFI_MGMT_RX_BUFFER
+ prompt "Type of WiFi RX MGMT buffers"
+ default ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER
+ help
+ Select type of WiFi RX MGMT buffers:
+
+ If "Static" is selected, WiFi RX MGMT buffers are allocated
when WiFi is initialized and released
+ when WiFi is de-initialized. The size of each static RX MGMT
buffer is fixed to about 500 Bytes.
+
+ If "Dynamic" is selected, each WiFi RX MGMT buffer is allocated
as needed when a MGMT data frame is
+ received. The MGMT buffer is freed after the MGMT data frame
has been processed by the WiFi driver.
+
+ config ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER
+ bool "Static"
+ config ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER
+ bool "Dynamic"
+endchoice
+
+config ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER_TYPE
+ int
+ default 0 if ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER
+ default 1 if ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER
+
+config ESPRESSIF_WIFI_STATIC_RX_BUFFER_NUM
+ int "Max number of WiFi static RX buffers"
+ range 2 25
default 10
+ ---help---
+ Set the number of WiFi static RX buffers. Each buffer takes
approximately 1.6KB of RAM.
+ The static rx buffers are allocated when esp_wifi_init is
called, they are not freed
+ until esp_wifi_deinit is called.
+
+ WiFi hardware use these buffers to receive all 802.11 frames.
+ A higher number may allow higher throughput but increases
memory use. If ESPRESSIF_WIFI_AMPDU_RX_ENABLED
+ is enabled, this value is recommended to set equal or bigger
than ESPRESSIF_WIFI_RX_BA_WIN in order to
+ achieve better throughput and compatibility with both stations
and APs.
-config ESPRESSIF_WIFI_DYNAMIC_RXBUF_NUM
- int "Wi-Fi dynamic RX buffer number"
+config ESPRESSIF_WIFI_DYNAMIC_RX_BUFFER_NUM
+ int "Max number of WiFi dynamic RX buffers"
default 32
+ ---help---
+ Set the number of WiFi dynamic RX buffers, 0 means unlimited RX
buffers will be allocated
+ (provided sufficient free RAM). The size of each dynamic RX
buffer depends on the size of
+ the received data frame.
+
+ For each received data frame, the WiFi driver makes a copy to
an RX buffer and then delivers
+ it to the high layer TCP/IP stack. The dynamic RX buffer is
freed after the higher layer has
+ successfully received the data frame.
+
+ For some applications, WiFi data frames may be received faster
than the application can
+ process them. In these cases we may run out of memory if RX
buffer number is unlimited (0).
+
+ If a dynamic RX buffer limit is set, it should be at least the
number of static RX buffers.
+
+choice ESPRESSIF_WIFI_TX_BUFFER
+ prompt "Type of WiFi TX buffers"
+ default ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER
+ help
+ Select type of WiFi TX buffers:
+
+ If "Static" is selected, WiFi TX buffers are allocated when
WiFi is initialized and released
+ when WiFi is de-initialized. The size of each static TX buffer
is fixed to about 1.6KB.
+
+ If "Dynamic" is selected, each WiFi TX buffer is allocated as
needed when a data frame is
+ delivered to the Wifi driver from the TCP/IP stack. The buffer
is freed after the data frame
+ has been sent by the WiFi driver. The size of each dynamic TX
buffer depends on the length
+ of each data frame sent by the TCP/IP layer.
+
+ If PSRAM is enabled, "Static" should be selected to guarantee
enough WiFi TX buffers.
+ If PSRAM is disabled, "Dynamic" should be selected to improve
the utilization of RAM.
+
+ TODO: There is a special dependency for Dynamic if SPIRAM is
enabled.
+
+ config ESPRESSIF_WIFI_STATIC_TX_BUFFER
+ bool "Static"
+ config ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER
+ bool "Dynamic"
+endchoice
+
+config ESPRESSIF_WIFI_TX_BUFFER_TYPE
+ int
+ default 0 if ESPRESSIF_WIFI_STATIC_TX_BUFFER
+ default 1 if ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER
+
+config ESPRESSIF_WIFI_STATIC_TX_BUFFER_NUM
+ int "Max number of WiFi static TX buffers"
+ range 2 64
+ default 16
+ ---help---
+ Set the number of WiFi static TX buffers. Each buffer takes
approximately 1.6KB of RAM.
+ The static RX buffers are allocated when esp_wifi_init() is
called, they are not released
+ until esp_wifi_deinit() is called.
+
+ This value might be reduced to save memory if the application
does not need to send
+ frames at a high rate.
-config ESPRESSIF_WIFI_DYNAMIC_TXBUF_NUM
- int "Wi-Fi dynamic TX buffer number"
+ For each transmitted data frame from the higher layer TCP/IP
stack, the WiFi driver makes a
+ copy of it in a TX buffer. For some applications especially
UDP applications, the upper
+ layer can deliver frames faster than WiFi layer can transmit.
In these cases, we may run out
+ of TX buffers.
+
+config ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER_NUM
+ int "Max number of WiFi dynamic TX buffers"
+ range 1 128
default 32
+ ---help---
+ Set the number of WiFi dynamic TX buffers. The size of each
dynamic TX buffer is not fixed,
+ it depends on the size of each transmitted data frame.
+
+ For each transmitted frame from the higher layer TCP/IP stack,
the WiFi driver makes a copy
+ of it in a TX buffer. For some applications, especially UDP
applications, the upper layer
+ can deliver frames faster than WiFi layer can transmit. In
these cases, we may run out of TX
+ buffers.
+
+config ESPRESSIF_WIFI_RX_MGMT_BUF_NUM_DEF
+ int "Max number of WiFi RX MGMT buffers"
+ range 1 10
+ default 5
+ help
Review Comment:
help -> ---help---
##########
arch/xtensa/src/common/espressif/Kconfig:
##########
@@ -1288,49 +1319,182 @@ config ESPRESSIF_WIFI_ENABLE_SAE_H2E
---help---
Select this option to enable SAE-H2E
-config ESP_WIFI_ENABLE_WPA3_OWE_STA
+config ESPRESSIF_WIFI_SOFTAP_SAE_SUPPORT
+ bool "Enable WPA3 Personal(SAE) SoftAP"
+ default y
+ depends on ESPRESSIF_WIFI_ENABLE_WPA3_SAE
+ depends on ESPRESSIF_WIFI_SOFTAP || ESPRESSIF_WIFI_STATION_SOFTAP
+ ---help---
+ Select this option to enable SAE support in softAP mode.
+
+config ESPRESSIF_WIFI_ENABLE_WPA3_OWE_STA
bool "Enable OWE STA"
default y
---help---
Select this option to allow the device to establish OWE
connection with eligible AP's.
PMF (Protected Management Frames) is a prerequisite feature for
a WPA3 connection, it needs to be
explicitly configured before attempting connection. Please
refer to the Wi-Fi Driver API Guide for details.
-config ESPRESSIF_WIFI_STATIC_RXBUF_NUM
- int "Wi-Fi static RX buffer number"
+choice ESPRESSIF_WIFI_MGMT_RX_BUFFER
+ prompt "Type of WiFi RX MGMT buffers"
+ default ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER
+ help
+ Select type of WiFi RX MGMT buffers:
+
+ If "Static" is selected, WiFi RX MGMT buffers are allocated
when WiFi is initialized and released
+ when WiFi is de-initialized. The size of each static RX MGMT
buffer is fixed to about 500 Bytes.
+
+ If "Dynamic" is selected, each WiFi RX MGMT buffer is allocated
as needed when a MGMT data frame is
+ received. The MGMT buffer is freed after the MGMT data frame
has been processed by the WiFi driver.
+
+ config ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER
+ bool "Static"
+ config ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER
+ bool "Dynamic"
+endchoice
+
+config ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER_TYPE
+ int
+ default 0 if ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER
+ default 1 if ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER
+
+config ESPRESSIF_WIFI_STATIC_RX_BUFFER_NUM
+ int "Max number of WiFi static RX buffers"
+ range 2 25
default 10
+ ---help---
+ Set the number of WiFi static RX buffers. Each buffer takes
approximately 1.6KB of RAM.
+ The static rx buffers are allocated when esp_wifi_init is
called, they are not freed
+ until esp_wifi_deinit is called.
+
+ WiFi hardware use these buffers to receive all 802.11 frames.
+ A higher number may allow higher throughput but increases
memory use. If ESPRESSIF_WIFI_AMPDU_RX_ENABLED
+ is enabled, this value is recommended to set equal or bigger
than ESPRESSIF_WIFI_RX_BA_WIN in order to
+ achieve better throughput and compatibility with both stations
and APs.
-config ESPRESSIF_WIFI_DYNAMIC_RXBUF_NUM
- int "Wi-Fi dynamic RX buffer number"
+config ESPRESSIF_WIFI_DYNAMIC_RX_BUFFER_NUM
+ int "Max number of WiFi dynamic RX buffers"
default 32
+ ---help---
+ Set the number of WiFi dynamic RX buffers, 0 means unlimited RX
buffers will be allocated
+ (provided sufficient free RAM). The size of each dynamic RX
buffer depends on the size of
+ the received data frame.
+
+ For each received data frame, the WiFi driver makes a copy to
an RX buffer and then delivers
+ it to the high layer TCP/IP stack. The dynamic RX buffer is
freed after the higher layer has
+ successfully received the data frame.
+
+ For some applications, WiFi data frames may be received faster
than the application can
+ process them. In these cases we may run out of memory if RX
buffer number is unlimited (0).
+
+ If a dynamic RX buffer limit is set, it should be at least the
number of static RX buffers.
+
+choice ESPRESSIF_WIFI_TX_BUFFER
+ prompt "Type of WiFi TX buffers"
+ default ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER
+ help
Review Comment:
help -> ---help---
##########
arch/xtensa/src/common/espressif/Kconfig:
##########
@@ -1288,49 +1319,182 @@ config ESPRESSIF_WIFI_ENABLE_SAE_H2E
---help---
Select this option to enable SAE-H2E
-config ESP_WIFI_ENABLE_WPA3_OWE_STA
+config ESPRESSIF_WIFI_SOFTAP_SAE_SUPPORT
+ bool "Enable WPA3 Personal(SAE) SoftAP"
+ default y
+ depends on ESPRESSIF_WIFI_ENABLE_WPA3_SAE
+ depends on ESPRESSIF_WIFI_SOFTAP || ESPRESSIF_WIFI_STATION_SOFTAP
+ ---help---
+ Select this option to enable SAE support in softAP mode.
+
+config ESPRESSIF_WIFI_ENABLE_WPA3_OWE_STA
bool "Enable OWE STA"
default y
---help---
Select this option to allow the device to establish OWE
connection with eligible AP's.
PMF (Protected Management Frames) is a prerequisite feature for
a WPA3 connection, it needs to be
explicitly configured before attempting connection. Please
refer to the Wi-Fi Driver API Guide for details.
-config ESPRESSIF_WIFI_STATIC_RXBUF_NUM
- int "Wi-Fi static RX buffer number"
+choice ESPRESSIF_WIFI_MGMT_RX_BUFFER
+ prompt "Type of WiFi RX MGMT buffers"
+ default ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER
+ help
Review Comment:
help -> ---help---
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]