Bluetooth: Mesh: fix proxy solicitation

Commit makes workable proxy solicitation functionality
only server part without dependencies on client part.
Only on demand proxy server is required.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
This commit is contained in:
Aleksandr Khromykh 2023-10-12 13:13:40 +02:00 committed by Johan Hedberg
commit 625faa7f03
3 changed files with 5 additions and 3 deletions

View file

@ -587,7 +587,7 @@ struct bt_uuid_128 {
/**
* @brief Proxy Solicitation UUID value
*/
#define BT_UUID_MESH_PROXY_SOLICITATION_VAL 0x7fcb
#define BT_UUID_MESH_PROXY_SOLICITATION_VAL 0x1859
/**
* @brief Reconnection Configuration Service UUID value
*/

View file

@ -419,7 +419,7 @@ int bt_mesh_net_decrypt(const struct bt_mesh_key *key, struct net_buf_simple *bu
if (IS_ENABLED(CONFIG_BT_MESH_PROXY) && type == BT_MESH_NONCE_PROXY) {
create_proxy_nonce(nonce, buf->data, iv_index);
} else if (IS_ENABLED(CONFIG_BT_MESH_PROXY_SOLICITATION) &&
} else if (IS_ENABLED(CONFIG_BT_MESH_SOLICITATION) &&
type == BT_MESH_NONCE_SOLICITATION) {
create_proxy_sol_nonce(nonce, buf->data);
} else {

View file

@ -698,9 +698,11 @@ static void gatt_proxy_solicited(struct bt_mesh_subnet *sub)
if (sub->priv_net_id_sent > 0) {
timeout = sub->priv_net_id_sent + MSEC_PER_SEC * bt_mesh_od_priv_proxy_get();
remaining = MIN(timeout - now, INT32_MAX);
} else {
remaining = MSEC_PER_SEC * bt_mesh_od_priv_proxy_get();
}
remaining = MIN(timeout - now, INT32_MAX);
if ((timeout > 0 && now > timeout) || (remaining / MSEC_PER_SEC < 1)) {
LOG_DBG("Advertising Private Network ID timed out "
"after solicitation");