zephyr/subsys/bluetooth/mesh
Pavel Vasilyev 953f8ee0d6 Bluetooth: Mesh: Fix RPL fragmentation
`bt_mesh_rpl_check` stops iterating `replay_list` if either it found an
entry with the requested source address or unassigned address. When IV
index updated, `bt_mesh_rpl_reset` is called. It will set `old_iv` to 1
for all entries with fresh IV index and remove entries with old IV index.
If the entries with old IV index are mixed with other entries, this will
cause fragmentation of `replay_list`. The next time `bt_mesh_rpl_check`
is called, it may stop iterating `replay_list` earlier than it should
because it will meet an empty entry before it iterates over all entries
in the list.

This commit does defragmentatino of `replay_list` on every
`bt_mesh_rpl_reset` by shiting existing entries to the vacated places.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-06-07 11:53:31 +02:00
..
access.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
access.h everywhere: fix typos 2022-03-18 13:24:08 -04:00
adv_ext.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
adv_legacy.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
adv.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
adv.h
app_keys.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
app_keys.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
beacon.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
beacon.h Bluetooth: Mesh: Fix unable iv update due to cache 2022-03-08 11:09:49 +01:00
cdb.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
cdb.h
cfg_cli.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
cfg_srv.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
cfg.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
cfg.h
CMakeLists.txt Bluetooth: Mesh: Add Provisioner Over PB-GATT Support 2022-02-24 13:51:09 -08:00
crypto.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
crypto.h Bluetooth: Mesh: encapsulate tinycrypt dependency 2022-04-27 10:07:47 +02:00
foundation.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
friend.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
friend.h
gatt_cli.c Bluetooth: Gatt: Update users of write callback in subscription params 2022-05-16 16:54:27 +02:00
gatt_cli.h Bluetooth: Mesh: Add Proxy Client Feature 2022-02-24 13:51:09 -08:00
health_cli.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
health_srv.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
heartbeat.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
heartbeat.h
Kconfig Bluetooth: Mesh: Update defaults - proxy filter, msg cache 2022-04-20 16:36:42 +02:00
lpn.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
lpn.h
main.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
mesh.h
msg.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net.h
pb_adv.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
pb_gatt_cli.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02: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 subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
pb_gatt_srv.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
pb_gatt.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
pb_gatt.h Bluetooth: Mesh: Add Provisioner Over PB-GATT Support 2022-02-24 13:51:09 -08:00
prov_bearer.h Bluetooth: Mesh: Fix missing add suffix _COMMON 2022-03-07 10:52:14 +01:00
prov_device.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
prov.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
prov.h Bluetooth: Mesh: Move relative function to pb_gatt.h 2022-02-24 13:51:09 -08:00
provisioner.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
provisioner.h Bluetooth: Mesh: Add Provisioner Over PB-GATT Support 2022-02-24 13:51:09 -08:00
proxy_cli.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
proxy_cli.h Bluetooth: Mesh: Add Proxy Client Feature 2022-02-24 13:51:09 -08:00
proxy_msg.c Bluetooth: Mesh: Fix segmentation when sending proxy message 2022-05-13 15:45:22 +03:00
proxy_msg.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
proxy_srv.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
proxy.h Bluetooth: Mesh: Add Proxy Client Feature 2022-02-24 13:51:09 -08:00
rpl.c Bluetooth: Mesh: Fix RPL fragmentation 2022-06-07 11:53:31 +02:00
rpl.h
settings.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
settings.h
shell.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
subnet.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
subnet.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
test.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
test.h
TODO
transport.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
transport.h Bluetooth: Mesh: Opt ram of transport segment message 2022-02-21 22:06:38 -05:00