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 * @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 * @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) { if (IS_ENABLED(CONFIG_BT_MESH_PROXY) && type == BT_MESH_NONCE_PROXY) {
create_proxy_nonce(nonce, buf->data, iv_index); 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) { type == BT_MESH_NONCE_SOLICITATION) {
create_proxy_sol_nonce(nonce, buf->data); create_proxy_sol_nonce(nonce, buf->data);
} else { } else {

View file

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