#
# Network configuration (with lwIP stack)
#

if NET_LWIP

config LWIP_DEBUG
	bool "Enable debug traces in the lwIP library"

config LWIP_ASSERT
	bool "Enable assertions in the lwIP library"

config PROT_DHCP_LWIP
	bool
	select PROT_UDP_LWIP

config PROT_DNS_LWIP
	bool
	select PROT_UDP_LWIP

config PROT_RAW_LWIP
	bool

config PROT_TCP_LWIP
	bool

config PROT_TCP_SACK_LWIP
	bool "TCP SACK support"
	depends on PROT_TCP_LWIP
	default y
	help
	  TCP protocol with selective acknowledgements. Improves
	  file transfer speed in wget.

config PROT_UDP_LWIP
	bool

config LWIP_TCP_WND
	int "Value of TCP_WND"
	default 32768 if ARCH_QEMU
	default 3000000
	help
	  Default value for TCP_WND in the lwIP configuration
	  Lower values result in slower wget transfer speeds in
	  general, especially when the latency on the network is high,
	  but QEMU with "-net user" needs no more than a few KB or the
	  transfer will stall and eventually time out.

endif # NET_LWIP
