276 lines
7.2 KiB
Plaintext
276 lines
7.2 KiB
Plaintext
# Kconfig.app - Options for networking applications
|
|
|
|
#
|
|
# Copyright (c) 2017 Intel Corporation.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
menuconfig NET_APP
|
|
bool "Network application API support [EXPERIMENTAL]"
|
|
default y
|
|
select NET_MGMT
|
|
select NET_MGMT_EVENT
|
|
help
|
|
Enable API that helps to create client/server network applications.
|
|
This API is experimental and subject to change.
|
|
|
|
if NET_APP
|
|
|
|
config NET_APP_AUTO_INIT
|
|
bool "Init networking support automatically during device startup"
|
|
default y
|
|
help
|
|
If this option is set, then the net_app API is automatically
|
|
initialized when the device is started. If you do not wish to do
|
|
this, then disable this and call net_app_init() in your application.
|
|
|
|
config NET_APP_INIT_PRIO
|
|
int "Startup priority for the network application init"
|
|
default 95
|
|
depends on NET_APP_AUTO_INIT
|
|
|
|
config NET_APP_INIT_TIMEOUT
|
|
int "How long to wait for networking to be ready and available"
|
|
default 30
|
|
depends on NET_APP_AUTO_INIT
|
|
help
|
|
The value is in seconds. If for example IPv4 address from DHCPv4 is not
|
|
received within this limit, then the net_app_init() call will fail
|
|
during the device startup.
|
|
|
|
config NET_APP_NEED_IPV6
|
|
bool "This application wants IPv6 support"
|
|
depends on NET_APP_AUTO_INIT
|
|
select NET_IPV6
|
|
help
|
|
The network application needs IPv6 support to function properly.
|
|
This option makes sure the network application is initialized properly
|
|
in order to use IPv6.
|
|
|
|
config NET_APP_NEED_IPV6_ROUTER
|
|
bool "This application wants IPv6 router to exists"
|
|
depends on NET_APP_AUTO_INIT
|
|
depends on NET_IPV6
|
|
help
|
|
The network application needs IPv6 router to exists before continuing.
|
|
What this means that the application wants to wait until it receives
|
|
IPv6 router advertisement message before continuing.
|
|
|
|
config NET_APP_NEED_IPV4
|
|
bool "This application wants IPv4 support"
|
|
depends on NET_APP_AUTO_INIT
|
|
select NET_IPV4
|
|
help
|
|
The network application needs IPv4 support to function properly.
|
|
This option makes sure the network application is initialized properly
|
|
in order to use IPv4.
|
|
|
|
config NET_DEBUG_APP
|
|
bool "Debug net app library"
|
|
default n
|
|
default y if NET_LOG_GLOBAL
|
|
help
|
|
Enables net app library to output debug messages
|
|
|
|
config NET_APP_SERVER
|
|
bool "Enable server support"
|
|
default n
|
|
help
|
|
Enables net app library server APIs.
|
|
|
|
config NET_APP_SERVER_NUM_CONN
|
|
int "Number of simultaneous incoming connections"
|
|
default 1
|
|
depends on NET_APP_SERVER
|
|
help
|
|
Tells how many simultaneous incoming connections the server instance can
|
|
support. The value of CONFIG_NET_TCP_BACKLOG_SIZE must be greater than
|
|
or equal to CONFIG_NET_APP_SERVER_NUM_CONN.
|
|
|
|
config NET_APP_CLIENT
|
|
bool "Enable client support"
|
|
default n
|
|
help
|
|
Enables net app library client APIs.
|
|
|
|
config NET_APP_TLS
|
|
bool "Enable TLS support for TCP applications"
|
|
default n
|
|
depends on NET_TCP
|
|
select MBEDTLS
|
|
help
|
|
Enables net app library to use TLS for encrypted communication.
|
|
|
|
config NET_APP_DTLS
|
|
bool "Enable DTLS support for UDP applications"
|
|
depends on NET_UDP
|
|
select MBEDTLS
|
|
default n
|
|
help
|
|
Enables net app library to use DTLS for encrypted UDP communication.
|
|
|
|
config NET_APP_DTLS_TIMEOUT
|
|
int "DTLS session timeout"
|
|
depends on NET_APP_DTLS
|
|
default 15
|
|
help
|
|
If a DTLS session does not have any activity, then disconnect
|
|
the session. The value is in seconds.
|
|
|
|
config NET_DEBUG_APP_TLS_LEVEL
|
|
int "Debug level for mbedtls in net app library"
|
|
depends on (NET_APP_TLS || NET_APP_DTLS) && NET_DEBUG_APP
|
|
default 0
|
|
range 0 4
|
|
help
|
|
Sets log level for the mbedtls when debugging net_app library.
|
|
Levels are (from ext/lib/crypto/mbedtls/include/mbedtls/debug.h):
|
|
0 No debug
|
|
1 Error
|
|
2 State change
|
|
3 Information
|
|
4 Verbose
|
|
|
|
config NET_APP_TLS_STACK_SIZE
|
|
int "TLS handler thread stack size"
|
|
default 8192
|
|
depends on NET_APP_TLS || NET_APP_DTLS
|
|
help
|
|
TLS handler thread stack size. The mbedtls routines will use this stack
|
|
thus it is by default very large.
|
|
|
|
endif # NET_APP
|
|
|
|
menuconfig NET_APP_SETTINGS
|
|
bool "Set network settings for applications"
|
|
default n
|
|
depends on NET_APP
|
|
help
|
|
Allow IP addresses to be set in config file for
|
|
networking client/server sample applications, or
|
|
some link-layer dedicated settings like the channel.
|
|
Beware this is not meant to be used for proper
|
|
provisioning but quick sampling/testing.
|
|
|
|
if NET_APP_SETTINGS
|
|
|
|
if NET_IPV6
|
|
|
|
config NET_APP_MY_IPV6_ADDR
|
|
string "My IPv6 address"
|
|
help
|
|
Use 2001:db8::1 here if uncertain.
|
|
|
|
config NET_APP_PEER_IPV6_ADDR
|
|
string "Peer IPv6 address"
|
|
help
|
|
This is only applicable in client side applications that try
|
|
to establish a connection to peer host.
|
|
Use 2001:db8::2 here if uncertain.
|
|
|
|
endif # NET_IPV6
|
|
|
|
if NET_IPV4
|
|
|
|
config NET_APP_MY_IPV4_ADDR
|
|
string "My IPv4 address"
|
|
help
|
|
Use 192.0.2.1 here if uncertain.
|
|
|
|
config NET_APP_MY_IPV4_NETMASK
|
|
string "My IPv4 netmask"
|
|
default "255.255.255.0"
|
|
help
|
|
Static netmask to use if not overridden by DHCP. Use empty value to
|
|
skip setting static value.
|
|
|
|
config NET_APP_MY_IPV4_GW
|
|
string "My IPv4 gateway"
|
|
help
|
|
Static gateway to use if not overridden by DHCP. Use empty value to
|
|
skip setting static value.
|
|
|
|
config NET_APP_PEER_IPV4_ADDR
|
|
string "Peer IPv4 address"
|
|
help
|
|
This is only applicable in client side applications that try
|
|
to establish a connection to peer host.
|
|
Use 192.0.2.2 here if uncertain.
|
|
|
|
endif # NET_IPV4
|
|
|
|
if NET_L2_IEEE802154 || NET_L2_RAW_CHANNEL
|
|
|
|
config NET_APP_IEEE802154_DEV_NAME
|
|
string "IEEE 802.15.4 device name"
|
|
help
|
|
The device name to get bindings from in the sample application.
|
|
|
|
config NET_APP_IEEE802154_PAN_ID
|
|
hex "IEEE 802.15.4 PAN ID"
|
|
default 0xabcd
|
|
help
|
|
The PAN ID to use by default in the sample.
|
|
|
|
config NET_APP_IEEE802154_CHANNEL
|
|
int "IEEE 802.15.4 channel"
|
|
default 26
|
|
help
|
|
The channel to use by default in the sample application.
|
|
|
|
config NET_APP_IEEE802154_RADIO_TX_POWER
|
|
int "IEEE 802.15.4 TX power in dbm"
|
|
default 0
|
|
help
|
|
The TX power to use by default in the sample application.
|
|
See NET_L2_IEEE802154_RADIO_DFLT_TX_POWER for more info.
|
|
|
|
config NET_APP_IEEE802154_SECURITY_KEY
|
|
string "IEEE 802.15.4 security key"
|
|
default "moooh!"
|
|
depends on NET_L2_IEEE802154_SECURITY
|
|
help
|
|
The key string to use for the link-layer security part.
|
|
|
|
config NET_APP_IEEE802154_SECURITY_KEY_MODE
|
|
int "IEEE 802.15.4 security key mode"
|
|
default 0
|
|
range 0 0
|
|
depends on NET_L2_IEEE802154_SECURITY
|
|
help
|
|
The key mode to use for the link-layer security part.
|
|
Only implicit mode is supported, thus 0.
|
|
|
|
config NET_APP_IEEE802154_SECURITY_LEVEL
|
|
int "IEEE 802.15.4 security level (0-7)"
|
|
default 0
|
|
range 0 7
|
|
depends on NET_L2_IEEE802154_SECURITY
|
|
help
|
|
The security level to use for the link-layer security part.
|
|
0 means no security
|
|
1 authentication only with a 4 bytes length tag
|
|
2 authentication only with a 8 bytes length tag
|
|
3 authentication only with a 16 bytes length tag
|
|
4 encryption only
|
|
5 encryption/authentication with a 4 bytes length tag
|
|
6 encryption/authentication with a 8 bytes length tag
|
|
7 encryption/authentication with a 16 bytes length tag
|
|
|
|
endif # NET_L2_IEEE802154 || NET_L2_RAW_CHANNEL
|
|
|
|
if NET_L2_BT
|
|
|
|
config NET_APP_BT_NODE
|
|
bool "Enable Bluetooth node support"
|
|
default n
|
|
select NET_L2_BT_MGMT
|
|
help
|
|
Enables application to operate in node mode which requires GATT
|
|
service to be registered and start advertising as peripheral.
|
|
|
|
endif # NET_L2_BT
|
|
|
|
endif # NET_APP_SETTINGS
|