-
Notifications
You must be signed in to change notification settings - Fork 6.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bluetooth: Mesh: split prov.c into two separate modules #28457
Conversation
cc @tsvehagen |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a very welcome change I think. Nice work.
Marking as draft, as the diff keeps changing. Please take it out of draft state when it's ready for review. |
Remove draft since conflict has been solved and ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All in all, this looks very good, but I have some comments on the auth_start mechanism and the layer split:
Zephyr Bluetooth Mesh did not check whether the proxy message was actually sent out, so that the response message could not be received during reset. It did not solve the status callback of the proxy sending message, so a new problem was introduced after PR(zephyrproject-rtos#28457) merged. bt_mesh_prov_send(&buf, public_key_sent)) This PR will try to solve the above problem, and will fix the problem due to thread competition, and PR(26668) will not be necessary. Compared with PR(zephyrproject-rtos#30138), it no longer consumes extra RAM space and supports synchronization of group addresses Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
Zephyr Bluetooth Mesh did not check whether the proxy message was actually sent out, so that the response message could not be received during reset. It did not solve the status callback of the proxy sending message, so a new problem was introduced after PR(zephyrproject-rtos#28457) merged. bt_mesh_prov_send(&buf, public_key_sent)) This PR will try to solve the above problem, and will fix the problem due to thread competition, and PR(zephyrproject-rtos#26668) will not be necessary. Compared with PR(zephyrproject-rtos#30138), it no longer consumes extra RAM space and supports synchronization of group addresses Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
Zephyr Bluetooth Mesh did not check whether the proxy message was actually sent out, so that the response message could not be received during reset. It did not solve the status callback of the proxy sending message, so a new problem was introduced after PR(#28457) merged. bt_mesh_prov_send(&buf, public_key_sent)) This PR will try to solve the above problem, and will fix the problem due to thread competition, and PR(#26668) will not be necessary. Compared with PR(#30138), it no longer consumes extra RAM space and supports synchronization of group addresses Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
The previous version coupled
provisioner
anddevice
provisioning in a source fileprov.c
.For only supporting device or provisioner, this will not be compiled separately, and coupling
in a file will cause unclear logic, which is not conducive to later maintenance, for example, support for remote provisioning.
Now it is divided into three files and managed separately, which is called prov.c prov_device.c and provisioner.c.
Add
CONFIG_BT_MESH_PROV_DEVICE
in Kconfig to control whether device provisioning is supported.Use
CONFIG_BT_MESH_PROVISIONER
in Kconfig to control whether provisioner role is supported.Add support for all provisioner OOB authentication implementations.
Signed-off-by: Lingao Meng mengabc1086@gmail.com