2012-04-06 17:49:35 +02:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
2015-06-28 16:08:57 +02:00
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
2012-04-06 17:49:35 +02:00
|
|
|
#
|
2012-04-12 01:06:30 +02:00
|
|
|
|
2013-10-23 19:48:57 +02:00
|
|
|
config ARCH_HAVE_NET
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAVE_PHY
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2012-04-12 01:06:30 +02:00
|
|
|
config NET
|
|
|
|
bool "Networking support"
|
|
|
|
default n
|
2013-10-23 19:48:57 +02:00
|
|
|
select ARCH_HAVE_NET
|
2012-04-12 01:06:30 +02:00
|
|
|
---help---
|
|
|
|
Enable or disable all network features
|
|
|
|
|
|
|
|
if NET
|
|
|
|
|
2014-11-16 18:15:21 +01:00
|
|
|
config NET_PROMISCUOUS
|
|
|
|
bool "Promiscuous mode"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Force the Ethernet driver to operate in promiscuous mode (if supported
|
|
|
|
by the Ethernet driver).
|
|
|
|
|
|
|
|
menu "Driver buffer configuration"
|
|
|
|
|
2014-11-16 16:22:38 +01:00
|
|
|
config NET_ETH_MTU
|
|
|
|
int "Ethernet packet buffer size (MTU)"
|
|
|
|
default 1294 if NET_IPv6
|
|
|
|
default 590 if !NET_IPv6
|
|
|
|
depends on NET_ETHERNET
|
|
|
|
range 590 1518
|
2012-04-12 01:06:30 +02:00
|
|
|
---help---
|
2014-01-17 20:24:44 +01:00
|
|
|
Packet buffer size. This size includes the TCP/UDP payload plus the
|
2014-11-16 16:22:38 +01:00
|
|
|
size of TCP/UDP header, the IP header, and the Ethernet header.
|
|
|
|
This value is normally referred to as the MTU (Maximum Transmission
|
|
|
|
Unit); the payload is the MSS (Maximum Segment Size).
|
2014-01-16 23:08:51 +01:00
|
|
|
|
|
|
|
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 =
|
2014-11-16 16:22:38 +01:00
|
|
|
590.
|
2014-01-16 23:08:51 +01:00
|
|
|
|
|
|
|
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
|
2012-04-12 01:06:30 +02:00
|
|
|
|
2014-11-16 18:15:21 +01:00
|
|
|
config NET_ETH_TCP_RECVWNDO
|
2014-11-16 18:27:53 +01:00
|
|
|
int "Ethernet TCP receive window size"
|
2014-11-16 18:15:21 +01:00
|
|
|
default 1220 if NET_IPv6
|
|
|
|
default 536 if !NET_IPv6
|
|
|
|
depends on NET_ETHERNET && NET_TCP
|
|
|
|
---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.
|
|
|
|
|
2014-11-16 16:22:38 +01:00
|
|
|
config NET_SLIP_MTU
|
|
|
|
int # "SLIP packet buffer size (MTU)"
|
|
|
|
default 296
|
|
|
|
depends on NET_SLIP
|
|
|
|
range 296 1518
|
|
|
|
---help---
|
2015-08-24 21:49:12 +02:00
|
|
|
Provides the size of the SLIP packet buffers. This size includes
|
|
|
|
the TCP/UDP payload plus the size of TCP/UDP header and the IP header.
|
|
|
|
This value is normally referred to as the MTU (Maximum Transmission Unit);
|
|
|
|
the payload payload is the MSS (Maximum Segment Size).
|
|
|
|
|
|
|
|
SLIP is required to support at lest 256+20+20 = 296. Values other than
|
|
|
|
296 are not recommended.
|
|
|
|
|
|
|
|
The Linux slip module hard-codes its MTU size to 296 (40 bytes for
|
|
|
|
the IP+TPC headers plus 256 bytes of data). So you might as well
|
|
|
|
set CONFIG_NET_SLIP_MTU to 296 as well.
|
|
|
|
|
|
|
|
There may be an issue with this setting, however. I see that Linux
|
|
|
|
uses a MTU of 296 and window of 256, but actually only sends 168
|
|
|
|
bytes of data: 40 + 128. I believe that is to allow for the 2x
|
|
|
|
worst cast packet expansion. Ideally we would like to advertise the
|
|
|
|
256 MSS, but restrict transfers to 128 bytes (possibly by modifying
|
2015-08-27 16:39:17 +02:00
|
|
|
the MSS value in the TCP connection structure).
|
2015-08-24 21:49:12 +02:00
|
|
|
|
2014-11-16 16:22:38 +01:00
|
|
|
|
2014-11-16 18:15:21 +01:00
|
|
|
config NET_SLIP_TCP_RECVWNDO
|
2014-11-16 18:27:53 +01:00
|
|
|
int "SLIP TCP receive window size"
|
2014-11-16 18:15:21 +01:00
|
|
|
default 256
|
|
|
|
depends on NET_SLIP && NET_TCP
|
2014-06-25 19:01:08 +02:00
|
|
|
---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.
|
|
|
|
|
2014-06-19 16:18:46 +02:00
|
|
|
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.
|
|
|
|
|
2014-11-16 18:27:53 +01:00
|
|
|
endmenu # Driver buffer configuration
|
2014-11-16 18:15:21 +01:00
|
|
|
|
2014-11-15 15:55:50 +01:00
|
|
|
menu "Data link support"
|
2014-11-15 15:22:51 +01:00
|
|
|
|
|
|
|
config NET_MULTILINK
|
|
|
|
bool
|
|
|
|
default n
|
2014-06-01 17:40:23 +02:00
|
|
|
|
2015-03-11 13:52:56 +01:00
|
|
|
config NET_USER_DEVFMT
|
|
|
|
bool "User provided devfmt"
|
|
|
|
default n
|
|
|
|
depends on EXPERIMENTAL
|
|
|
|
---help---
|
|
|
|
netdev_register will get devfmt form d_ifname if it is initialized.
|
|
|
|
|
2014-06-01 17:40:23 +02:00
|
|
|
config NET_ETHERNET
|
2014-11-15 15:55:50 +01:00
|
|
|
bool "Ethernet support"
|
2017-03-31 19:15:16 +02:00
|
|
|
default y
|
2017-03-31 18:47:12 +02:00
|
|
|
select NETDEV_MULTINIC if NET_6LOWPAN || NET_LOOPBACK || NET_SLIP || NET_TUN
|
|
|
|
select NET_MULTILINK if NET_6LOWPAN || NET_LOOPBACK || NET_SLIP || NET_TUN
|
2014-06-01 17:40:23 +02:00
|
|
|
---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).
|
|
|
|
|
2017-03-31 19:15:16 +02:00
|
|
|
menuconfig NET_6LOWPAN
|
|
|
|
bool "IEEE 802.15.4 6LoWPAN support"
|
|
|
|
default n
|
|
|
|
select NETDEV_MULTINIC if NET_ETHERNET || NET_LOOPBACK || NET_SLIP || NET_TUN
|
|
|
|
select NET_MULTILINK if NET_ETHERNET || NET_LOOPBACK || NET_SLIP || NET_TUN
|
|
|
|
depends on EXPERIMENTAL && NET_IPv6
|
|
|
|
---help---
|
|
|
|
Enable support for IEEE 802.15.4 Low power Wireless Personal Area
|
|
|
|
Networking (6LoWPAN).
|
|
|
|
|
2015-08-24 21:49:12 +02:00
|
|
|
config NET_LOOPBACK
|
|
|
|
bool "Local loopback"
|
|
|
|
default n
|
2017-03-31 18:47:12 +02:00
|
|
|
select NETDEV_MULTINIC if NET_ETHERNET || NET_6LOWPAN || NET_SLIP || NET_TUN
|
|
|
|
select NET_MULTILINK if NET_ETHERNET || NET_6LOWPAN || NET_SLIP || NET_TUN
|
2015-08-24 21:49:12 +02:00
|
|
|
---help---
|
2016-12-03 23:28:19 +01:00
|
|
|
Add support for the local network loopback device, lo.
|
2015-08-24 21:49:12 +02:00
|
|
|
|
2012-04-12 01:06:30 +02:00
|
|
|
config NET_SLIP
|
|
|
|
bool "SLIP support"
|
|
|
|
default n
|
2017-03-31 18:47:12 +02:00
|
|
|
select NETDEV_MULTINIC if NET_ETHERNET || NET_6LOWPAN || NET_LOOPBACK || NET_TUN
|
|
|
|
select NET_MULTILINK if NET_ETHERNET || NET_6LOWPAN || NET_LOOPBACK || NET_TUN
|
2012-04-12 01:06:30 +02:00
|
|
|
---help---
|
|
|
|
Enables building of the SLIP driver. SLIP requires
|
2016-12-03 23:28:19 +01:00
|
|
|
at least one IP protocol selected.
|
2012-04-12 01:06:30 +02:00
|
|
|
|
|
|
|
SLIP supports point-to-point IP communications over a serial port.
|
2015-11-26 19:08:09 +01:00
|
|
|
The default data link layer for network layer 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:
|
2014-01-16 23:08:51 +01:00
|
|
|
|
|
|
|
* The link level header (that comes before the IP header) is omitted.
|
|
|
|
* All MAC address processing is suppressed.
|
|
|
|
* ARP is disabled.
|
|
|
|
|
2012-04-12 01:06:30 +02:00
|
|
|
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
|
2013-09-06 17:18:07 +02:00
|
|
|
Ethernet -- it is the default).
|
2012-04-12 01:06:30 +02:00
|
|
|
|
|
|
|
if NET_SLIP
|
|
|
|
|
2013-09-06 17:18:07 +02:00
|
|
|
config SLIP_NINTERFACES
|
2012-04-12 01:06:30 +02:00
|
|
|
int "Number of SLIP interfaces"
|
|
|
|
default 1
|
|
|
|
---help---
|
|
|
|
Selects the number of physical SLIP
|
2013-09-06 17:18:07 +02:00
|
|
|
interfaces to support.
|
2012-04-12 01:06:30 +02:00
|
|
|
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
|
|
|
|
|
2014-01-16 23:08:51 +01:00
|
|
|
endif # NET_SLIP
|
2015-03-11 13:52:56 +01:00
|
|
|
|
|
|
|
config NET_TUN
|
|
|
|
bool "TUN Virtual Network Device support"
|
|
|
|
default n
|
2017-03-31 18:47:12 +02:00
|
|
|
select NETDEV_MULTINIC if NET_ETHERNET || NET_6LOWPAN || NET_LOOPBACK || NET_SLIP
|
|
|
|
select NET_MULTILINK if NET_ETHERNET || NET_6LOWPAN || NET_LOOPBACK || NET_SLIP
|
2015-11-26 19:08:09 +01:00
|
|
|
select ARCH_HAVE_NETDEV_STATISTICS
|
2015-03-11 13:52:56 +01:00
|
|
|
|
|
|
|
if NET_TUN
|
|
|
|
|
|
|
|
config TUN_NINTERFACES
|
|
|
|
int "Number of TUN interfaces"
|
|
|
|
default 1
|
|
|
|
range 1 8
|
|
|
|
---help---
|
|
|
|
Selects the number of TUN
|
|
|
|
interfaces to support.
|
|
|
|
Default: 1
|
|
|
|
|
2016-11-18 16:22:49 +01:00
|
|
|
config NET_TUN_MTU
|
|
|
|
int "TUN packet buffer size (MTU)"
|
|
|
|
default 296
|
|
|
|
range 296 1518
|
|
|
|
|
|
|
|
config NET_TUN_TCP_RECVWNDO
|
|
|
|
int "TUN TCP receive window size"
|
|
|
|
default 256
|
|
|
|
depends on NET_TCP
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Work queue"
|
|
|
|
default LOOPBACK_LPWORK if SCHED_LPWORK
|
|
|
|
default TUN_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
|
|
|
|
depends on SCHED_WORKQUEUE
|
|
|
|
---help---
|
2016-11-19 16:20:01 +01:00
|
|
|
Work queue support is required to use the TUN driver. If the
|
|
|
|
low priority work queue is available, then it should be used by the
|
|
|
|
TUN driver.
|
2016-11-18 16:22:49 +01:00
|
|
|
|
|
|
|
config TUN_HPWORK
|
|
|
|
bool "High priority"
|
|
|
|
depends on SCHED_HPWORK
|
|
|
|
|
|
|
|
config TUN_LPWORK
|
|
|
|
bool "Low priority"
|
|
|
|
depends on SCHED_LPWORK
|
|
|
|
|
|
|
|
endchoice # Work queue
|
2015-03-11 13:52:56 +01:00
|
|
|
endif # NET_TUN
|
|
|
|
|
2017-03-31 16:58:14 +02:00
|
|
|
config NET_USRSOCK
|
|
|
|
bool "User-space networking stack API"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enable or disable user-space networking stack support.
|
|
|
|
|
|
|
|
User-space networking stack API allows user-space daemon to
|
|
|
|
provide TCP/IP stack implementation for NuttX network.
|
|
|
|
|
|
|
|
Main use for this is to allow use and integration of
|
|
|
|
HW-provided TCP/IP stacks for NuttX.
|
|
|
|
|
|
|
|
For example, user-space daemon can translate /dev/usrsock API
|
|
|
|
requests to HW TCP/IP API requests while rest of the user-space
|
|
|
|
can access standard socket API, with socket descriptors that
|
|
|
|
can be used with NuttX system calls.
|
|
|
|
|
2014-11-15 15:55:50 +01:00
|
|
|
endmenu # Data link support
|
|
|
|
|
|
|
|
source "net/netdev/Kconfig"
|
2015-01-14 17:51:09 +01:00
|
|
|
|
2015-01-18 16:23:22 +01:00
|
|
|
menu "Internet Protocol Selection"
|
2015-01-14 17:51:09 +01:00
|
|
|
|
|
|
|
config NET_IPv4
|
2015-01-18 16:23:22 +01:00
|
|
|
bool "IPv4"
|
|
|
|
default y
|
2015-01-16 23:49:48 +01:00
|
|
|
---help---
|
|
|
|
Build in support for IPv4.
|
|
|
|
|
2016-02-27 14:26:20 +01:00
|
|
|
menuconfig NET_IPv6
|
2015-01-16 23:49:48 +01:00
|
|
|
bool "IPv6"
|
|
|
|
default n
|
|
|
|
---help---
|
2015-01-18 16:23:22 +01:00
|
|
|
Build in support for IPv6.
|
2015-01-14 17:51:09 +01:00
|
|
|
|
2015-01-16 23:49:48 +01:00
|
|
|
source "net/neighbor/Kconfig"
|
2017-03-27 22:53:52 +02:00
|
|
|
source "net/sixlowpan/Kconfig"
|
2016-02-27 14:26:20 +01:00
|
|
|
|
2015-01-16 23:49:48 +01:00
|
|
|
endmenu # Internet Protocol Selection
|
|
|
|
|
|
|
|
source "net/socket/Kconfig"
|
2014-11-15 15:55:50 +01:00
|
|
|
source "net/pkt/Kconfig"
|
2015-01-24 21:03:32 +01:00
|
|
|
source "net/local/Kconfig"
|
2014-11-15 15:55:50 +01:00
|
|
|
source "net/tcp/Kconfig"
|
|
|
|
source "net/udp/Kconfig"
|
|
|
|
source "net/icmp/Kconfig"
|
2015-01-14 21:26:50 +01:00
|
|
|
source "net/icmpv6/Kconfig"
|
2014-11-15 15:55:50 +01:00
|
|
|
source "net/igmp/Kconfig"
|
|
|
|
source "net/arp/Kconfig"
|
2015-08-24 18:08:26 +02:00
|
|
|
source "net/loopback/Kconfig"
|
2014-11-15 15:55:50 +01:00
|
|
|
source "net/iob/Kconfig"
|
2015-11-27 20:53:33 +01:00
|
|
|
source "net/procfs/Kconfig"
|
2017-03-31 16:58:14 +02:00
|
|
|
source "net/usrsock/Kconfig"
|
2014-11-15 15:55:50 +01:00
|
|
|
source "net/utils/Kconfig"
|
|
|
|
|
|
|
|
config NET_STATISTICS
|
|
|
|
bool "Collect network statistics"
|
|
|
|
default n
|
|
|
|
---help---
|
2015-11-26 19:08:09 +01:00
|
|
|
Network layer statistics on or off
|
2014-11-15 15:55:50 +01:00
|
|
|
|
|
|
|
source "net/route/Kconfig"
|
|
|
|
|
2015-07-03 15:50:27 +02:00
|
|
|
config NET_HOSTNAME
|
|
|
|
string "Host name for current machine"
|
|
|
|
default ""
|
|
|
|
---help---
|
|
|
|
A unique name to identify device on the network
|
|
|
|
|
2014-01-16 23:08:51 +01:00
|
|
|
endif # NET
|