144 lines
4.3 KiB
Plaintext
144 lines
4.3 KiB
Plaintext
#
|
|
# 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 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
|