zephyr/net/yaip/Kconfig

236 lines
6.8 KiB
Text
Raw Normal View History

# Kconfig.yaip - Yet another IP stack config
#
# Copyright (c) 2016 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
menu "New IP stack [EXPERIMENTAL]"
depends on NET_YAIP
config NET_INIT_PRIO
int
default 90
help
Network initialization priority level. This number tells how
early in the boot the network stack is initialized.
config NET_IPV6
bool "Enable IPv6"
default y
help
Enable IPv6 support. This should be selected by default as there is
limited set of network bearers provided that support IPv4.
config NET_IF_UNICAST_IPV6_ADDR_COUNT
int "Max number of unicast IPv6 addresses per network interface"
depends on NET_IPV6
default 2
config NET_IF_MCAST_IPV6_ADDR_COUNT
int "Max number of multicast IPv6 addresses per network interface"
depends on NET_IPV6
default 1
config NET_IF_IPV6_PREFIX_COUNT
int "Max number of IPv6 prefixes per network interface"
depends on NET_IPV6
default 2
config NET_INITIAL_HOP_LIMIT
int "Initial hop limit for a connection"
depends on NET_IPV6
default 64
help
The value should be > 0
config NET_IPV6_MAX_NEIGHBORS
int "How many IPv6 neighbors are supported"
depends on NET_IPV6
default 8
range 1 254
help
The value depends on your network needs.
config NET_IPV6_ND
bool "Activate neighbor discovery"
depends on NET_IPV6
default y
help
The value depends on your network needs. ND should normally
be active.
config NET_IPV6_DAD
bool "Activate duplicate address detection"
depends on NET_IPV6
default y
default n if !NET_IPV6_ND
help
The value depends on your network needs. DAD should normally
be active.
config NET_IPV6_RA_RDNSS
bool "Support RA RDNSS option"
depends on NET_IPV6 && !NET_IPV6_NO_ND
default y
help
Support Router Advertisement Recursive DNS Server option.
See RFC 6106 for details. The value depends on your network needs.
config NET_6LO
bool "Enable 6lowpan IPv6 Compression library"
depends on NET_IPV6
help
6lowpan compression and fragmentation.
config NET_6LO_DEBUG
bool "Enable 6lowpan debug"
depends on NET_6LO
config NET_IPV4
bool "Enable IPv4"
default n
help
Enable IPv4 support. If this is enabled then the device is
able to send and receive IPv4 network packets.
config NET_INITIAL_TTL
int "Initial time to live for a connection"
depends on NET_IPV4
default 64
help
The value should be > 0
config NET_IF_UNICAST_IPV4_ADDR_COUNT
int "Max number of unicast IPv4 addresses per network interface"
depends on NET_IPV4
default 1
config NET_IF_MCAST_IPV4_ADDR_COUNT
int "Max number of multicast IPv4 addresses per network interface"
depends on NET_IPV4
default 1
config NET_MAX_ROUTERS
int "How many routers are supported"
default 2 if NET_IPV4 && NET_IPV6
default 1 if NET_IPV4 && !NET_IPV6
default 1 if !NET_IPV4 && NET_IPV6
range 1 254
help
The value depends on your network needs.
config NET_UDP
bool "Enable UDP"
default y
help
The value depends on your network needs.
config NET_MAX_CONN
int "How many network connections are supported"
depends on NET_UDP || NET_TCP
default 4
help
The value depends on your network needs. The value
should include both UDP and TCP connections.
config NET_CONN_CACHE
bool "Cache network connections"
depends on NET_UDP || NET_TCP
default n
help
Caching takes slight more memory but will speedup connection
handling of UDP and TCP connections.
config NET_TX_STACK_SIZE
int "TX fiber stack size"
default 1024
help
Set the TX fiber stack size in bytes. The TX fiber is waiting
data from application. Each network interface will start one
TX fiber for sending network packets destined to it.
config NET_RX_STACK_SIZE
int "RX fiber stack size"
default 1024
help
Set the RX fiber stack size in bytes. The RX fiber is waiting
data from network. There is one RX fiber in the system.
config NET_NBUF_RX_COUNT
int "How many network receives can be pending at the same time"
default 2
help
Each RX buffer will occupy smallish amount of memory.
See include/net/nbuf.h and the sizeof(struct nbuf)
config NET_NBUF_TX_COUNT
int "How many network sends can be pending at the same time"
default 2
help
Each TX buffer will occupy smallish amount of memory.
See include/net/nbuf.h and the sizeof(struct nbuf)
config NET_NBUF_DATA_COUNT
int "How many network data buffers are allocated"
default 16
help
Each data buffer will occupy CONFIG_NBUF_DATA_SIZE + smallish
header (sizeof(struct net_buf)) amount of data.
config NET_NBUF_DATA_SIZE
int "Size of each network data fragment"
default 128
help
This value tells what is the size of the data fragment that is
received from the network.
Example: For IEEE 802.15.4, the network packet is 127 bytes long,
which leaves in worst case 81 bytes for user data (MTU).
In order to be able to receive at least full IPv6 packet which
has a size of 1280 bytes, the one should allocate 16 fragments here.
config CONFIG_NET_MAX_CONTEXTS
int "Number of network contexts to allocate"
default 6
help
Each network context is used to describe a network 5-tuple that
is used when listening or sending network traffic.
config NET_SLIP
bool "Use SLIP connectivity with Qemu"
default n
select SLIP
select UART_PIPE
select UART_INTERRUPT_DRIVEN
help
The SLIP support is only used when the application is
run inside Qemu and the network peer is run in your
host. The host needs to have tunslip running in order
to receive and send network packets via the SLIP driver.
The SLIP driver Kconfig options can be tweaked in drivers
section.
config NET_STATISTICS
bool "Print network statistics"
default n
help
Print network send/receive statistics to console.
This takes memory so say 'n' if unsure.
source "net/yaip/l2/Kconfig"
source "net/ip/Kconfig.debug"
endmenu