zephyr/subsys/bluetooth/mesh
Anders Storrø 6c67ab3a63 Bluetooth: Mesh: Refactor proxy adv
Refactors proxy advertising implementation to allow fair sharing of
advertising resources between all subnets.

In the new implementation, each subnet is agnostic to any other subnet
that might have active proxy advertisement work. When proxy
advertisement is triggered, the implementation will first check how
many subnets that has active work. If there are more than one active
subnet, a maximum timeslot will be calculated to ensure that all active
subnets get access to the medium. The implementation will then poll
the next eligible subnet for a proxy advertising request. If the
duration of this request exceeds the maximum timeslot, the duration
for the next advertisement will be set to the maximum value.

If a proxy advertisement for a subnet is interrupted by other
advertising activity, the implementation will now ensure that the
interrupted proxy adv continues from the point where it was
interrupted so that the subnet gets to utilize the entire allocated
timeslot.

This PR also alters the priv_proxy_net_id_multi Bsim test to align
with the refactored proxy advertising scheme.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-12-18 09:29:41 +01:00
..
shell Bluetooth: Mesh: Rename prov_dev->provisionee 2023-12-13 13:57:46 +01:00
access.c Bluetooth: Mesh: Added support for randomly delaying publications 2023-12-18 09:29:24 +01:00
access.h Bluetooth: Mesh: access tx msg randomizer 2023-12-11 09:50:18 +01:00
adv.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
adv.h Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
adv_ext.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
adv_legacy.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
app_keys.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
app_keys.h Bluetooth: Mesh: refactor mesh to use both tinycrypt and psa based crypto 2023-06-17 07:46:03 -04:00
beacon.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
beacon.h Bluetooth: Mesh: Remove bt_mesh_beacon_priv_random_get as unused 2023-08-24 22:09:57 +01:00
blob.h Bluetooth: Mesh: Update spec ref 1.0.1->1.1 2023-10-25 14:50:14 +02:00
blob_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
blob_io_flash.c sys: util: migrate all files to DIV_ROUND_UP 2023-04-11 12:00:37 +02:00
blob_srv.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
cdb.c Bluetooth: Mesh: refactor mesh to use both tinycrypt and psa based crypto 2023-06-17 07:46:03 -04:00
cdb.h Bluetooth: Mesh: Break up mesh settings 2021-01-14 16:38:50 +02:00
cfg.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
cfg.h Bluetooth: Mesh: Restore default device configuration on reset 2021-07-02 16:58:21 +03:00
cfg_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
cfg_srv.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
CMakeLists.txt Bluetooth: Mesh: Rename prov_dev->provisionee 2023-12-13 13:57:46 +01:00
crypto.c Bluetooth: Mesh: fix proxy solicitation 2023-10-12 18:07:50 +03:00
crypto.h Bluetooth: Mesh: refactor mesh to use both tinycrypt and psa based crypto 2023-06-17 07:46:03 -04:00
crypto_psa.c Bluetooth: Mesh: no more tinycrypt in ble mesh tfm image 2023-11-08 15:09:50 +00:00
crypto_tc.c bluetooth: fixes shadow variables 2023-08-17 13:00:09 +02:00
delayable_msg.c Bluetooth: Mesh: access tx msg randomizer 2023-12-11 09:50:18 +01:00
delayable_msg.h Bluetooth: Mesh: access tx msg randomizer 2023-12-11 09:50:18 +01:00
dfd.h Bluetooth: Mesh: DFD Server model 2023-03-06 13:52:15 +01:00
dfd_srv.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
dfd_srv_internal.h Bluetooth: Mesh: DFD Server model 2023-03-06 13:52:15 +01:00
dfu.h Bluetooth: Mesh: DFU models 2023-03-06 13:52:15 +01:00
dfu_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
dfu_metadata.c Bluetooth: Mesh: fix missed old encryption in dfu metadata 2023-06-20 10:10:19 +02:00
dfu_slot.c Bluetooth: Mesh: Ignore return value of settings_delete 2023-11-20 09:23:56 +01:00
dfu_slot.h Bluetooth: Mesh: Add support for Upload OOB Start 2023-09-18 10:55:20 +01:00
dfu_srv.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
foundation.h Bluetooth: Mesh: Make bt_mesh_model as rodata 2023-11-16 16:52:14 +01:00
friend.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
friend.h Bluetooth: Mesh: Align capitalization for BT mesh 2021-07-13 11:23:54 -04:00
gatt_cli.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
gatt_cli.h Bluetooth: Mesh: Add Proxy Client Feature 2022-02-24 13:51:09 -08:00
health_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
health_srv.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
heartbeat.c bluetooth: fixes shadow variables 2023-08-17 13:00:09 +02:00
heartbeat.h Bluetooth: Mesh: Fix Heartbeat Pub/Sub Count/Period Log calculation 2023-03-06 13:52:15 +01:00
Kconfig Bluetooth: Mesh: Added support for randomly delaying publications 2023-12-18 09:29:24 +01:00
keys.h Bluetooth: Mesh: add tf-m support for ble mesh 2023-06-19 15:04:17 +02:00
large_comp_data_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
large_comp_data_srv.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
lpn.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
lpn.h Bluetooth: Mesh: Add full virtual addresses support 2023-06-17 08:00:55 -04:00
main.c Bluetooth: Mesh: access tx msg randomizer 2023-12-11 09:50:18 +01:00
mesh.h iterable_sections: move to specific header 2023-05-22 10:42:30 +02:00
msg.c Bluetooth: Mesh: Make bt_mesh_model as rodata 2023-11-16 16:52:14 +01:00
msg.h Bluetooth: Mesh: Make bt_mesh_model as rodata 2023-11-16 16:52:14 +01:00
net.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
net.h Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
od_priv_proxy.h Bluetooth: Mesh: Store priv proxy in sep entry 2023-09-11 19:58:05 +02:00
od_priv_proxy_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
od_priv_proxy_srv.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
op_agg.c Bluetooth: Mesh: Op agg mdl coex 2023-10-20 15:16:33 +02:00
op_agg.h Bluetooth: Mesh: Make bt_mesh_model as rodata 2023-11-16 16:52:14 +01:00
op_agg_cli.c Bluetooth: Mesh: Make element as rodata 2023-11-20 09:22:55 +01:00
op_agg_srv.c Bluetooth: Mesh: Make bt_mesh_model as rodata 2023-11-16 16:52:14 +01:00
pb_adv.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
pb_gatt.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
pb_gatt.h Bluetooth: Mesh: Add Provisioner Over PB-GATT Support 2022-02-24 13:51:09 -08:00
pb_gatt_cli.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
pb_gatt_cli.h Bluetooth: Mesh: Add Provisioner Over PB-GATT Support 2022-02-24 13:51:09 -08:00
pb_gatt_srv.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
pb_gatt_srv.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
priv_beacon.h Bluetooth: Mesh: Store priv beacon in sep entry 2023-09-11 19:58:05 +02:00
priv_beacon_cli.c Bluetooth: Mesh: Fix async behavior of Private Beacon Client API 2023-11-20 09:23:56 +01:00
priv_beacon_srv.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
prov.c Bluetooth: Mesh: Update spec ref 1.0.1->1.1 2023-10-25 14:50:14 +02:00
prov.h Bluetooth: Mesh: Add ext timeout in PB for OOB I/O 2023-08-21 10:55:43 +02:00
prov_bearer.h Bluetooth: Mesh: Add ext timeout in PB for OOB I/O 2023-08-21 10:55:43 +02:00
provisionee.c Bluetooth: Mesh: Rename prov_dev->provisionee 2023-12-13 13:57:46 +01:00
provisioner.c Bluetooth: Mesh: Rename prov_dev->provisionee 2023-12-13 13:57:46 +01:00
provisioner.h Bluetooth: Mesh: Add Provisioner Over PB-GATT Support 2022-02-24 13:51:09 -08:00
proxy.h Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
proxy_cli.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
proxy_cli.h Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
proxy_msg.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
proxy_msg.h Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
proxy_srv.c Bluetooth: Mesh: Refactor proxy adv 2023-12-18 09:29:41 +01:00
rpl.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
rpl.h Bluetooth: Mesh: Align capitalization for BT mesh 2021-07-13 11:23:54 -04:00
rpr.h Bluetooth: Mesh: Remote provisioning 2023-03-06 13:52:15 +01:00
rpr_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
rpr_srv.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
sar_cfg.c Bluetooth: Mesh: Transport SAR Configuration 2023-03-06 13:52:15 +01:00
sar_cfg_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
sar_cfg_internal.h Bluetooth: Mesh: Transport SAR Configuration 2023-03-06 13:52:15 +01:00
sar_cfg_srv.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
settings.c Bluetooth: Mesh: Allow custom RPL use mesh settings work 2023-12-08 10:25:36 +00:00
settings.h Bluetooth: Mesh: Store device key candidate asynchronously 2023-04-29 12:24:28 +02:00
sol_pdu_rpl_cli.c Bluetooth: Mesh: Split Model Structure 2023-11-16 16:52:14 +01:00
sol_pdu_rpl_srv.c Bluetooth: Mesh: Make bt_mesh_model as rodata 2023-11-16 16:52:14 +01:00
solicitation.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
solicitation.h Bluetooth: Mesh: add implementation for Proxy Solicitation 2023-03-06 13:52:15 +01:00
statistic.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
statistic.h Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
subnet.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
subnet.h Bluetooth: Mesh: refactor mesh to use both tinycrypt and psa based crypto 2023-06-17 07:46:03 -04:00
test.c Bluetooth: Use Zephyr standard log system instead of bluetooth/common/log 2022-11-25 17:08:36 +01:00
test.h Bluetooth: Mesh: Align capitalization for BT mesh 2021-07-13 11:23:54 -04:00
transport.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
transport.h Bluetooth: Mesh: Add full virtual addresses support 2023-06-17 08:00:55 -04:00
transport_legacy.c Bluetooth: Mesh: Use memslab replace with net_buf_pool 2023-12-08 20:19:10 +00:00
va.c Bluetooth: Mesh: Return immediately if labels not supported 2023-11-28 14:48:29 +01:00
va.h Bluetooth: Mesh: Add full virtual addresses support 2023-06-17 08:00:55 -04:00