1# Copyright (c) 2017 Linaro Limited
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig LWM2M
5	bool "OMA LwM2M protocol stack"
6	select COAP
7	select HTTP_PARSER_URL
8	select NET_SOCKETS
9	help
10	  This option adds logic for managing OMA LwM2M data
11
12if LWM2M
13
14module = LWM2M
15module-dep = LOG
16module-str = Log level for LwM2M library
17source "subsys/net/Kconfig.template.log_config.net"
18
19menu "Protocol versions"
20
21choice
22	prompt "LwM2M protocol version"
23	default LWM2M_VERSION_1_0
24	help
25	  Select which version of the LwM2M protocol is used
26
27config LWM2M_VERSION_1_0
28	bool "LwM2M version 1.0"
29	imply LWM2M_RW_OMA_TLV_SUPPORT
30
31config LWM2M_VERSION_1_1
32	bool "LwM2M version 1.1"
33	imply LWM2M_RW_CBOR_SUPPORT
34	imply ZCBOR
35
36endchoice # "LwM2M protocol version"
37
38choice
39	prompt "LwM2M Security object version"
40	default LWM2M_SECURITY_OBJECT_VERSION_1_0 if LWM2M_VERSION_1_0
41	default LWM2M_SECURITY_OBJECT_VERSION_1_1 if LWM2M_VERSION_1_1
42	help
43	  Select which version of the security object should be used.
44
45config LWM2M_SECURITY_OBJECT_VERSION_1_0
46	bool "Security object version 1.0"
47
48config LWM2M_SECURITY_OBJECT_VERSION_1_1
49	bool "Security object version 1.1"
50
51endchoice # "LwM2M Security object version"
52
53choice
54	prompt "LwM2M Server object version"
55	default LWM2M_SERVER_OBJECT_VERSION_1_0 if LWM2M_VERSION_1_0
56	default LWM2M_SERVER_OBJECT_VERSION_1_1 if LWM2M_VERSION_1_1
57	help
58	  Select which version of the Server object should be used.
59
60config LWM2M_SERVER_OBJECT_VERSION_1_0
61	bool "Server object version 1.0"
62
63config LWM2M_SERVER_OBJECT_VERSION_1_1
64	bool "Server object version 1.1"
65
66endchoice # "LwM2M Server object version"
67
68endmenu # "Protocol versions"
69
70menu "Engine features"
71
72config LWM2M_DTLS_SUPPORT
73	bool "DTLS support in the LwM2M client"
74
75
76config LWM2M_DNS_SUPPORT
77	bool "DNS support in the LwM2M client"
78	default y if DNS_RESOLVER
79
80config LWM2M_COAP_BLOCK_TRANSFER
81	bool "CoAP block transfer support for big outgoing LwM2M messages [EXPERIMENTAL]"
82	select EXPERIMENTAL
83	help
84	  LwM2M messages with a big body that exceed the block size will be split
85	  into blocks for sending.
86	  To append CoAP ETag option into outgoing block transfers, CONFIG_SYS_HASH_FUNC32 should
87	  be enabled.
88
89config LWM2M_CANCEL_OBSERVE_BY_PATH
90	bool "Use path matching as fallback for cancel-observe"
91	help
92	  Some ambiguous language in the LwM2M spec causes some LwM2M server
93	  implementations to implement cancel-observe by specifying the resource
94	  path rather than the token of the original observe request. Without
95	  this option, cancel-observe may not work properly when connecting to
96	  those servers.
97
98config LWM2M_QUEUE_MODE_ENABLED
99	bool "Queue Mode UDP binding"
100	help
101	  Set the transport binding to UDP with Queue Mode (UQ).
102
103config LWM2M_QUEUE_MODE_UPTIME
104	int "Specify time the LwM2M client should stay online in queue mode." if LWM2M_QUEUE_MODE_ENABLED
105	default 93
106	help
107	  This config specifies time (in seconds) the device should stay online
108	  after sending a message to the server. Note, that LwM2M specification
109	  recommends this to be CoAP MAX_TRANSMIT_WAIT parameter (which
110	  defaults to 93 seconds, see RFC 7252), it does not forbid other
111	  values though.
112
113config LWM2M_QUEUE_MODE_NO_MSG_BUFFERING
114	bool "Disable buffering notifications and messages on queue mode"
115	select EXPERIMENTAL
116	help
117	  Messages are sent right away instead of waiting for next registration update.
118	  This might not be supported on all servers.
119
120config LWM2M_TLS_SESSION_CACHING
121	bool "TLS session caching"
122	help
123	  Enabling this only when feature is supported in TLS library.
124
125config LWM2M_DTLS_CID
126	bool "DTLS Connection Identifier support"
127	default y if MBEDTLS_SSL_DTLS_CONNECTION_ID
128	help
129	  Request TLS stack to enable DTLS Connection identifier. This requires stack that support it
130	  and actual effect depends on the target server as well.
131
132config LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP
133	bool "Bootstrap support"
134	help
135	  Enabling this setting allows the RD client to support bootstrap mode.
136
137choice
138prompt "Socket handling at idle state"
139
140config LWM2M_RD_CLIENT_CLOSE_SOCKET_AT_IDLE
141	bool "Close socket when entering RX idle"
142
143config LWM2M_RD_CLIENT_SUSPEND_SOCKET_AT_IDLE
144	bool "Stop polling on RX idle and close only when resuming"
145
146config  LWM2M_RD_CLIENT_STOP_POLLING_AT_IDLE
147	bool "Stop polling the socket on RX idle"
148
149config  LWM2M_RD_CLIENT_LISTEN_AT_IDLE
150	bool "Keep open and listening"
151
152endchoice
153
154choice
155	prompt "LwM2M Engine operation mode"
156	default LWM2M_TICKLESS if NET_SOCKETPAIR
157	default LWM2M_INTERVAL if !NET_SOCKETPAIR
158
159config LWM2M_TICKLESS
160	bool "Tickless operation mode"
161	depends on NET_SOCKETPAIR
162
163config LWM2M_INTERVAL
164	bool "Interval based polling mode"
165
166endchoice
167
168config LWM2M_SERVER_DEFAULT_SSID
169	int "Default server ssid when using the lwm2m-client. (used for access control)"
170	default 101
171	help
172	  When bootstrap is not enabled, access control needs a default owner.
173
174config LWM2M_PEER_PORT
175	int "LWM2M server port"
176	default 5683
177	help
178	  This is the default server port to connect to for LwM2M communication.
179
180config LWM2M_FIRMWARE_PORT_NONSECURE
181	int "LWM2M firmware server port non-secure"
182	default 5683
183	help
184	  This is the default server port to connect to for LwM2M firmware downloads over coap.
185
186config LWM2M_FIRMWARE_PORT_SECURE
187	int "LWM2M firmware server port secure"
188	default 5684
189	help
190	  This is the default server port to connect to for LwM2M firmware downloads over coaps.
191
192config LWM2M_SERVER_DEFAULT_PMIN
193	int "Default server record PMIN"
194	default 0
195	help
196	  Default minimum amount of time in seconds the client must wait
197	  between notifications.  If a resource has to be notified during this
198	  minimum time period, the notification must be sent after the time
199	  period expires.
200
201config LWM2M_SERVER_DEFAULT_PMAX
202	int "Default server record PMAX"
203	default 0
204	help
205	  Default maximum amount of time in seconds the client may wait
206	  between notifications.  When this time period expires a notification
207	  must be sent.
208
209config LWM2M_RD_CLIENT_MAX_RETRIES
210	int "Specify maximum number of registration retries"
211	default 5
212	help
213	  Specify maximum number of registration retries, before the application
214	  is notified about the network failure. Once application is notified,
215	  it's up to the application to handle this situation in a way
216	  appropriate for the specific use-case (for instance by waiting for
217	  LTE link to be re-established).
218
219config LWM2M_RESOURCE_DATA_CACHE_SUPPORT
220	bool "Resource Time series data cache support"
221	depends on (LWM2M_RW_SENML_JSON_SUPPORT || LWM2M_RW_SENML_CBOR_SUPPORT)
222	depends on (POSIX_CLOCK && RING_BUFFER)
223	help
224	  Enable time series data storage.
225	  Requires time() to provide current Unix timestamp.
226
227if LWM2M_RESOURCE_DATA_CACHE_SUPPORT
228config LWM2M_MAX_CACHED_RESOURCES
229	int "Maximum # of cached resources"
230	default 4
231	help
232	  This settings define how many different resources may have cache enabled.
233	  This affects static memory usage of engine.
234choice
235	prompt "Cache full policy"
236	default LWM2M_CACHE_DROP_OLDEST
237
238config LWM2M_CACHE_DROP_LATEST
239	bool "Drop new data when cache is full"
240
241config LWM2M_CACHE_DROP_OLDEST
242	bool "Drop oldest data when cache is full"
243
244endchoice
245
246endif # LWM2M_RESOURCE_DATA_CACHE_SUPPORT
247
248endmenu # "Engine features"
249
250menu "Memory and buffer size configuration"
251
252config LWM2M_ENGINE_STACK_SIZE
253	int "LWM2M engine stack size"
254	default 2560 if NET_LOG
255	default 2048
256	help
257	  Set the stack size for the LwM2M library engine (used for handling
258	  OBSERVE and NOTIFY events)
259
260config LWM2M_ENGINE_MAX_MESSAGES
261	int "LWM2M engine max. message object"
262	default 10
263	help
264	  Set the maximum message objects for the LwM2M library client
265
266config LWM2M_COAP_BLOCK_SIZE
267	int "LWM2M CoAP block-wise transfer size"
268	default 256
269	range 64 1024
270	help
271	  CoAP block size used by LwM2M when performing block-wise
272	  transfers. Possible values: 64, 128, 256, 512 and 1024.
273
274config LWM2M_ENGINE_MESSAGE_HEADER_SIZE
275	int "Room for CoAP header data"
276	default 48
277	range 24 128
278	help
279	  Extra room allocated to handle CoAP header data
280
281config LWM2M_COAP_MAX_MSG_SIZE
282	int "LWM2M CoAP maximum message size"
283	default LWM2M_COAP_BLOCK_SIZE
284	help
285	  CoAP message size used by LWM2M. Minimum is the block size used
286	  in blockwise transfers.
287
288config LWM2M_ENGINE_VALIDATION_BUFFER_SIZE
289	int "Size of the validation buffer for the incoming data"
290	default 64
291	help
292	  LwM2M will use the validation buffer during the write operation, to
293	  decode the resource value before validating it (applies for resources
294	  for which validation callback has been registered). Set this value to
295	  the maximum expected size of the resources that need to be validated
296	  (and thus have validation callback registered).
297	  Setting the validation buffer size to 0 disables validation support.
298
299config LWM2M_ENGINE_MAX_PENDING
300	int "LWM2M engine max. pending objects"
301	default 5
302	help
303	  Set the maximum pending objects for the LwM2M library client
304
305config LWM2M_ENGINE_MAX_REPLIES
306	int "LWM2M engine max. reply objects"
307	default 5
308	help
309	  Set the maximum reply objects for the LwM2M library client
310
311config LWM2M_ENGINE_MAX_OBSERVER
312	int "Maximum # of observable LwM2M resources"
313	default 10
314	range 5 200
315	help
316	  This value sets the maximum number of resources which can be
317	  added to the observe notification list.
318
319config LWM2M_RD_CLIENT_ENDPOINT_NAME_MAX_LENGTH
320	int "Maximum length of client endpoint name"
321	default 33
322	help
323	  Default: room for 32 hexadecimal digits (UUID) + NULL
324
325config LWM2M_SECURITY_KEY_SIZE
326	int "Buffer size of the security key resources"
327	default 16
328	help
329	  This setting establishes the size of the key (pre-shared / public)
330	  resources in the security object instances.
331
332config LWM2M_SECURITY_DTLS_TLS_CIPHERSUITE_MAX
333	int "Maximum # of DTLS/TLS ciphersuite resource instances"
334	default 5
335	range 0 20
336	depends on LWM2M_SECURITY_OBJECT_VERSION_1_1
337	help
338	  This setting sets the maximum number of the resource instances of
339	  a security object defined in LwM2M version 1.1. Affects the resource
340	  0/X/16, where X is the object instance number.
341
342config LWM2M_SECURITY_INSTANCE_COUNT
343	int "Maximum # of LwM2M Security object instances"
344	default 2 if LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP
345	default 1
346	range 1 10
347	help
348	  This setting establishes the total count of LwM2M Security instances
349	  available to the client.
350
351config LWM2M_SERVER_INSTANCE_COUNT
352	int "Maximum # of LwM2M Server object instances"
353	default 2 if LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP
354	default 1
355	range 1 10
356	help
357	  This setting establishes the total count of LwM2M Server instances
358	  available to the client (including: bootstrap and regular servers).
359
360if LWM2M_COAP_BLOCK_TRANSFER
361config LWM2M_COAP_ENCODE_BUFFER_SIZE
362	int "LwM2M CoAP buffer size for encoding the full message for block-wise transfer"
363	default 1024
364	help
365	  Size of buffers for serializing big LwM2M CoAP messages that need to be
366	  split into blocks for sending.
367
368config LWM2M_NUM_OUTPUT_BLOCK_CONTEXT
369	int "Maximum # of LwM2M block contexts used for outgoing messages"
370	default 3
371	help
372	  Maximum number of CoAP block contexts needed to split messages into blocks for
373	  sending. This limits the numer of messages that need block transfer that can be
374	  handled at the same time.
375
376config LWM2M_LOG_ENCODE_BUFFER_ALLOCATIONS
377	bool "Log allocations of encode buffers for block wise transfer"
378	select MEM_SLAB_TRACE_MAX_UTILIZATION
379	help
380	  The allocation of encode buffers can be tracked to analyse the usage and
381	  to optimize the configuration of number of block contexts and indirectly
382	  the number of available encode buffers.
383endif # LWM2M_COAP_BLOCK_TRANSFER
384
385config LWM2M_NUM_BLOCK1_CONTEXT
386	int "Maximum # of LwM2M block1 contexts"
387	default 3
388	help
389	  This value sets up the maximum number of block1 contexts for
390	  CoAP block-wise transfer we can handle at the same time.
391
392config LWM2M_SWMGMT_PACKAGE_URI_LEN
393	int "Maximum size of the software management object's download URI string"
394	default 128
395
396config LWM2M_COMPOSITE_PATH_LIST_SIZE
397	int "Maximum # of composite read and send operation URL path"
398	default 6
399	help
400	  Define path list size for Composite Read and send operation.
401
402config LWM2M_DEVICE_ERROR_CODE_SETTINGS
403	bool "Use settings to store error codes across device resets"
404	depends on SETTINGS
405	help
406	  Store the device error code list in settings. Ensures error list can
407	  be transferred to LwM2M server even if the device is reset.
408
409config LWM2M_DEVICE_PWRSRC_MAX
410	int "Maximum # of device power source records"
411	default 5
412	range 1 20
413	help
414	  This value sets the maximum number of power source data that a device
415	  can store.  These are displayed via the "Device" object /3/0/6,
416	  /3/0/7 and /3/0/8 resources.
417
418config LWM2M_DEVICE_ERROR_CODE_MAX
419	int "Maximum # of device obj error codes to store"
420	default 10
421	range 1 20
422	help
423	  This value sets the maximum number of error codes that the device
424	  object will store before ignoring new values.
425
426config LWM2M_DEVICE_EXT_DEV_INFO_MAX
427	int "Maximum # of device obj external device info to store"
428	default 5
429	range 1 20
430	help
431	  This value sets the maximum number of external device info that the
432	  device object will store before ignoring new values.
433
434config LWM2M_NUM_ATTR
435	int "Maximum # of LwM2M attributes"
436	default 20
437	help
438	  This value sets up the maximum number of LwM2M attributes that
439	  we can handle at the same time.
440
441endmenu # "Memory and buffer size configuration"
442
443menu "Content format supports"
444config LWM2M_RW_OMA_TLV_SUPPORT
445	bool "TLV data format"
446	help
447	  Include support for write / parse TLV data
448
449config LWM2M_RW_JSON_SUPPORT
450	bool "support for JSON writer"
451	depends on JSON_LIBRARY
452	help
453	  Include support for writing JSON data
454
455
456config LWM2M_RW_SENML_JSON_SUPPORT
457	bool "SENML JSON data format"
458	depends on BASE64
459	depends on JSON_LIBRARY
460	help
461	  Include support for write / parse SENML JSON data
462
463config LWM2M_RW_CBOR_SUPPORT
464	bool "support for CBOR writer"
465	depends on ZCBOR
466	help
467	  Include support for writing CBOR data
468
469config LWM2M_RW_SENML_CBOR_SUPPORT
470	bool "support for SenML CBOR writer"
471	depends on ZCBOR
472	depends on ZCBOR_CANONICAL
473	help
474	  Include support for writing SenML CBOR data
475
476config LWM2M_RW_SENML_CBOR_RECORDS
477	int "Maximum # of SenML records packed into a CBOR binary"
478	depends on LWM2M_RW_SENML_CBOR_SUPPORT
479	default 30
480	help
481	  The CBOR library requires you to set an upper limit for the records when encoder
482	  and decoder do get generated.
483
484endmenu # "Content format supports"
485
486config LWM2M_ENGINE_DEFAULT_LIFETIME
487	int "LWM2M engine default server connection lifetime"
488	default 30
489	range 15 4294967295
490	help
491	  Set the default lifetime (in seconds) for the LwM2M library engine.
492	  This is also a minimum lifetime that client accepts. If server sets lifetime
493	  less than this value, client automatically raises it.
494
495config LWM2M_UPDATE_PERIOD
496	int "LwM2M engine update period"
497	default 0
498	range 0 4294967295
499	help
500	  Time period after the previous update or registration when to send the next update message.
501	  This allows modifying lifetime without affecting the update period.
502	  Set to zero, to allow LWM2M_SECONDS_TO_UPDATE_EARLY and lifetime to control when to
503	  send the update. When both values are set, smallest period will be used.
504
505config LWM2M_SECONDS_TO_UPDATE_EARLY
506	int "LWM2M Registration Update transmission time before timeout"
507	default 10
508	range 1 4294967295
509	help
510	  Time in seconds before the registration timeout, when the LWM2M
511	  Registration Update is sent by the engine. In networks with large
512	  round trip times (like NB-IoT), it might be needed to set this value
513	  higher, in order to allow the response to arrive before timeout.
514
515config LWM2M_SHELL
516	bool "LwM2M shell utilities"
517	select SHELL
518	help
519	  Activate shell module that provides LwM2M commands like
520	  send to the console.
521
522config LWM2M_ACCESS_CONTROL_ENABLE
523	bool "Access control support (ID 2)"
524	help
525	  Enabling this setting registers the access control object.
526
527config LWM2M_ACCESS_CONTROL_INSTANCE_COUNT
528	int "Maximum # of LwM2M Access Control object instances" if LWM2M_ACCESS_CONTROL_ENABLE
529	default 50
530	help
531	  This setting establishes the total count of LwM2M Access Control instances
532	  available to the client.
533
534config LWM2M_CONN_MON_OBJ_SUPPORT
535	bool "Connectivity Monitoring object support (ID 4)"
536	help
537	  Include support for LwM2M Connectivity Monitoring Object
538
539if LWM2M_CONN_MON_OBJ_SUPPORT
540choice
541	prompt "LwM2M Connectivity Monitor object version"
542	default LWM2M_CONNMON_OBJECT_VERSION_1_0 if LWM2M_VERSION_1_0
543	default LWM2M_CONNMON_OBJECT_VERSION_1_2 if LWM2M_VERSION_1_1
544	help
545	  Select Which version of the Connectivity Monitor object should be used.
546
547config LWM2M_CONNMON_OBJECT_VERSION_1_0
548	bool "Connectivity monitor object version 1.0"
549
550config LWM2M_CONNMON_OBJECT_VERSION_1_2
551	bool "Connectivity monitor object version 1.2"
552
553config LWM2M_CONNMON_OBJECT_VERSION_1_3
554	bool "Connectivity monitor object version 1.3"
555
556endchoice
557
558config LWM2M_CONN_MON_BEARER_MAX
559	int "Maximum # of available network bearer resource instances"
560	default 1
561	help
562	  This value sets the maximum number of available network bearer
563	  resource instances.  These are displayed via the
564	  "Connection Monitoring" object /4/0/1.
565
566config LWM2M_CONN_MON_APN_MAX
567	int "Maximum # of APN resource instances"
568	default 1
569	help
570	  This value sets the maximum number of APN resource instances.
571	  These are displayed via the "Connection Monitoring" object /4/0/7.
572endif # LWM2M_CONN_MON_OBJ_SUPPORT
573
574config LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT
575	bool "Firmware Update object support (ID 5)"
576	default y
577	help
578	  Include support for LwM2M Firmware Update Object
579
580if LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT
581config LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT_MULTIPLE
582	bool "Support multiple firmware update objects [EXPERIMENTAL]"
583	select EXPERIMENTAL
584	help
585	  Support multiple instances of LwM2M Firmware Update Object
586
587config LWM2M_FIRMWARE_UPDATE_OBJ_INSTANCE_COUNT
588	int "Maximum # of LwM2M Firmware update object instances"
589	default 1
590	help
591	  This setting establishes the total count of LwM2M Firmware update
592	  object instances available to the client.
593
594config LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT
595	bool "Firmware Update object pull support"
596	default y
597	depends on (HTTP_PARSER || HTTP_PARSER_URL)
598	help
599	  Include support for pulling a file from a remote server via
600	  block transfer and "FIRMWARE PACKAGE URI" resource.  This option
601	  adds another UDP context and packet handling.
602
603config LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_SUPPORT
604	bool "Firmware Update object pull via CoAP-CoAP/HTTP proxy support"
605	depends on LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT
606	help
607	  Include support for pulling firmware file via a CoAP-CoAP/HTTP proxy.
608
609config LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_ADDR
610	string "CoAP proxy network address"
611	depends on LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_SUPPORT
612	help
613	  Network address of the CoAP proxy server.
614
615endif # LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT
616
617config LWM2M_LOCATION_OBJ_SUPPORT
618	bool "Location object support (ID 6)"
619	help
620	  Include support for LwM2M Location Object
621
622config LWM2M_SWMGMT_OBJ_SUPPORT
623	bool "Software management object support (ID 9)"
624	help
625	  Include support for LwM2M Software Management Object.
626
627if LWM2M_SWMGMT_OBJ_SUPPORT
628config LWM2M_SWMGMT_MAX_INSTANCE_COUNT
629	int "Maximum # of object instances"
630	depends on LWM2M_SWMGMT_OBJ_SUPPORT
631	default 1
632
633config LWM2M_SWMGMT_PACKAGE_NAME_LEN
634	int "Maximum size of the software management object's name string"
635	depends on LWM2M_SWMGMT_OBJ_SUPPORT
636	default 64
637
638config LWM2M_SWMGMT_PACKAGE_VERSION_LEN
639	int "Maximum size of the software management object's version string"
640	depends on LWM2M_SWMGMT_OBJ_SUPPORT
641	default 64
642endif # LWM2M_SWMGMT_OBJ_SUPPORT
643
644config LWM2M_PORTFOLIO_OBJ_SUPPORT
645	bool "LwM2M Portfolio object ID support (ID 16)"
646	help
647	  Include support for LwM2M Portfolio Object.
648
649config LWM2M_BINARYAPPDATA_OBJ_SUPPORT
650	bool "LwM2M BinaryAppDataContainer Object (ID 19)"
651	help
652	  Include support for LwM2M BinaryAppDataContainer Object
653
654config LWM2M_EVENT_LOG_OBJ_SUPPORT
655	bool "LwM2M Event Log Object (ID 20)"
656	help
657	  Include support for LwM2M Event Log Object
658
659config LWM2M_GATEWAY_OBJ_SUPPORT
660	bool "LwM2M Gateway Object (ID 25) [EXPERIMENTAL]"
661	select EXPERIMENTAL
662
663if LWM2M_GATEWAY_OBJ_SUPPORT
664
665config LWM2M_GATEWAY_MAX_INSTANCES
666	int "Maximum number of bridged devices"
667	default 1
668	help
669	  This setting establishes the total count of LwM2M Gateway
670	  instances available to the LwM2M client.
671
672config LWM2M_GATEWAY_DEFAULT_DEVICE_ID
673	string "Identifies the IoT Device bridged to the LwM2M Gateway"
674	default "Node"
675
676config LWM2M_GATEWAY_DEVICE_ID_MAX_STR_SIZE
677	int "Maximum string size for device ID"
678	default 32
679
680config LWM2M_GATEWAY_DEFAULT_DEVICE_PREFIX
681	string "Used for access to LwM2M Objects of this IoT Device"
682	default "n"
683	help
684	  Defaults are n0, n1, n2, ..., n<max instances - 1>
685
686config LWM2M_GATEWAY_PREFIX_MAX_STR_SIZE
687	int "Max string size for prefix"
688	default 32
689
690config LWM2M_GATEWAY_DEFAULT_IOT_DEVICE_OBJECTS
691	string "Contains the Objects and Object Instances exposed by Gateway"
692	default ""
693	help
694	  It uses the same CoreLnk format as Registration Interface.
695	  This must be populated by Gateway.
696	  Example:
697	    </3>;ver=1.0,</3/0>,</4>;ver=1.0,</4/0>,
698	    </5>;ver=1.0,</5/0>,</9>;ver=1.0,</9/0>,</3303/0>
699
700config LWM2M_GATEWAY_IOT_DEVICE_OBJECTS_MAX_STR_SIZE
701	int "Maximum string size for IoT device objects"
702	default 128
703
704endif # LWM2M_GATEWAY_OBJ_SUPPORT
705
706source "subsys/net/lib/lwm2m/Kconfig.ipso"
707
708source "subsys/net/lib/lwm2m/Kconfig.ucifi"
709
710menu "Deprecated flags"
711config LWM2M_RD_CLIENT_SUPPORT
712	bool "DEPRECATED: client bootstrap/registration state machine"
713	select DEPRECATED
714	help
715	  Deprecated flag. RD state machine is always part of engine. It cannot be disabled.
716endmenu # "Deprecated flags"
717
718endif # LWM2M
719