rt-thread-official/components/net/Kconfig

496 lines
13 KiB
Plaintext

menu "Network"
menu "Socket abstraction layer"
config RT_USING_SAL
bool "Enable socket abstraction layer"
select RT_USING_NETDEV
select RT_USING_SYSTEM_WORKQUEUE
default n
if RT_USING_SAL
config SAL_INTERNET_CHECK
bool "Enable the ability that check internet status"
default y
help
The ability that check internet status is provided by RT-Thread.
if RT_USING_LWIP || AT_USING_SOCKET
menu "protocol stack implement"
config SAL_USING_LWIP
bool "Support lwIP stack"
default y
depends on RT_USING_LWIP
config SAL_USING_AT
bool "Support AT Commands stack"
default y
depends on AT_USING_SOCKET
config SAL_USING_TLS
bool "Support MbedTLS protocol"
default y
depends on PKG_USING_MBEDTLS
endmenu
endif
config SAL_USING_POSIX
bool "Enable BSD socket operated by file system API"
default n
select RT_USING_POSIX_FS
select RT_USING_POSIX_SELECT
help
Let BSD socket operated by file system API, such as read/write and involveed in select/poll POSIX APIs.
if !SAL_USING_POSIX
config SAL_SOCKETS_NUM
int "the maximum number of sockets"
default 16
endif
endif
endmenu
menu "Network interface device"
config RT_USING_NETDEV
bool "Enable network interface device"
default n
if RT_USING_NETDEV
config NETDEV_USING_IFCONFIG
bool "Enable ifconfig features"
default y
config NETDEV_USING_PING
bool "Enable ping features"
default y
config NETDEV_USING_NETSTAT
bool "Enable netstat features"
default y
config NETDEV_USING_AUTO_DEFAULT
bool "Enable default netdev automatic change features"
default y
config NETDEV_USING_IPV6
bool "Enable IPV6 protocol support"
default n
config NETDEV_IPV4
int
default 1
config NETDEV_IPV6
int
default 1 if NETDEV_USING_IPV6
default 0 if !NETDEV_USING_IPV6
config NETDEV_IPV6_SCOPES
bool
help
Defined to synchronize the ip6_addr structure state
default n
endif
endmenu
menu "light weight TCP/IP stack"
config RT_USING_LWIP
bool "Enable lwIP stack"
select RT_USING_DEVICE
default n
if RT_USING_LWIP
choice
prompt "lwIP version"
default RT_USING_LWIP203
help
Select the lwIP version
config RT_USING_LWIP141
bool "lwIP v1.4.1"
config RT_USING_LWIP203
bool "lwIP v2.0.3"
config RT_USING_LWIP212
bool "lwIP v2.1.2"
endchoice
if (RT_USING_LWIP203 || RT_USING_LWIP212)
config RT_USING_LWIP_IPV6
bool "IPV6 protocol"
default n
select NETDEV_USING_IPV6
select NETDEV_IPV6_SCOPES if RT_USING_LWIP212
endif
config RT_LWIP_MEM_ALIGNMENT
int "Memory alignment"
default 8 if ARCH_CPU_64BIT
default 4
config RT_LWIP_IGMP
bool "IGMP protocol"
default y
config RT_LWIP_ICMP
bool "ICMP protocol"
default y
config RT_LWIP_SNMP
bool "SNMP protocol"
select RT_LWIP_STATS
default n
config RT_LWIP_DNS
bool "Enble DNS for name resolution"
select RT_LWIP_UDP
default y
config RT_LWIP_DHCP
bool "Enable alloc ip address through DHCP"
select RT_LWIP_UDP
default y
if RT_LWIP_DHCP
config IP_SOF_BROADCAST
int "SOF broadcast"
default 1
config IP_SOF_BROADCAST_RECV
int "SOF broadcast recv"
default 1
endif
menu "Static IPv4 Address"
config RT_LWIP_IPADDR
string "IPv4: IP address"
default 192.168.1.30
config RT_LWIP_GWADDR
string "IPv4: Gateway address"
default 192.168.1.1
config RT_LWIP_MSKADDR
string "IPv4: Mask address"
default 255.255.255.0
endmenu
config RT_LWIP_UDP
bool "UDP protocol"
default y
config RT_LWIP_TCP
bool "TCP protocol"
default y
config RT_LWIP_RAW
bool "RAW protocol"
default n
config RT_LWIP_PPP
bool "PPP protocol"
default n
if RT_LWIP_PPP
config RT_LWIP_PPPOE
bool "PPPoE protocol"
default n
config RT_LWIP_PPPOS
bool "PPPoS protocol"
default n
endif
config RT_MEMP_NUM_NETCONN
int "the number of struct netconns"
default 8
config RT_LWIP_PBUF_NUM
int "the number of PBUF"
default 16
config RT_LWIP_RAW_PCB_NUM
int "the number of raw connection"
default 4
config RT_LWIP_UDP_PCB_NUM
int "the number of UDP socket"
default 8 if RT_USING_DFS_NFS
default 4
if RT_LWIP_TCP
config RT_LWIP_TCP_PCB_NUM
int "the number of TCP socket"
default 4
config RT_LWIP_TCP_SEG_NUM
int "the number of TCP segment"
default 40
config RT_LWIP_TCP_SND_BUF
int "the size of send buffer"
default 8196
config RT_LWIP_TCP_WND
int "the size of TCP send window"
default 8196
endif
config RT_LWIP_TCPTHREAD_PRIORITY
int "the priority level value of lwIP thread"
default 10
config RT_LWIP_TCPTHREAD_MBOX_SIZE
int "the number of mail in the lwIP thread mailbox"
default 8
config RT_LWIP_TCPTHREAD_STACKSIZE
int "the stack size of lwIP thread"
default 2048 if ARCH_CPU_64BIT
default 1024
config LWIP_NO_RX_THREAD
bool "Not use Rx thread"
default n
config LWIP_NO_TX_THREAD
bool "Not use Tx thread"
default n
config RT_LWIP_ETHTHREAD_PRIORITY
int "the priority level value of ethernet thread"
default 12
config RT_LWIP_ETHTHREAD_STACKSIZE
int "the stack size of ethernet thread"
default 2048 if ARCH_CPU_64BIT
default 1024
config RT_LWIP_ETHTHREAD_MBOX_SIZE
int "the number of mail in the ethernet thread mailbox"
default 8
config RT_LWIP_REASSEMBLY_FRAG
bool "Enable IP reassembly and frag"
default n
config LWIP_NETIF_STATUS_CALLBACK
int "Enable netif status callback"
default 1
config LWIP_NETIF_LINK_CALLBACK
int "Enable netif link status callback"
default 1
config SO_REUSE
int "Enable SO_REUSEADDR option"
default 1
config LWIP_SO_RCVTIMEO
int "Enable receive timeout for sockets/netconns and SO_RCVTIMEO processing."
default 1
config LWIP_SO_SNDTIMEO
int "Enable send timeout for sockets/netconns and SO_SNDTIMEO processing."
default 1
config LWIP_SO_RCVBUF
int "Enable SO_RCVBUF processing"
default 1
config LWIP_SO_LINGER
int "Enable SO_LINGER processing"
default 0
config RT_LWIP_NETIF_LOOPBACK
bool "Enable netif loopback"
default n
config LWIP_NETIF_LOOPBACK
int
default 1 if RT_LWIP_NETIF_LOOPBACK
default 0 if !RT_LWIP_NETIF_LOOPBACK
config RT_LWIP_STATS
bool "Enable lwIP statistics"
default n
config RT_LWIP_USING_HW_CHECKSUM
bool "Enable hardware checksum"
default n
config RT_LWIP_USING_PING
bool "Enable ping features"
default y
select NETDEV_USING_PING
select RT_LWIP_ICMP
select RT_LWIP_RAW
menuconfig RT_LWIP_DEBUG
bool "Enable lwIP Debugging Options"
default n
if RT_LWIP_DEBUG
config RT_LWIP_SYS_DEBUG
bool "Enable Debugging of sys.c"
default n
config RT_LWIP_ETHARP_DEBUG
bool "Enable Debugging of etharp.c"
default n
config RT_LWIP_PPP_DEBUG
bool "Enable Debugging of PPP"
default n
config RT_LWIP_MEM_DEBUG
bool "Enable Debugging of mem.c"
default n
config RT_LWIP_MEMP_DEBUG
bool "Enable Debugging of memp.c"
default n
config RT_LWIP_PBUF_DEBUG
bool "Enable Debugging of pbuf.c"
default n
config RT_LWIP_API_LIB_DEBUG
bool "Enable Debugging of api_lib.c"
default n
config RT_LWIP_API_MSG_DEBUG
bool "Enable Debugging of api_msg.c"
default n
config RT_LWIP_TCPIP_DEBUG
bool "Enable Debugging of tcpip.c"
default n
config RT_LWIP_NETIF_DEBUG
bool "Enable Debugging of netif.c"
default n
config RT_LWIP_SOCKETS_DEBUG
bool "Enable Debugging of sockets.c"
default n
config RT_LWIP_DNS_DEBUG
bool "Enable Debugging of DNS"
default n
config RT_LWIP_AUTOIP_DEBUG
bool "Enable Debugging of autoip.c"
default n
config RT_LWIP_DHCP_DEBUG
bool "Enable Debugging of dhcp.c"
default n
config RT_LWIP_IP_DEBUG
bool "Enable Debugging of IP"
default n
config RT_LWIP_IP_REASS_DEBUG
bool "Enable debugging in ip_frag.c for both frag & reass"
default n
config RT_LWIP_ICMP_DEBUG
bool "Enable Debugging of icmp.c"
default n
config RT_LWIP_IGMP_DEBUG
bool "Enable Debugging of igmp.c"
default n
config RT_LWIP_UDP_DEBUG
bool "Enable Debugging of UDP"
default n
config RT_LWIP_TCP_DEBUG
bool "Enable Debugging of TCP"
default n
config RT_LWIP_TCP_INPUT_DEBUG
bool "Enable Debugging of tcp_in.c"
default n
config RT_LWIP_TCP_OUTPUT_DEBUG
bool "Enable Debugging of tcp_out.c"
default n
config RT_LWIP_TCP_RTO_DEBUG
bool "Enable debugging in TCP for retransmit"
default n
config RT_LWIP_TCP_CWND_DEBUG
bool "Enable debugging for TCP congestion window"
default n
config RT_LWIP_TCP_WND_DEBUG
bool "Enable debugging in tcp_in.c for window updating"
default n
config RT_LWIP_TCP_FR_DEBUG
bool "Enable debugging in tcp_in.c for fast retransmit"
default n
config RT_LWIP_TCP_QLEN_DEBUG
bool "Enable debugging for TCP queue lengths"
default n
config RT_LWIP_TCP_RST_DEBUG
bool "Enable debugging for TCP with the RST message"
default n
endif
endif
endmenu
source "$RTT_DIR/components/net/at/Kconfig"
if RT_USING_LWIP
config LWIP_USING_DHCPD
bool "Enable DHCP server"
default n
if LWIP_USING_DHCPD
config DHCPD_SERVER_IP
string "DHCPD SERVER IP address"
default 192.168.169.1
config DHCPD_USING_ROUTER
bool "alloc gateway ip for router"
default y
config LWIP_USING_CUSTOMER_DNS_SERVER
bool "Enable customer DNS server config"
default n
if LWIP_USING_CUSTOMER_DNS_SERVER
config DHCP_DNS_SERVER_IP
string "Custom DNS server IP address"
default 1.1.1.1
endif
endif
endif
endmenu