| # 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_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 || IEEE802154_RAW_MODE || NET_L2_OPENTHREAD |
| |
| 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. |
| |
| endif # NET_L2_IEEE802154 || IEEE802154_RAW_MODE || NET_L2_OPENTHREAD |
| |
| if NET_L2_IEEE802154 || IEEE802154_RAW_MODE |
| |
| 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 || IEEE802154_RAW_MODE |
| |
| 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 |