382 lines
10 KiB
Plaintext
382 lines
10 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see misc/tools/kconfig-language.txt.
|
|
#
|
|
|
|
config ARCH_HAVE_NET
|
|
bool
|
|
default n
|
|
|
|
config ARCH_HAVE_PHY
|
|
bool
|
|
default n
|
|
|
|
config NET
|
|
bool "Networking support"
|
|
default n
|
|
select ARCH_HAVE_NET
|
|
---help---
|
|
Enable or disable all network features
|
|
|
|
if NET
|
|
|
|
config NET_NOINTS
|
|
bool "Not interrupt driven"
|
|
default n
|
|
---help---
|
|
NET_NOINT indicates that uIP is not called from the interrupt level.
|
|
If NET_NOINTS is defined, critical sections will be managed with semaphores;
|
|
Otherwise, it assumed that uIP will be called from interrupt level handling
|
|
and critical sections will be managed by enabling and disabling interrupts.
|
|
|
|
config NET_MULTIBUFFER
|
|
bool "Use multiple device-side I/O buffers"
|
|
default n
|
|
---help---
|
|
Traditionally, uIP has used a single buffer for all incoming and
|
|
outgoing traffic. If this configuration is selected, then the
|
|
driver can manage multiple I/O buffers and can, for example,
|
|
be filling one input buffer while sending another output buffer.
|
|
Or, as another example, the driver may support queuing of concurrent
|
|
input/ouput and output transfers for better performance.
|
|
|
|
config NET_PROMISCUOUS
|
|
bool "Promiscuous mode"
|
|
default n
|
|
---help---
|
|
Force the Ethernet driver to operate in promiscuous mode (if supported
|
|
by the Ethernet driver).
|
|
|
|
config NET_IPv6
|
|
bool "IPv6"
|
|
default n
|
|
---help---
|
|
Build in support for IPv6. Not fully implemented.
|
|
|
|
config NSOCKET_DESCRIPTORS
|
|
int "Number of socket descriptor"
|
|
default 8
|
|
---help---
|
|
Maximum number of socket descriptors per task/thread.
|
|
|
|
config NET_NACTIVESOCKETS
|
|
int "Max socket operations"
|
|
default 16
|
|
---help---
|
|
Maximum number of concurrent socket operations (recv, send, etc.).
|
|
Default: 16
|
|
|
|
config NET_SOCKOPTS
|
|
bool "Socket options"
|
|
default n
|
|
---help---
|
|
Enable or disable support for socket options
|
|
|
|
config NET_BUFSIZE
|
|
int "Network packet size"
|
|
default 562 if !NET_SLIP
|
|
default 296 if NET_SLIP
|
|
---help---
|
|
uIP buffer size. Default: 562
|
|
|
|
config NET_TCPURGDATA
|
|
bool "Urgent data"
|
|
default n
|
|
---help---
|
|
Determines if support for TCP urgent data notification should be
|
|
compiled in. Urgent data (out-of-band data) is a rarely used TCP feature
|
|
that is very seldom would be required.
|
|
|
|
menu "TCP/IP Networking"
|
|
|
|
config NET_TCP
|
|
bool "TCP/IP Networking"
|
|
default n
|
|
---help---
|
|
TCP support on or off
|
|
|
|
if NET_TCP
|
|
config NET_TCP_CONNS
|
|
int "Number of TCP/IP connections"
|
|
default 8
|
|
---help---
|
|
Maximum number of TCP/IP connections (all tasks)
|
|
|
|
config NET_MAX_LISTENPORTS
|
|
int "Number of listening ports"
|
|
default 20
|
|
---help---
|
|
Maximum number of listening TCP/IP ports (all tasks). Default: 20
|
|
|
|
config NET_TCP_READAHEAD_BUFSIZE
|
|
int "TCP/IP read-ahead buffer size"
|
|
default 562
|
|
---help---
|
|
Read-ahead buffers allows buffering of TCP/IP packets when there is no
|
|
receive in place to catch the TCP packet. In that case, the packet
|
|
will be retained in the NuttX read-ahead buffers.
|
|
|
|
This setting specifies the size of one TCP/IP read-ahead buffer.
|
|
This should best be a equal to the maximum packet size (NET_BUFSIZE).
|
|
|
|
config NET_NTCP_READAHEAD_BUFFERS
|
|
int "Number of TCP/IP read-ahead buffers"
|
|
default 8
|
|
---help---
|
|
Read-ahead buffers allows buffering of TCP/IP packets when there is no
|
|
receive in place to catch the TCP packet. In that case, the packet
|
|
will be retained in the NuttX read-ahead buffers.
|
|
|
|
This setting specifies the number of TCP/IP read-ahead buffers This
|
|
value can be set to zero to disable all TCP/IP read-ahead buffering.
|
|
You might want to disable TCP/IP read-ahead buffering on a highly
|
|
memory constained system that does not have any TCP/IP packet rate
|
|
issues.
|
|
|
|
config NET_TCP_RECVDELAY
|
|
int "TCP Rx delay"
|
|
default 0
|
|
---help---
|
|
If NET_NTCP_READAHEAD_BUFFERS is zero, then there will be no buffering
|
|
of TCP/IP packets: Any TCP/IP packet received will be ACKed, but its contents
|
|
will be dropped in the bit-bucket.
|
|
|
|
One low-performance option is delay for a short period of time after a
|
|
TCP/IP packet is received to see if another comes right behind it. Then
|
|
the packet data from both can be combined. This option only makes since
|
|
if performance is not an issue and you need to handle short bursts of
|
|
small, back-to-back packets. The delay is in units of deciseconds.
|
|
|
|
config NET_TCPBACKLOG
|
|
bool "TCP/IP backlog support"
|
|
default n
|
|
---help---
|
|
Incoming connections pend in a backlog until accept() is called.
|
|
The size of the backlog is selected when listen() is called.
|
|
|
|
config NET_TCP_SPLIT
|
|
bool "Enable packet splitting"
|
|
default n
|
|
---help---
|
|
send() will not return until the transfer has been ACKed by the
|
|
recipient. But under RFC 1122, the host need not ACK each packet
|
|
immediately; the host may wait for 500 MS before ACKing. This
|
|
combination can cause very slow performance with small transfers are
|
|
made to an RFC 1122 client. However, the RFC 1122 must ACK at least
|
|
every second (odd) packet.
|
|
|
|
This option enables logic to trick the RFC 1122 host be exploiting
|
|
this last RFC 1122 requirement: If an odd number of packets were to
|
|
be sent, then send() will split the last even packet to guarantee
|
|
that an even number of packets will be sent and the RFC 1122 host
|
|
will ACK the final packet immediately.
|
|
|
|
if NET_TCP_SPLIT
|
|
|
|
config NET_TCP_SPLIT_SIZE
|
|
int "Split size threshold"
|
|
default 40
|
|
---help---
|
|
Packets of this size or smaller than this will not be split.
|
|
|
|
endif # NET_TCP_SPLIT
|
|
|
|
config NET_SENDFILE
|
|
bool "Optimized network sendfile()"
|
|
default n
|
|
---help---
|
|
Support larger, higher performance sendfile() for transferring
|
|
files out a TCP connection.
|
|
|
|
endif # NET_TCP
|
|
endmenu # TCP/IP Networking
|
|
|
|
menu "UDP Networking"
|
|
|
|
config NET_UDP
|
|
bool "UDP Networking"
|
|
default n
|
|
depends on NET
|
|
---help---
|
|
Enable or disable UDP networking support.
|
|
|
|
if NET_UDP
|
|
config NET_UDP_CHECKSUMS
|
|
bool "UDP checksums"
|
|
default n
|
|
---help---
|
|
Enable/disable UDP checksum support
|
|
|
|
config NET_UDP_CONNS
|
|
int "Number of UDP sockets"
|
|
default 8
|
|
---help---
|
|
The maximum amount of open concurrent UDP sockets
|
|
|
|
config NET_BROADCAST
|
|
bool "UDP broadcast Rx support"
|
|
default n
|
|
---help---
|
|
Incoming UDP broadcast support
|
|
|
|
config NET_RXAVAIL
|
|
bool "Driver-based UDP backlog"
|
|
default n
|
|
---help---
|
|
One problem with UDP communications is that, unlike TCP/IP, there is
|
|
no backlog of UDP packets. So if you are listening at the precise
|
|
moment that the UDP packet is sent, it will not be received. This
|
|
is not incompatible with the properties of UDP, but can result in
|
|
bad performance if packets are missed, time out, and are resent.
|
|
|
|
Some Ethernet controllers have built-in RAM and the drivers can
|
|
support retention of UDP packets in that RAM. If the drivers
|
|
supports such a capability, this option may be enabled to use it.
|
|
NOTE: If this option is enabled, the driver must support the
|
|
rxavail() method in the uip_driver_s structure.
|
|
|
|
endif
|
|
endmenu
|
|
|
|
config NET_ICMP
|
|
bool "ICMP networking support"
|
|
default n
|
|
depends on NET
|
|
---help---
|
|
Enable minimal ICMP support. Includes built-in support
|
|
for sending replies to received ECHO (ping) requests.
|
|
|
|
if NET_ICMP
|
|
config NET_ICMP_PING
|
|
bool "ICMP ping interfaces"
|
|
default n
|
|
---help---
|
|
Provide interfaces to support application level support for
|
|
for sending ECHO (ping) requests and associating ECHO replies.
|
|
|
|
config NET_PINGADDRCONF
|
|
bool "Ping address configuration"
|
|
default n
|
|
---help---
|
|
Use "ping" packet for setting IP address
|
|
|
|
endif
|
|
|
|
config NET_IGMP
|
|
bool "IGMPv2 clientsupport"
|
|
default n
|
|
depends on NET
|
|
---help---
|
|
Enable IGMPv2 client support.
|
|
|
|
if NET_IGMP
|
|
config PREALLOC_IGMPGROUPS
|
|
int "Number of pre-allocated IGMP groups"
|
|
default 4
|
|
---help---
|
|
Pre-allocated IGMP groups are used only if needed from interrupt
|
|
level group created (by the IGMP server). Default: 4.
|
|
|
|
endif
|
|
|
|
if NET
|
|
|
|
config NET_STATISTICS
|
|
bool "Collect network statistics"
|
|
default n
|
|
---help---
|
|
uIP statistics on or off
|
|
|
|
config NET_RECEIVE_WINDOW
|
|
int "Receive window size"
|
|
default 562
|
|
---help---
|
|
The size of the advertised receiver's window. Should be set low
|
|
(i.e., to the size of the NET_BUFSIZE) if the application is slow
|
|
to process incoming data, or high (32768 bytes) if the application
|
|
processes data quickly.
|
|
|
|
config NET_ARPTAB_SIZE
|
|
int "ARP table size"
|
|
default 16
|
|
---help---
|
|
The size of the ARP table (in entries).
|
|
|
|
config NET_ARP_IPIN
|
|
bool "ARP address harvesting"
|
|
default n
|
|
---help---
|
|
Harvest IP/MAC address mappings from the ARP table
|
|
from incoming IP packets.
|
|
|
|
config NET_ROUTE
|
|
bool "Routing table suport"
|
|
default n
|
|
---help---
|
|
Build in support for a routing table. See include/net/route.h
|
|
|
|
config NET_MAXROUTES
|
|
int "Routing table size"
|
|
default 4
|
|
depends on NET_ROUTE
|
|
---help---
|
|
The size of the routing table (in entries).
|
|
|
|
config NET_MULTICAST
|
|
bool "Multi-cast Tx support"
|
|
default n
|
|
---help---
|
|
Outgoing multi-cast address support
|
|
|
|
config NET_SLIP
|
|
bool "SLIP support"
|
|
default n
|
|
---help---
|
|
Enables building of the SLIP driver. SLIP requires
|
|
at least one IP protocol selected and the following additional
|
|
network settings: NET_NOINTS and NET_MULTIBUFFER.
|
|
|
|
NET_BUFSIZE *must* be set to 296. Other optional configuration
|
|
settings that affect the SLIP driver: NET_STATISTICS.
|
|
Default: Ethernet
|
|
|
|
SLIP supports point-to-point IP communications over a serial port.
|
|
The default data link layer for uIP is Ethernet. If NET_SLIP is
|
|
defined in the NuttX configuration file, then SLIP will be supported.
|
|
The basic differences between the SLIP and Ethernet configurations is
|
|
that when SLIP is selected:
|
|
|
|
* The link level header (that comes before the IP header) is omitted.
|
|
* All MAC address processing is suppressed.
|
|
* ARP is disabled.
|
|
|
|
If NET_SLIP is not selected, then Ethernet will be used (there is
|
|
no need to define anything special in the configuration file to use
|
|
Ethernet -- it is the default).
|
|
|
|
endif
|
|
if NET_SLIP
|
|
|
|
config SLIP_NINTERFACES
|
|
int "Number of SLIP interfaces"
|
|
default 1
|
|
---help---
|
|
Selects the number of physical SLIP
|
|
interfaces to support.
|
|
Default: 1
|
|
|
|
config SLIP_STACKSIZE
|
|
int "SLIP stack size"
|
|
default 2048
|
|
---help---
|
|
Select the stack size of the SLIP RX and TX tasks. Default: 2048
|
|
|
|
config SLIP_DEFPRIO
|
|
int "SLIP priority"
|
|
default 128
|
|
---help---
|
|
The priority of the SLIP RX and TX tasks. Default: 128
|
|
|
|
endif
|
|
endif
|