# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # 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_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" 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_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 ---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. 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. 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_ETH_TCP_RECVWNDO int "Ethernet TCP receive window size" 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. config NET_SLIP_MTU int # "SLIP packet buffer size (MTU)" default 296 depends on NET_SLIP range 296 1518 ---help--- Packet buffer size. 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. config NET_SLIP_TCP_RECVWNDO int "SLIP TCP receive window size" default 256 depends on NET_SLIP && 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. config NET_TUN_MTU int "TUN packet buffer size (MTU)" default 296 depends on NET_TUN range 296 1518 config NET_TUN_TCP_RECVWNDO int "TUN TCP receive window size" default 256 depends on NET_TUN && NET_TCP 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. endmenu # Driver buffer configuration menu "Data link support" config NET_MULTILINK bool default n 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. config NET_ETHERNET bool "Ethernet support" default y if !NET_SLIP default n if NET_SLIP select NETDEV_MULTINIC if NET_SLIP select NET_MULTILINK 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 select NETDEV_MULTINIC if NET_ETHERNET select NET_MULTILINK if NET_ETHERNET ---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. 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 config NET_TUN bool "TUN Virtual Network Device support" default n 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 endif # NET_TUN endmenu # Data link support source "net/netdev/Kconfig" menu "Internet Protocol Selection" config NET_IPv4 bool "IPv4" default y ---help--- Build in support for IPv4. config NET_IPv6 bool "IPv6" default n ---help--- Build in support for IPv6. source "net/neighbor/Kconfig" endmenu # Internet Protocol Selection source "net/socket/Kconfig" source "net/pkt/Kconfig" source "net/local/Kconfig" source "net/tcp/Kconfig" source "net/udp/Kconfig" source "net/icmp/Kconfig" source "net/icmpv6/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 config NET_HOSTNAME string "Host name for current machine" default "" ---help--- A unique name to identify device on the network endif # NET