net/Kconfig: Improved default values and comments

This commit is contained in:
Gregory Nutt 2014-01-16 16:08:51 -06:00
parent 2382af1e7b
commit 90974e2b0b

View File

@ -84,10 +84,20 @@ endif # NET_SOCKOPTS
config NET_BUFSIZE config NET_BUFSIZE
int "Network packet size" int "Network packet size"
default 562 if !NET_SLIP default 1294 if !NET_SLIP && NET_IPv6
default 296 if NET_SLIP default 590 if !NET_SLIP && !NET_IPv6
default 296 if NET_SLIP && !NET_IPv6
---help--- ---help---
uIP buffer size. Default: 562 uIP buffer size. This size includes the size of TCP/UDP header,
the IP header, and the Ethernet header (assuming that the Ethernet
transport is used.
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_TCPURGDATA config NET_TCPURGDATA
bool "Urgent data" bool "Urgent data"
@ -135,14 +145,23 @@ if NET_TCP_READAHEAD
config NET_TCP_READAHEAD_BUFSIZE config NET_TCP_READAHEAD_BUFSIZE
int "TCP/IP read-ahead buffer size" int "TCP/IP read-ahead buffer size"
default 562 default 1220 if !NET_SLIP && NET_IPv6
default 536 if !NET_SLIP && !NET_IPv6
default 256 if NET_SLIP && !NET_IPv6
---help--- ---help---
Read-ahead buffers allows buffering of TCP/IP packets when there is no 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 receive in place to catch the TCP packet. In that case, the packet
will be retained in the NuttX read-ahead buffers. will be retained in the NuttX read-ahead buffers.
This setting specifies the size of one TCP/IP read-ahead buffer. 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). This should best be a equal to the maximum packet payload size (MSS).
Optimally, the size of the read-ahead buffer will should the maximum
size of an incoming TCP packet payload (MSS). This MSS value is
determined by NET_BUFSIZE minus the size of TCP, IP, and Ethernet
headers (assuming you are using the Ethernet transport). IPv4 hosts
are required to be able to handle an MSS of 536 octets and IPv6 hosts
are required to be able to handle an MSS of 1220 octets.
config NET_NTCP_READAHEAD_BUFFERS config NET_NTCP_READAHEAD_BUFFERS
int "Number of TCP/IP read-ahead buffers" int "Number of TCP/IP read-ahead buffers"
@ -170,11 +189,21 @@ if NET_TCP_WRITE_BUFFERS
config NET_TCP_WRITE_BUFSIZE config NET_TCP_WRITE_BUFSIZE
int "TCP/IP write buffer size" int "TCP/IP write buffer size"
default 562 default 1220 if !NET_SLIP && NET_IPv6
default 536 if !NET_SLIP && !NET_IPv6
default 256 if NET_SLIP && !NET_IPv6
---help--- ---help---
Write buffers allows buffering of ongoing TCP/IP packets, providing Write buffers allows buffering of ongoing TCP/IP packets, providing
for higher performance, streamed output. for higher performance, streamed output.
The size of the write buffer will determine the maximum size of an
outgoing TCP packet payload (MSS). This value should NOT exceed the
maximum MSS which is determined by NET_BUFSIZE minus the size of
TCP, IP, and Ethernet headers (assuming you are using the Ethernet
transport). IPv4 hosts are required to be able to handle an MSS
of 536 octets and IPv6 hosts are required to be able to handle an
MSS of 1220 octets.
This setting specifies the size of one TCP/IP write buffer. This This setting specifies the size of one TCP/IP write buffer. This
should best be a equal to the maximum packet size (NET_BUFSIZE). should best be a equal to the maximum packet size (NET_BUFSIZE).
@ -258,6 +287,7 @@ config NET_UDP
Enable or disable UDP networking support. Enable or disable UDP networking support.
if NET_UDP if NET_UDP
config NET_UDP_CHECKSUMS config NET_UDP_CHECKSUMS
bool "UDP checksums" bool "UDP checksums"
default n default n
@ -292,7 +322,7 @@ config NET_RXAVAIL
NOTE: If this option is enabled, the driver must support the NOTE: If this option is enabled, the driver must support the
rxavail() method in the uip_driver_s structure. rxavail() method in the uip_driver_s structure.
endif endif # NET_UDP
endmenu endmenu
config NET_ICMP config NET_ICMP
@ -304,6 +334,7 @@ config NET_ICMP
for sending replies to received ECHO (ping) requests. for sending replies to received ECHO (ping) requests.
if NET_ICMP if NET_ICMP
config NET_ICMP_PING config NET_ICMP_PING
bool "ICMP ping interfaces" bool "ICMP ping interfaces"
default n default n
@ -317,7 +348,7 @@ config NET_PINGADDRCONF
---help--- ---help---
Use "ping" packet for setting IP address Use "ping" packet for setting IP address
endif endif # NET_ICMP
config NET_IGMP config NET_IGMP
bool "IGMPv2 clientsupport" bool "IGMPv2 clientsupport"
@ -327,6 +358,7 @@ config NET_IGMP
Enable IGMPv2 client support. Enable IGMPv2 client support.
if NET_IGMP if NET_IGMP
config PREALLOC_IGMPGROUPS config PREALLOC_IGMPGROUPS
int "Number of pre-allocated IGMP groups" int "Number of pre-allocated IGMP groups"
default 4 default 4
@ -334,9 +366,7 @@ config PREALLOC_IGMPGROUPS
Pre-allocated IGMP groups are used only if needed from interrupt Pre-allocated IGMP groups are used only if needed from interrupt
level group created (by the IGMP server). Default: 4. level group created (by the IGMP server). Default: 4.
endif endif # NET_IGMP
if NET
config NET_STATISTICS config NET_STATISTICS
bool "Collect network statistics" bool "Collect network statistics"
@ -346,12 +376,14 @@ config NET_STATISTICS
config NET_RECEIVE_WINDOW config NET_RECEIVE_WINDOW
int "Receive window size" int "Receive window size"
default 562 default 1220 if !NET_SLIP && NET_IPv6
default 536 if !NET_SLIP && !NET_IPv6
default 256 if NET_SLIP && !NET_IPv6
---help--- ---help---
The size of the advertised receiver's window. Should be set low 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 (i.e., to the size of the MSS) if the application is slow to process
to process incoming data, or high (32768 bytes) if the application incoming data, or high (32768 bytes) if the application processes
processes data quickly. data quickly.
config NET_ARPTAB_SIZE config NET_ARPTAB_SIZE
int "ARP table size" int "ARP table size"
@ -403,15 +435,14 @@ config NET_SLIP
The basic differences between the SLIP and Ethernet configurations is The basic differences between the SLIP and Ethernet configurations is
that when SLIP is selected: that when SLIP is selected:
* The link level header (that comes before the IP header) is omitted. * The link level header (that comes before the IP header) is omitted.
* All MAC address processing is suppressed. * All MAC address processing is suppressed.
* ARP is disabled. * ARP is disabled.
If NET_SLIP is not selected, then Ethernet will be used (there is 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 no need to define anything special in the configuration file to use
Ethernet -- it is the default). Ethernet -- it is the default).
endif
if NET_SLIP if NET_SLIP
config SLIP_NINTERFACES config SLIP_NINTERFACES
@ -434,5 +465,5 @@ config SLIP_DEFPRIO
---help--- ---help---
The priority of the SLIP RX and TX tasks. Default: 128 The priority of the SLIP RX and TX tasks. Default: 128
endif endif # NET_SLIP
endif endif # NET