menu "LWIP Task Configurations"

config NET_TCPIP_CORE_LOCKING
	bool "Enable TCPIP Core Locking"
	default n
	---help---
		Creates a global mutex that is held during TCPIP thread operations.
		Can be locked by client code to perform lwIP operations without changing into TCPIP thread
		using callbacks. See LOCK_TCPIP_CORE() and UNLOCK_TCPIP_CORE().
		Your system should provide mutexes supporting priority inversion to use this.

config NET_TCPIP_CORE_LOCKING_INPUT
	bool "Enable TCPIP Core Locking Input"
	default n
	---help---
		When LWIP_TCPIP_CORE_LOCKING is enabled, this lets tcpip_input() grab the mutex
		for input packets as well, instead of allocating a message and passing it to tcpip_thread.

		ATTENTION: this does not work when tcpip_input() is called from interrupt context!

config NET_TCPIP_THREAD_NAME
	string "LWIP Task Name"
	default "LWIP_TCP/IP"
	---help---
		 The name assigned to the main tcpip thread.

config NET_TCPIP_THREAD_PRIO
	int "LWIP Task Priority"
	default 110
	range 0 255
	---help---
		The priority assigned to the main tcpip thread.
		The priority value itself is platform-dependent,
		but is passed to sys_thread_new() when the thread is created.

config NET_TCPIP_THREAD_STACKSIZE
	int "LWIP Task Stack Size"
	default 4096
	---help---
		The stack size used by the main tcpip thread.
		The stack size value itself is platform-dependent,
		but is passed to sys_thread_new() when the thread is created.

config NET_COMPAT_MUTEX
	bool "Enable Compat Mutex"
	default y
	---help---
		Define LWIP_COMPAT_MUTEX if the port has no mutexes and binary semaphores should be used instead.

config NET_SYS_LIGHTWEIGHT_PROT
	bool "Enable Inter-task Protection"
	default y
	---help---
		Enable inter-task protection (and task-vs-interrupt protection) for certain critical regions
		during buffer allocation, deallocation and memory allocation and deallocation.

		ATTENTION: This is required when using lwIP from more than one context!
			If you disable this, you must be sure what you are doing!

config NET_DEFAULT_THREAD_NAME
	string "LWIP Default Thread Name"
	default "lwIP"
	---help---
		The name assigned to any other lwIP thread.

config NET_DEFAULT_THREAD_PRIO
	int "LWIP Default Thread Priority"
	default 1
	range 0 255
	---help---
		The priority assigned to any other lwIP thread.
		The priority value itself is platform-dependent,
		but is passed to sys_thread_new() when the thread is created.

config NET_DEFAULT_THREAD_STACKSIZE
	int "LWIP Default Thread Stack Size"
	default 0
	---help---
		The stack size used by any other lwIP thread.
		The stack size value itself is platform-dependent,
		but is passed to sys_thread_new() when the thread is created.

endmenu #"LWIP Task Configurations"
