zephyr/net/yaip/Kconfig

198 lines
5.3 KiB
Plaintext

# 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.
source "net/yaip/Kconfig.debug"
source "net/yaip/Kconfig.ipv6"
source "net/yaip/Kconfig.ipv4"
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_ROUTE
bool
depends on NET_IPV6
select NET_IPV6_ND
default n
default y if NET_IPV6
config NET_MAX_ROUTES
int "Max number of routing entries stored."
default NET_IPV6_MAX_NEIGHBORS
depends on NET_ROUTE
help
This determines how many entries can be stored in routing table.
config NET_MAX_NEXTHOPS
int "Max number of next hop entries stored."
default NET_MAX_ROUTES
depends on NET_ROUTE
help
This determines how many entries can be stored in nexthop table.
config NET_TCP
bool
default n
config NET_UDP
bool "Enable UDP"
default y
help
The value depends on your network needs.
config NET_DEBUG_UDP
bool "Debug UDP"
default n
depends on NET_UDP && NET_LOG
help
Enables UDP handler output debug messages
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 1200
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 NET_MAX_CONTEXTS
int "Number of network contexts to allocate"
default 2
help
Each network context is used to describe a network 5-tuple that
is used when listening or sending network traffic. This is very
similar as one could call a network socket in some other systems.
config NET_CONTEXT_SYNC_RECV
bool "Support synchronous functionality in net_context_recv() API"
default y
help
You can disable sync support to save some memory if you are calling
net_context_recv() in async way only when timeout is set to 0.
config NET_CONTEXT_CHECK
bool "Check options when calling various net_context functions"
default y
help
If you know that the options passed to net_context...() functions
are ok, then you can disable the checks to save some memory.
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_TRICKLE
bool "Enable Trickle library"
default n
help
Normally this is enabled automatically if needed,
so say 'n' if unsure.
config NET_DEBUG_TRICKLE
bool "Debug Trickle algorithm"
default n
depends on NET_TRICKLE && NET_LOG
help
Enables Trickle library output debug messages
source "net/yaip/l2/Kconfig"
endmenu