# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # menu "UDP Networking" config NET_UDP bool "UDP Networking" default n select NET_READAHEAD if !NET_UDP_NO_STACK depends on NET ---help--- Enable or disable UDP networking support. config NET_UDP_NO_STACK bool "Disable UDP/IP Stack" default n select NET_UDP ---help--- Build without UDP/IP stack even if UDP networking support enabled. if NET_UDP && !NET_UDP_NO_STACK config NET_BROADCAST bool "UDP broadcast Rx support" default n ---help--- Incoming UDP broadcast support config NET_UDP_CHECKSUMS bool "UDP checksums" default y if NET_IPv6 default n if !NET_IPv6 ---help--- Enable/disable UDP checksum support. UDP checksum support is REQUIRED for IPv6. config NET_UDP_PREALLOC_CONNS int "Preallocated UDP sockets" default 8 ---help--- Number of UDP connections (all tasks). This number of connections will be pre-allocated during system boot. If dynamic connections allocation is enabled, more connections may be allocated at a later time, as the system needs them. Else this will be the maximum number of connections available to the system at all times. Set to 0 to disable (and rely only on dynamic allocations). config NET_UDP_ALLOC_CONNS int "Dynamic UDP connections allocation" default 0 ---help--- Dynamic memory allocations for UDP. When set to 0 all dynamic allocations are disabled. When set to 1 a new connection will be allocated every time, and it will be free'd when no longer needed. Setting this to 2 or more will allocate the connections in batches (with batch size equal to this config). When a connection is no longer needed, it will be returned to the free connections pool, and it will never be deallocated! config NET_UDP_MAX_CONNS int "Maximum number of UDP connections" default 0 depends on NET_UDP_ALLOC_CONNS > 0 ---help--- If dynamic connections allocation is selected (NET_UDP_ALLOC_CONNS > 0) this will limit the number of connections that can be allocated. This is useful in case the system is under very heavy load (or under attack), ensuring that the heap will not be exhausted. config NET_UDP_NPOLLWAITERS int "Number of UDP poll waiters" default 1 config NET_UDP_WRITE_BUFFERS bool "Enable UDP/IP write buffering" default n select NET_WRITE_BUFFERS ---help--- Write buffers allows buffering of ongoing UDP/IP packets, providing for higher performance, streamed output. You might want to disable UDP/IP write buffering on a highly memory memory constrained system where there are no performance issues. if NET_UDP_WRITE_BUFFERS config NET_UDP_NWRBCHAINS int "Number of pre-allocated I/O buffer chain heads" default 8 ---help--- These tiny nodes are used as "containers" to support queuing of UDP write buffers. This setting will limit the number of UDP write operations that can be "in-flight" at any give time. So a good choice for this value would be the same as the maximum number of UDP connections. config NET_UDP_WRBUFFER_DEBUG bool "Force write buffer debug" default n depends on DEBUG_FEATURES select IOB_DEBUG ---help--- This option will force debug output from UDP write buffer logic, even without network debug output. This is not normally something that would want to do but is convenient if you are debugging the write buffer logic and do not want to get overloaded with other network-related debug output. config NET_UDP_WRBUFFER_DUMP bool "Force write buffer dump" default n depends on DEBUG_NET || NET_UDP_WRBUFFER_DEBUG select IOB_DEBUG ---help--- Dump the contents of the write buffers. You do not want to do this unless you really want to analyze the write buffer transfers in detail. endif # NET_UDP_WRITE_BUFFERS config NET_UDP_NOTIFIER bool "Support UDP read-ahead notifications" default n depends on SCHED_WORKQUEUE select WQUEUE_NOTIFIER ---help--- Enable building of UDP read-ahead notifier logic that will execute a worker function on the low priority work queue when read-ahead data is available. This is a general purpose notifier, but was developed specifically to support poll() logic where the poll must wait for read-ahead data to become available. endif # NET_UDP && !NET_UDP_NO_STACK endmenu # UDP Networking