zephyr/subsys/net/lib/lwm2m
Seppo Takalo dc8f6da53c net: lwm2m: Implement fallback mechanism and support for diable
If server registration fails, allow fallback to secondary server,
or fallback to bootstrap.
Also allow fallback to different bootstrap server.

Add API to tell RD client when server have been disabled by
executable command.

Changes to RD state machine:
* All retry logic should be handled in NETWORK_ERROR state.
* New state SERVER_DISABLED.
* Internally disable servers that reject registration
* Temporary disable server on network error.
* Clean up all "disable timers" on start.
* Select server first, then find security object for it.
* State functions return void, error handling is done using states.
* DISCONNECT event will only come when client is requested to stop.
* NETWORK_ERROR will stop engine. This is generic error for all kinds
  of registration or network failures.
* BOOTSTRAP_REG_FAILURE also stops engine. This is fatal, and we cannot
  recover.

Refactoring:
* Server selection logic is inside server object.
* sm_handle_timeout_state() does not require msg parameter. Unused.
* When bootstrap fail, we should NOT back off to registration.
  This is a fatal error, and it stops the engine and informs application.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-12-05 16:40:06 -06:00
..
buf_util.h
CMakeLists.txt net: lwm2m: Separate opaque content format into its own 2023-09-27 15:44:30 +02:00
ipso_accelerometer.c
ipso_buzzer.c net: rename shadow variables 2023-08-10 08:14:43 +00:00
ipso_current_sensor.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
ipso_filling_sensor.c
ipso_filling_sensor.h
ipso_generic_sensor.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
ipso_humidity_sensor.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
ipso_light_control.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
ipso_onoff_switch.c
ipso_pressure_sensor.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
ipso_push_button.c
ipso_temp_sensor.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
ipso_timer.c net: rename shadow variables 2023-08-10 08:14:43 +00:00
ipso_voltage_sensor.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
Kconfig net: lwm2m: Support DTLS Connection Identifier 2023-11-17 09:23:29 +01:00
Kconfig.ipso
Kconfig.ucifi
lwm2m_engine.c net: lwm2m: don't load credentials on plaintext context 2023-11-20 09:20:43 +01:00
lwm2m_engine.h net: lwm2m: Allow disabling server for a period of time 2023-12-05 16:40:06 -06:00
lwm2m_message_handling.c net: lwm2m: Allow disabling server for a period of time 2023-12-05 16:40:06 -06:00
lwm2m_message_handling.h net: lwm2m: Fix composite read on SenML-CBOR 2023-09-27 15:44:30 +02:00
lwm2m_obj_access_control.c net: lwm2m: Fix build warning on access-control object 2023-09-21 09:29:05 +02:00
lwm2m_obj_access_control.h
lwm2m_obj_binaryappdata.c
lwm2m_obj_binaryappdata.h
lwm2m_obj_connmon.c net: lib: lwm2m: Use int16_t for signal quality 2023-11-20 13:01:23 +01:00
lwm2m_obj_device.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
lwm2m_obj_event_log.c
lwm2m_obj_event_log.h
lwm2m_obj_firmware_pull.c
lwm2m_obj_firmware.c net: lwm2m: Fix race condition on Firmware object 2023-08-16 13:03:07 +02:00
lwm2m_obj_gateway.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
lwm2m_obj_gateway.h
lwm2m_obj_location.c
lwm2m_obj_portfolio.c net: lwm2m: Fix overlapping buffers from Portfolio object 2023-11-02 09:28:04 +01:00
lwm2m_obj_security.c net: lwm2m: Allow finding security instance by short ID. 2023-12-05 16:40:06 -06:00
lwm2m_obj_server.c net: lwm2m: Implement fallback mechanism and support for diable 2023-12-05 16:40:06 -06:00
lwm2m_obj_server.h net: lwm2m: Allow disabling server for a period of time 2023-12-05 16:40:06 -06:00
lwm2m_obj_swmgmt.c
lwm2m_object.h net: lwm2m: Properly initialize buffers for resource instance 2023-10-20 15:11:32 +02:00
lwm2m_observation.c net: lwm2m: Allow disabling server for a period of time 2023-12-05 16:40:06 -06:00
lwm2m_observation.h net: lwm2m: Reset ongoing notification in case token changes 2023-10-04 11:23:53 +02:00
lwm2m_pull_context.c
lwm2m_pull_context.h
lwm2m_rd_client.c net: lwm2m: Implement fallback mechanism and support for diable 2023-12-05 16:40:06 -06:00
lwm2m_rd_client.h net: lwm2m: Implement fallback mechanism and support for diable 2023-12-05 16:40:06 -06:00
lwm2m_registry.c net: lwm2m: Fix core objects version reporting 2023-11-13 09:46:06 +01:00
lwm2m_registry.h
lwm2m_resource_ids.h
lwm2m_rw_cbor.c
lwm2m_rw_cbor.h
lwm2m_rw_json.c
lwm2m_rw_json.h
lwm2m_rw_link_format.c net: lwm2m: Remove the resource type in registration message 2023-11-03 11:44:28 +01:00
lwm2m_rw_link_format.h
lwm2m_rw_oma_tlv.c
lwm2m_rw_oma_tlv.h
lwm2m_rw_opaque.c net: lwm2m: Separate opaque content format into its own 2023-09-27 15:44:30 +02:00
lwm2m_rw_opaque.h net: lwm2m: Separate opaque content format into its own 2023-09-27 15:44:30 +02:00
lwm2m_rw_plain_text.c net: lwm2m: Separate opaque content format into its own 2023-09-27 15:44:30 +02:00
lwm2m_rw_plain_text.h
lwm2m_rw_senml_cbor.c net: lwm2m: Check access rights on composite operations 2023-10-20 15:12:39 +02:00
lwm2m_rw_senml_cbor.h
lwm2m_rw_senml_json.c net: lwm2m: Check access rights on composite operations 2023-10-20 15:12:39 +02:00
lwm2m_rw_senml_json.h
lwm2m_senml_cbor_decode.c
lwm2m_senml_cbor_decode.h
lwm2m_senml_cbor_encode.c
lwm2m_senml_cbor_encode.h
lwm2m_senml_cbor_regenerate.sh
lwm2m_senml_cbor_types.h net: lwm2m: ignore -Wshadow for cbor type header file 2023-08-22 11:39:58 +02:00
lwm2m_senml_cbor.cddl
lwm2m_senml_cbor.patch
lwm2m_shell.c net: lwm2m: shell: Add error check for string to float conversion 2023-11-20 09:24:11 +01:00
lwm2m_util.c
lwm2m_util.h
README_lwm2m
ucifi_battery.c
ucifi_battery.h
ucifi_lpwan.c net: lwm2m: Initialize empty string sizes correctly on objects 2023-10-20 15:11:32 +02:00
ucifi_lpwan.h