ble_mesh: Not ignore msg when fast prov is enabled

When fast provisioning is enabled, Provisioner shall not
ignore messages from the nodes whose addresses are not in
the provisioning database. Because other nodes which are
not provisioned by the Primary Provisioner will send node
address messages to the Primary Provisioner.
pull/5307/head
lly 2020-05-12 11:21:57 +08:00
rodzic 5f2be35525
commit d937b415e3
1 zmienionych plików z 9 dodań i 0 usunięć

Wyświetl plik

@ -1393,6 +1393,14 @@ static bool ready_to_recv(void)
static bool ignore_net_msg(u16_t src, u16_t dst)
{
if (IS_ENABLED(CONFIG_BLE_MESH_FAST_PROV)) {
/* When fast provisioning is enabled, the node addr
* message will be sent to the Primary Provisioner,
* which shall not be ignored here.
*/
return false;
}
if (IS_ENABLED(CONFIG_BLE_MESH_PROVISIONER) &&
bt_mesh_is_provisioner_en() &&
BLE_MESH_ADDR_IS_UNICAST(dst) &&
@ -1403,6 +1411,7 @@ static bool ignore_net_msg(u16_t src, u16_t dst)
* be ignored.
*/
if (!bt_mesh_provisioner_get_node_with_addr(src)) {
BT_INFO("Not found node address 0x%04x", src);
return true;
}
}