Solicitation PDU RPL Configuration Client

The Solicitation PDU RPL Configuration Client model is a foundation model defined by the Bluetooth mesh specification. The model is optional, and is enabled through the CONFIG_BT_MESH_SOL_PDU_RPL_CLI option.

The Solicitation PDU RPL Configuration Client model was introduced in the Bluetooth Mesh Protocol Specification version 1.1, and supports the functionality of removing addresses from the solicitation replay protection list (SRPL) of a node that supports the Solicitation PDU RPL Configuration Server model.

The Solicitation PDU RPL Configuration Client model communicates with a Solicitation PDU RPL Configuration Server model using the application keys configured by the Configuration Client.

If present, the Solicitation PDU RPL Configuration Client model must only be instantiated on the primary element.

Configurations

The Solicitation PDU RPL Configuration Client model behavior can be configured with the transmission timeout option CONFIG_BT_MESH_SOL_PDU_RPL_CLI_TIMEOUT. The CONFIG_BT_MESH_SOL_PDU_RPL_CLI_TIMEOUT controls how long the Solicitation PDU RPL Configuration Client waits for a response message to arrive in milliseconds. This value can be changed at runtime using bt_mesh_sol_pdu_rpl_cli_timeout_set().

API reference

group bt_mesh_sol_pdu_rpl_cli

Defines

BT_MESH_MODEL_SOL_PDU_RPL_CLI(cli_data)

Solicitation PDU RPL Client model composition data entry.

Functions

int bt_mesh_sol_pdu_rpl_clear(struct bt_mesh_msg_ctx *ctx, uint16_t range_start, uint8_t range_len, uint16_t *start_rsp, uint8_t *len_rsp)

Remove entries from Solicitation PDU RPL of addresses in given range.

This method can be used asynchronously by setting start_rsp or len_rsp as NULL. This way the method will not wait for response and will return immediately after sending the command.

To process the response arguments of an async method, register the srpl_status callback in bt_mesh_sol_pdu_rpl_cli struct.

Parameters:
  • ctx – Message context for the message.

  • range_start – Start of Unicast address range.

  • range_len – Length of Unicast address range. Valid values are 0x00 and 0x02 to 0xff.

  • start_rsp – Range start response buffer.

  • len_rsp – Range length response buffer.

Returns:

0 on success, or (negative) error code otherwise.

int bt_mesh_sol_pdu_rpl_clear_unack(struct bt_mesh_msg_ctx *ctx, uint16_t range_start, uint8_t range_len)

Remove entries from Solicitation PDU RPL of addresses in given range (unacked).

Parameters:
  • ctx – Message context for the message.

  • range_start – Start of Unicast address range.

  • range_len – Length of Unicast address range. Valid values are 0x00 and 0x02 to 0xff.

Returns:

0 on success, or (negative) error code otherwise.

void bt_mesh_sol_pdu_rpl_cli_timeout_set(int32_t timeout)

Set the transmission timeout value.

Parameters:
  • timeout – The new transmission timeout in milliseconds.

struct bt_mesh_sol_pdu_rpl_cli
#include <sol_pdu_rpl_cli.h>

Solicitation PDU RPL Client Model Context.

Public Members

const struct bt_mesh_model *model

Solicitation PDU RPL model entry pointer.

void (*srpl_status)(struct bt_mesh_sol_pdu_rpl_cli *cli, uint16_t addr, uint16_t range_start, uint8_t range_length)

Optional callback for Solicitation PDU RPL Status messages.

Handles received Solicitation PDU RPL Status messages from a Solicitation PDU RPL server.The start param represents the start of range that server has cleared. The length param represents length of range cleared by server.

Param cli:

Solicitation PDU RPL client that received the status message.

Param addr:

Address of the sender.

Param range_start:

Range start value.

Param range_length:

Range length value.