#
# Network configuration (with lwIP stack)
#

if NET_LWIP

config LWIP_DEBUG
	bool "Enable debug traces in the lwIP library"
	help
	  Prints messages to the console regarding network packets that go in
          and out of the lwIP library.

config LWIP_ASSERT
	bool "Enable assertions in the lwIP library"
	help
	  Compiles additional error checking code into the lwIP library. These
	  checks are related to conditions that should not happen in typical
	  use, but may be helpful to debug new features.

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
