PDU RPL Configuration Client Request
The 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 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 PDU RPL Configuration Server Request model.
The PDU RPL Configuration Client model communicates with a Solicitation PDU RPL Configuration Server model using the application keys configured by the Configuration Client.
The PDU RPL Configuration Client model, if present, can only be instantiated on the primary element.
Configuration
The behavior of the Solicitation PDU RPL Configuration Client model can be configured using 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
orlen_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 inbt_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
Solicitation PDU RPL Client Model Context
Public Members
-
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. Thelength
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.
-
struct bt_mesh_model *model
-
BT_MESH_MODEL_SOL_PDU_RPL_CLI(cli_data)