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:
parent
c2eb47a9f7
commit
625faa7f03
3 changed files with 5 additions and 3 deletions
|
@ -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
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue