-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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: Controller: Implement Periodic Advertiser List #38338
Bluetooth: Controller: Implement Periodic Advertiser List #38338
Conversation
4e84b43
to
5c5ad62
Compare
23026f4
to
1e73123
Compare
9c21101
to
83e7b8b
Compare
f77e105
to
f4b3b59
Compare
f4b3b59
to
71f6659
Compare
@@ -497,6 +497,22 @@ config BT_CTLR_SYNC_PERIODIC | |||
config BT_CTLR_SYNC_PERIODIC | |||
bool "LE Periodic Advertising in Synchronization State [EXPERIMENTAL]" if BT_LL_SW_SPLIT | |||
|
|||
config BT_CTLR_SYNC_PERIODIC_ADV_LIST |
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.
Is it possible to use this parameter option "BT_LE_PER_ADV_SYNC_OPT_USE_PER_ADV_LIST" (defined at bluetooth.h) automatically instead of defining a new kconfig? or at least generating a warning when this option is used but this config is not set.
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.
No, that is an API parameter, and this is a Controller feature.
help | ||
Enable support for LE Periodic Advertiser List support. | ||
|
||
config BT_CTLR_SYNC_PERIODIC_ADV_LIST_SIZE |
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.
Isn't this config a redundant to the "CONFIG_BT_PER_ADV_SYNC_MAX"?
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.
No, maximum supported simultaneous synchronizations can be lower than listed number of advertisers; only one advertiser is synchronized for every LE Periodic Advertising Create Sync Command, and Memory Capacity Exceeded error is used to convey insufficient resources to handle any more periodic advertising trains.
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.
Got it! so setting the "CONFIG_BT_PER_ADV_SYNC_MAX" to a number greater than the "BT_CTLR_SYNC_PERIODIC_ADV_LIST_SIZE" is useless, right?
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.
Maximum simultaneous synchronizations CONFIG_BT_PER_ADV_SYNC_MAX
can be greater than, says number of trusted peer device stored in a list CONFIG_BT_CTLR_SYNC_PERIODIC_ADV_LIST_SIZE
. List is just a convenience, to be able to synchronize to any of the listed peers on a first-seen basis. Applications are permitted to use explicit peer device address to create additional synchronizations beyond the number of entries that be accommodated in the Periodic Advertiser List.
e6c9190
to
7f3d9ad
Compare
@carlescufi Request your attention to this commit 4bc5d45 in this PR which partly handles inclusive naming related to filter implementation in the Controller. Your review is welcome here in this PR until the commit is ready to be cherry-picked out of this PR (so that other commits in this PR will have reduced rework effort) |
7f3d9ad
to
a84cc5f
Compare
a84cc5f
to
e72f0c7
Compare
@@ -391,7 +391,7 @@ config BT_CTLR_FAL_SIZE | |||
range 1 8 if (SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1_RISCV32) | |||
range 1 16 if !(SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1_RISCV32) | |||
help | |||
Set the size of the White List for LE Controller-based Privacy. |
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.
@carlescufi Do you want to send a separate PR for this being missed upstream?
@cvinayak I feel like this PR is becoming a catch-all for several issue (updates to filter accept list and addition of Since I've already reviewed it, it's okay for me to keep as is, but probably beneficial for others if those changes were split to 3 PRs. |
e72f0c7
to
89119ec
Compare
Refactoring related to filter accept list, resolving list, and removed the redundant anon variable. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Refactor `ull_filter_adva_get` and `ull_filter_adva_get` to input resolving index compare to adv context reference. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Implement support for Periodic Advertiser List to be used in LE Periodic Advertising Create Sync command. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Refactor out the implementation of Periodic Sync Setup address check including Periodic Advertiser List and SID. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Updated the bsim_bt_advx test with use of periodic advertiser list. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
89119ec
to
7162eae
Compare
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.
Few minor things.
I'm not a fan of abbreviations like pal
for periodic advertising list. It is hard to figure out what is it until you are in the topic.
Implement support for Periodic Advertiser List to be used
in LE Periodic Advertising Create Sync command.
Fixes #38316.
Signed-off-by: Vinayak Kariappa Chettimada [email protected]