Skip to content

Commit

Permalink
mesh: Fix Node Identity advertising with PB-ADV
Browse files Browse the repository at this point in the history
The Node Identity advertising should only be automatically enabled
when provisioning happened over PB-GATT, but not when it happened over
PB-ADV. Move the enabling of Node Identity to the provisioning code,
where we know the bearer that was used (this information does not get
passed to the bt_mesh_provision function).
  • Loading branch information
Michał Narajowski committed Apr 10, 2018
1 parent 98602b5 commit c8ba82b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
3 changes: 1 addition & 2 deletions nimble/host/mesh/src/net.c
Expand Up @@ -476,8 +476,7 @@ int bt_mesh_net_create(u16_t idx, u8_t flags, const u8_t key[16],
sub->net_idx = idx;

if ((MYNEWT_VAL(BLE_MESH_GATT_PROXY))) {
sub->node_id = BT_MESH_NODE_IDENTITY_RUNNING;
sub->node_id_start = k_uptime_get_32();
sub->node_id = BT_MESH_NODE_IDENTITY_STOPPED;
} else {
sub->node_id = BT_MESH_NODE_IDENTITY_NOT_SUPPORTED;
}
Expand Down
7 changes: 7 additions & 0 deletions nimble/host/mesh/src/prov.c
Expand Up @@ -1073,6 +1073,13 @@ static void prov_data(const u8_t *data)

bt_mesh_provision(pdu, net_idx, flags, iv_index, 0, addr, dev_key);

#if MYNEWT_VAL(BLE_MESH_PB_GATT) && MYNEWT_VAL(BLE_MESH_GATT_PROXY)
/* After PB-GATT provisioning we should start advertising
* using Node Identity.
*/
bt_mesh_proxy_identity_enable();
#endif

done:
os_mbuf_free_chain(msg);
}
Expand Down

0 comments on commit c8ba82b

Please sign in to comment.