zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
9.98k stars 6.15k forks source link

Subnetwork bridge for BLE Mesh #74961

Open alxelax opened 3 days ago

alxelax commented 3 days ago

There are still not implemented Bluetooth Mesh Protocol v 1.1 features.

Subnetwork bridge is one of them. The feature allows retransmitting frames from one subnetwork to another based on bridging table configured in advance. This allows to better split huge BLE Mesh networks on subnetworks and reduce traffic in general.

This feature should be implemented as other BLE Mesh features in Zephyr implemented before. There are no special requirements.

The feature is quite huge and requires changing multiple places in existing source code as well as implementation some new functionality like subnetwork bridge table. If do it as at once it will cause an enormous, almost not reviewable final patch bomb. We (some mesh collaborators and I) strictly recommend creating collaboration branch in Zephyr's upstream area. We want to develop it iterationally, using Zephyr's CI to control regression, and involve other Mesh maintainers\collaborators for intermediate PRs review if they have interest. As the final step, we wanted just to create PR to main that was already reviewed and approved multiple times.

Approximate data for feature development completion is September 2024.

alxelax commented 3 days ago

Requires collaboration branch. Merging criteria - feature was implemented and covered BabbleSim tests \ unit tests. After this, it is possible to add PTS tests for feature qualification. However, qualification tests implementation and adding them into auto pts repo is out of scope of this task.

alxelax commented 3 days ago

FYI @LingaoM, @jhedberg