178 lines
5.2 KiB
Plaintext
178 lines
5.2 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_BUFSIZE
|
|
int "Network packet buffer size (MTU)"
|
|
default 1294 if !NET_SLIP && NET_IPv6
|
|
default 590 if !NET_SLIP && !NET_IPv6
|
|
default 296 if NET_SLIP && !NET_IPv6
|
|
---help---
|
|
Packet buffer size. This size includes the TCP/UDP payload plus the
|
|
size of TCP/UDP header, the IP header, and the Ethernet header
|
|
(assuming that the Ethernet transport is used). This value is
|
|
normally referred to as the MTU (Maximum Transmission Unit); the
|
|
payload is the MSS (Maximum Segment Size).
|
|
|
|
IPv4 hosts are required to be able to handle an MSS of at least
|
|
536 octets, resulting in a minimum buffer size of 536+20+20+14 =
|
|
590 (For SLIP 256+20+20 = 296).
|
|
|
|
IPv6 hosts are required to be able to handle an MSS of 1220 octets,
|
|
resulting in a minimum buffer size of of 1220+20+40+14 = 1294
|
|
|
|
config NET_RECEIVE_WINDOW
|
|
int "Receive window size"
|
|
default 1220 if !NET_SLIP && NET_IPv6
|
|
default 536 if !NET_SLIP && !NET_IPv6
|
|
default 256 if NET_SLIP && !NET_IPv6
|
|
---help---
|
|
The size of the advertised receiver's window. Should be set low
|
|
(i.e., to the size of the MSS) if the application is slow to process
|
|
incoming data, or high (32768 bytes) if the application processes
|
|
data quickly.
|
|
|
|
config NET_GUARDSIZE
|
|
int "Driver I/O guard size"
|
|
default 2
|
|
---help---
|
|
Network drivers often receive packets with garbage at the end and
|
|
are longer than the size of packet in the TCP header. The following
|
|
"fudge" factor increases the size of the I/O buffering by a small
|
|
amount to allocate slightly oversize packets. After receipt, the
|
|
packet size will be chopped down to the size indicated in the TCP
|
|
header.
|
|
|
|
source "net/socket/Kconfig"
|
|
source "net/netdev/Kconfig"
|
|
source "net/ipv6/Kconfig"
|
|
source "net/pkt/Kconfig"
|
|
source "net/tcp/Kconfig"
|
|
source "net/udp/Kconfig"
|
|
source "net/icmp/Kconfig"
|
|
source "net/igmp/Kconfig"
|
|
source "net/arp/Kconfig"
|
|
source "net/iob/Kconfig"
|
|
source "net/utils/Kconfig"
|
|
|
|
config NET_STATISTICS
|
|
bool "Collect network statistics"
|
|
default n
|
|
---help---
|
|
uIP statistics on or off
|
|
|
|
source "net/route/Kconfig"
|
|
|
|
config NET_MULTICAST
|
|
bool "Multi-cast Tx support"
|
|
default n
|
|
---help---
|
|
Outgoing multi-cast address support
|
|
|
|
# Select Transport (should be a choice)
|
|
|
|
config NET_ETHERNET
|
|
bool
|
|
default y if !NET_SLIP
|
|
default n if NET_SLIP
|
|
---help---
|
|
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).
|
|
|
|
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).
|
|
|
|
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 # NET_SLIP
|
|
endif # NET
|