| # |
| # 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 NET_USRSOCK_UDP if NET_USRSOCK |
| 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 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_ALLOC_WRBCHAINS |
| int "Dynamic I/O buffer chain heads allocation" |
| default 1 |
| ---help--- |
| When set to 0 all dynamic allocations are disabled. |
| |
| When set to 1 a new I/O buffer chain head will be allocated every |
| time, and it will be free'd when no longer needed. |
| |
| Setting this to 2 or more will allocate the I/O buffer chain heads |
| in batches (with batch size equal to this config). When a I/O buffer |
| chain head is no longer needed, it will be returned to the free |
| I/O buffer chain heads pool, and it will never be deallocated! |
| |
| 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 |