# Copyright (c) 2017 Linaro Limited # SPDX-License-Identifier: Apache-2.0 menuconfig LWM2M bool "OMA LWM2M protocol stack" select COAP select HTTP_PARSER_URL select NET_SOCKETS select NET_SOCKETS_POSIX_NAMES help This option adds logic for managing OMA LWM2M data if LWM2M module = LWM2M module-dep = LOG module-str = Log level for LWM2M library source "subsys/net/Kconfig.template.log_config.net" config LWM2M_DTLS_SUPPORT bool "Enable DTLS support in the LwM2M client" select TLS_CREDENTIALS select NET_SOCKETS_SOCKOPT_TLS select NET_SOCKETS_ENABLE_DTLS config LWM2M_DNS_SUPPORT bool "Enable DNS support in the LWM2M client" default y if DNS_RESOLVER config LWM2M_ENGINE_STACK_SIZE int "LWM2M engine stack size" default 2560 if NET_LOG default 2048 help Set the stack size for the LWM2M library engine (used for handling OBSERVE and NOTIFY events) config LWM2M_ENGINE_MAX_MESSAGES int "LWM2M engine max. message object" default 10 help Set the maximum message objects for the LWM2M library client config LWM2M_COAP_BLOCK_SIZE int "LWM2M CoAP block-wise transfer size" default 256 range 64 1024 help CoAP block size used by LWM2M when performing block-wise transfers. Possible values: 16, 32, 64, 128, 256, 512 and 1024. config LWM2M_ENGINE_MESSAGE_HEADER_SIZE int "Room for CoAP header data" default 48 range 24 128 help Extra room allocated to handle CoAP header data config LWM2M_ENGINE_MAX_PENDING int "LWM2M engine max. pending objects" default 5 help Set the maximum pending objects for the LWM2M library client config LWM2M_ENGINE_MAX_REPLIES int "LWM2M engine max. reply objects" default 5 help Set the maximum reply objects for the LWM2M library client config LWM2M_ENGINE_MAX_OBSERVER int "Maximum # of observable LWM2M resources" default 10 range 5 200 help This value sets the maximum number of resources which can be added to the observe notification list. config LWM2M_ENGINE_DEFAULT_LIFETIME int "LWM2M engine default server connection lifetime" default 30 range 15 65535 help Set the default lifetime (in seconds) for the LWM2M library engine config LWM2M_SECONDS_TO_UPDATE_EARLY int "LWM2M Registration Update transmission time before timeout" default 6 range 1 65535 help Time in seconds before the registration timeout, when the LWM2M Registration Update is sent by the engine. In networks with large round trip times (like NB-IoT), it might be needed to set this value higher, in order to allow the response to arrive before timeout. config LWM2M_QUEUE_MODE_ENABLED bool "Enable Queue Mode UDP binding" help Set the transport binding to UDP with Queue Mode (UQ). config LWM2M_QUEUE_MODE_UPTIME int "Specify time the LWM2M client should stay online in queue mode." default 93 help This config specifies time (in seconds) the device should stay online after sending a message to the server. Note, that LWM2M specification recommends this to be CoAP MAX_TRANSMIT_WAIT parameter (which defaults to 93 seconds, see RFC 7252), it does not forbid other values though. config LWM2M_RD_CLIENT_SUPPORT bool "support for LWM2M client bootstrap/registration state machine" default y help Client will use registration state machine to locate and connect to LWM2M servers (including bootstrap server support) config LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP bool "Enable bootstrap support" help Enabling this setting allows the RD client to support bootstrap mode. config LWM2M_RD_CLIENT_ENDPOINT_NAME_MAX_LENGTH int "Maximum length of client endpoint name" depends on LWM2M_RD_CLIENT_SUPPORT default 33 help Default: room for 32 hexadeciaml digits (UUID) + NULL config LWM2M_RD_CLIENT_MAX_RETRIES int "Specify maximum number of registration retries" default 5 help Specify maximum number of registration retries, before the application is notified about the network failure. Once application is notified, it's up to the application to handle this situation in a way appropriate for the specific use-case (for instance by waiting for LTE link to be re-established). config LWM2M_PEER_PORT int "LWM2M server port" depends on LWM2M_RD_CLIENT_SUPPORT default 5683 help This is the default server port to connect to for LWM2M communication config LWM2M_SECURITY_INSTANCE_COUNT int "Maximum # of LWM2M Security object instances" default 2 if LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP default 1 range 1 10 help This setting establishes the total count of LWM2M Security instances available to the client. config LWM2M_SECURITY_KEY_SIZE int "Buffer size of the security key resources" default 16 range 16 256 help This setting establishes the size of the key (pre-shared / public) resources in the security object instances. config LWM2M_SERVER_DEFAULT_PMIN int "Default server record PMIN" default 10 help Default minimum amount of time in seconds the client must wait between notifications. If a resource has to be notified during this minimum time period, the notification must be sent after the time period expires. config LWM2M_SERVER_DEFAULT_PMAX int "Default server record PMAX" default 60 help Default maximum amount of time in seconds the client may wait between notifications. When this time period expires a notification must be sent. config LWM2M_SERVER_INSTANCE_COUNT int "Maximum # of LWM2M Server object instances" default 2 if LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP default 1 range 1 10 help This setting establishes the total count of LWM2M Server instances available to the client (including: bootstrap and regular servers). config LWM2M_CONN_MON_OBJ_SUPPORT bool "Connectivity Monitoring object support" help Include support for LWM2M Connectivity Monitoring Object (ID 4) config LWM2M_CONN_MON_BEARER_MAX int "Maximum # of available network bearer resource instances" depends on LWM2M_CONN_MON_OBJ_SUPPORT default 1 help This value sets the maximum number of available network bearer resource instances. These are displayed via the "Connection Monitoring" object /4/0/1. config LWM2M_CONN_MON_APN_MAX int "Maximum # of APN resource instances" depends on LWM2M_CONN_MON_OBJ_SUPPORT default 1 help This value sets the maximum number of APN resource instances. These are displayed via the "Connection Monitoring" object /4/0/7. config LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT bool "Firmware Update object support" default y help Include support for LWM2M Firmware Update Object (ID 5) config LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT bool "Firmware Update object pull support" default y depends on LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT depends on (HTTP_PARSER || HTTP_PARSER_URL) help Include support for pulling a file from a remote server via block transfer and "FIRMWARE PACKAGE URI" resource. This option adds another UDP context and packet handling. config LWM2M_NUM_BLOCK1_CONTEXT int "Maximum # of LWM2M block1 contexts" default 3 help This value sets up the maximum number of block1 contexts for CoAP block-wise transfer we can handle at the same time. config LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_SUPPORT bool "Firmware Update object pull via CoAP-CoAP/HTTP proxy support" depends on LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT help Include support for pulling firmware file via a CoAP-CoAP/HTTP proxy. config LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_ADDR string "CoAP proxy network address" depends on LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_SUPPORT help Network address of the CoAP proxy server. config LWM2M_RW_JSON_SUPPORT bool "support for JSON writer" default y help Include support for writing JSON data config LWM2M_DEVICE_PWRSRC_MAX int "Maximum # of device power source records" default 5 range 1 20 help This value sets the maximum number of power source data that a device can store. These are displayed via the "Device" object /3/0/6, /3/0/7 and /3/0/8 resources. config LWM2M_DEVICE_ERROR_CODE_MAX int "Maximum # of device obj error codes to store" default 10 range 1 20 help This value sets the maximum number of error codes that the device object will store before ignoring new values. config LWM2M_DEVICE_EXT_DEV_INFO_MAX int "Maximum # of device obj external device info to store" default 5 range 1 20 help This value sets the maximum number of external device info that the device object will store before ignoring new values. config LWM2M_NUM_ATTR int "Maximum # of LWM2M attributes" default 20 help This value sets up the maximum number of LwM2M attributes that we can handle at the same time. config LWM2M_LOCATION_OBJ_SUPPORT bool "Location object support" help Include support for LWM2M Location Object (ID 6) menu "IPSO Alliance Smart Object Support" source "subsys/net/lib/lwm2m/Kconfig.ipso" endmenu endif # LWM2M