294 lines
7.7 KiB
Plaintext
Executable File
294 lines
7.7 KiB
Plaintext
Executable File
#TODO add depens for CONFIG_HOST (bk7231u)
|
|
menu "Lwip_intf_v2_1"
|
|
|
|
config IPV6
|
|
bool "Enable IPV6"
|
|
default n
|
|
|
|
config WIFI_FAST_DHCP
|
|
bool "Enable Wifi Fast Dhcp"
|
|
default n
|
|
help
|
|
Enable Fast DHCP(use previous IP)
|
|
|
|
config EASY_FLASH_FAST_DHCP
|
|
depends on EASY_FLASH_V4 && WIFI_FAST_DHCP
|
|
bool "Enable Wifi Fast DHCP with easy flash"
|
|
default y
|
|
|
|
config LWIP_RESV_TLEN_ENABLE
|
|
bool "Enable LWIP reserved tail length"
|
|
default n
|
|
help
|
|
Enable LWIP reserved tail length
|
|
|
|
config STA_USE_STATIC_IP
|
|
bool "Enable sta use static ip"
|
|
default y
|
|
|
|
config MQTT_ACK_NOW
|
|
bool "Enable Mqtt Ack Now"
|
|
default y
|
|
help
|
|
Enable ACK_NOW if MQTT is open
|
|
|
|
config LWIP_TCP_SACK_OUT
|
|
bool "Enable TCP SACK"
|
|
default n
|
|
|
|
config LWIP
|
|
depends on WIFI_ENABLE || ETH
|
|
bool "Enable LWIP"
|
|
default y
|
|
|
|
config IP_FORWARD
|
|
bool "Enable IP FORWARD"
|
|
default n
|
|
|
|
config IP_NAPT
|
|
bool "Enable IP NAPT"
|
|
default n
|
|
|
|
config WIFI_REAPETER
|
|
bool "Enable WIFI_REAPETER"
|
|
default n
|
|
|
|
config BRIDGE
|
|
bool "Enable LWIP BRIDGE"
|
|
default n
|
|
|
|
menu "Modify Lwip Config"
|
|
depends on LWIP
|
|
|
|
config DHCP
|
|
depends on WIFI_ENABLE
|
|
bool "Enable DHCP"
|
|
default y
|
|
|
|
config DHCP_ONGOING_OPTIM
|
|
bool "Enable DHCP_ONGOING_OPTIM"
|
|
default n
|
|
|
|
config AUTOIP
|
|
bool "Enable AUTOIP"
|
|
default n
|
|
|
|
config MDNS
|
|
bool "Enable MDNS"
|
|
default n
|
|
|
|
config TASK_LWIP_PRIO
|
|
depends on WIFI_ENABLE
|
|
int "Set Task Lwip Prio"
|
|
range 1 10
|
|
default 4
|
|
help
|
|
Priority of LwIP task
|
|
|
|
config MIDEA
|
|
bool "Enable MIDEA"
|
|
default n
|
|
|
|
config LWIP_MEM_TRX_DYNAMIC_EN
|
|
bool "enable lwip mem trx dynamic"
|
|
default y
|
|
|
|
config LWIP_MEM_LIBC_MALLOC
|
|
bool "use system libc malloc"
|
|
default n
|
|
|
|
config LWIP_MEMP_MEM_MALLOC
|
|
bool "memp_alloc() use mem_malloc/mem_free instead of the lwip pool allocator"
|
|
default n
|
|
|
|
config LWIP_MEMP_STATS
|
|
bool "memp statistics"
|
|
default y
|
|
|
|
config LWIP_MEM_STATS
|
|
bool "mem statistics"
|
|
default y
|
|
|
|
config LWIP_DEBUG_LOG
|
|
bool "Enable LWIP Debug Log"
|
|
default n
|
|
help
|
|
open lwip debug log
|
|
|
|
#TODO optimize it
|
|
choice LWIP_MEM
|
|
prompt "Select Lwip Mem Policy"
|
|
default LWIP_MEM_DEFAULT
|
|
|
|
config LWIP_MEM_DEFAULT
|
|
bool "LWIP_MEM_DEFAULT"
|
|
help
|
|
Default Memory Policy
|
|
config LWIP_MEM_REDUCE
|
|
depends on WIFI_ENABLE
|
|
bool "LWIP_MEM_REDUCE"
|
|
help
|
|
Reduced Memory Policy
|
|
endchoice
|
|
endmenu
|
|
|
|
menu "Memory Config"
|
|
config LWIP_UDP_RECVMBOX_SIZE
|
|
int "Default UDP receive mail box size"
|
|
range 8 1024
|
|
default 24
|
|
help
|
|
Set UDP receive mail box size. The recommended value is 24.
|
|
|
|
UDP receive mail box is a per socket mail box, when the application receives packets
|
|
from UDP socket, LWIP core firstly posts the packets to UDP receive mail box and the
|
|
application then fetches the packets from mail box. It means LWIP can caches maximum
|
|
UDP_RECCVMBOX_SIZE packets for each UDP socket, so the maximum possible cached UDP
|
|
packets for all UDP sockets is UDP_RECCVMBOX_SIZE multiples the maximum UDP socket
|
|
number. In other words, the bigger UDP_RECVMBOX_SIZE means more memory.On the other
|
|
hand, if the receiv mail box is too small, the mail box may be full. If the mail box
|
|
is full, the LWIP drops the packets.So generally we need to make sure the UDP
|
|
receive mail box is big enough to avoid packet drop between LWIP core and application.
|
|
|
|
config LWIP_MEM_SIZE
|
|
int "Default size of the LWIP heap memory"
|
|
range 1 102400
|
|
default 51200
|
|
help
|
|
Set the size of the heap memory. The recommended value is 51200 .
|
|
|
|
config LWIP_MEM_MAX_RX_SIZE
|
|
int "Default size of the max memory rx used"
|
|
range 1 102400
|
|
default 38400
|
|
help
|
|
Set the size of the max memory rx used. The recommended value is
|
|
38400 ((LWIP_MEM_SIZE*3)/4).
|
|
|
|
config LWIP_MEM_MAX_TX_SIZE
|
|
int "Default the size of the max memory tx used"
|
|
range 1 102400
|
|
default 42666
|
|
help
|
|
Set the size of the max memory tx used. The recommended value is
|
|
42666 ((LWIP_MEM_SIZE*5)/6).
|
|
If the application will send a lot of data
|
|
that needs to be copied, this should be set high.
|
|
|
|
config LWIP_TCP_MSS
|
|
int "Maximum Segment Size (MSS)"
|
|
default 1460
|
|
range 536 1460
|
|
help
|
|
Set maximum segment size for TCP transmission.
|
|
|
|
Can be set lower to save RAM, the default value 1460(ipv4)/1440(ipv6) will
|
|
give best throughput.
|
|
IPv4 TCP_MSS Range: 576 <= TCP_MSS <= 1460
|
|
IPv6 TCP_MSS Range: 1220<= TCP_mSS <= 1440
|
|
|
|
config LWIP_TCP_SND_BUF
|
|
int "Default send buffer size"
|
|
default 29200 # 20 * default MSS
|
|
range 2440 65535
|
|
help
|
|
Set default send buffer size for new TCP sockets.
|
|
|
|
Per-socket send buffer size can be changed at runtime
|
|
with lwip_setsockopt(s, TCP_SNDBUF, ...).
|
|
|
|
This value must be at least 2x the MSS size, and the default
|
|
is 4x the default MSS size.
|
|
|
|
Setting a smaller default SNDBUF size can save some RAM, but
|
|
will decrease performance.
|
|
|
|
config LWIP_TCP_WND
|
|
int "Default receive window size"
|
|
default 29200 # 20 * default MSS
|
|
range 2440 65535
|
|
help
|
|
Set default TCP receive window size for new TCP sockets.
|
|
|
|
Per-socket receive window size can be changed at runtime
|
|
with lwip_setsockopt(s, TCP_WINDOW, ...).
|
|
|
|
Setting a smaller default receive window size can save some RAM,
|
|
but will significantly decrease performance.
|
|
|
|
config LWIP_MEMP_NUM_NETBUF
|
|
int "Default number of struct netbufs"
|
|
default 32
|
|
range 1 1024
|
|
help
|
|
Set the number of struct netbufs.
|
|
(only needed if you use the sequential API, like api_lib.c)
|
|
This number corresponds to the maximum number of active sockets at any
|
|
given point in time. This number must be sum of max.
|
|
|
|
config LWIP_PBUF_POOL_SIZE
|
|
int "Default number of buffers in the pbuf pool"
|
|
default 10
|
|
range 1 400
|
|
help
|
|
Set the size of each pbuf in the pbuf pool. The default is
|
|
designed to accomodate single full size TCP frame in one pbuf,
|
|
including TCP_MSS, IP header, and link header.
|
|
|
|
config LWIP_TCP_SND_QUEUELEN
|
|
int "Default TCP sender buffer space (pbufs)"
|
|
default 40
|
|
range 1 200
|
|
help
|
|
Set TCP sender buffer space (pbufs).
|
|
This must be at least as much as (2 * TCP_SND_BUF/TCP_MSS) for
|
|
things to work.
|
|
|
|
config LWIP_MEMP_NUM_TCP_SEG
|
|
int "Default simultaneously queued TCP segments"
|
|
default 80
|
|
range 1 500
|
|
help
|
|
Set the number of simultaneously queued TCP segments.
|
|
(requires the LWIP_TCP option)
|
|
as much as (2 * LWIP_TCP_SND_QUEUELEN) for things to work.
|
|
endmenu #Memory Config
|
|
|
|
menu "Tcp Config"
|
|
config LWIP_TCP_RTO_TIMEOUT
|
|
int "Default TCP rto timeout"
|
|
default 3000 if !LWIP_TCP_FAST_RETRANSMISSION
|
|
default 1500 if LWIP_TCP_FAST_RETRANSMISSION
|
|
help
|
|
Configure a reasonable default TCP PCB RTO (Recovery Time Objective) time
|
|
as the initial RTO time. In different network environments,
|
|
the RTO timeout can be configured according to the quality
|
|
of the network environment,The default parameter value is 3000.
|
|
|
|
config LWIP_TCP_FAST_RETRANSMISSION
|
|
bool "TCP Fast Retransmissions"
|
|
default n
|
|
help
|
|
The configuration can enable TCP fast retransmission,
|
|
with macro configuration set to default as enabled.
|
|
If disabled, the default SYN retransmission count is set to 6 times,
|
|
and the TCP initial pcb_rto time is set to default as 3000 milliseconds (3 seconds).
|
|
|
|
config LWIP_TCP_SYNMAXRTX
|
|
int "Maximum number of retransmissions of SYN segments"
|
|
default 6 if !LWIP_TCP_FAST_RETRANSMISSION
|
|
default 12 if LWIP_TCP_FAST_RETRANSMISSION
|
|
range 3 12
|
|
help
|
|
Set maximum number of retransmissions of SYN segments.
|
|
|
|
config LWIP_TCP_QUEUE_OOSEQ
|
|
bool "Stands for Out-of-Order Sequence Queue"
|
|
default y
|
|
help
|
|
It a term related to the TCP (Transmission Control Protocol)
|
|
implementation in networking. TCP will queue segments that arrive out of order.
|
|
Define to 0 if your device is low on memory.
|
|
endmenu #Tcp Config
|
|
endmenu
|