The network application API is a higher level API for creating client and server type applications. Instead of applications dealing with low level details, the network application API provides services that most of the applications can use directly. This commit removes the internal net_sample_*() API and converts the existing users of it to use the new net_app API. Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
223 lines
5.8 KiB
Text
223 lines
5.8 KiB
Text
# 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
|
|
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_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
|
|
select MBEDTLS
|
|
help
|
|
Enables net app library to use TLS for encrypted communication.
|
|
|
|
config NET_DEBUG_APP_TLS_LEVEL
|
|
int "Debug level for mbedtls in net app library"
|
|
depends on NET_APP_TLS && 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
|
|
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_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
|
|
|
|
endif # NET_APP_SETTINGS
|