ble_mesh: stack: Add filter old seq_auth packet menuconfig

This commit is contained in:
wangjialiang 2021-03-19 18:15:23 +08:00 committed by BOT
parent 203c3e6e1c
commit b905789dd0
2 changed files with 13 additions and 5 deletions

View File

@ -1094,6 +1094,13 @@ if BLE_MESH
lets the state to be changed at any time.
If IV Update test mode is going to be used, this option should be enabled.
config BLE_MESH_DISCARD_OLD_SEQ_AUTH
bool
default y
help
This option is used to decide whether discarding the old SeqAuth when
receiving a segmented message.
menu "BLE Mesh specific test option"
config BLE_MESH_SELF_TEST

View File

@ -1396,13 +1396,14 @@ static struct seg_rx *seg_rx_find(struct bt_mesh_net_rx *net_rx,
continue;
}
/* Return newer RX context in addition to an exact match, so
* the calling function can properly discard an old SeqAuth.
* Note: in Zephyr v1.14.0, ">=" is used here which does not
* seem to be a right operation, hence we still use the original
* "==" here.
/* When ">=" is used, return newer RX context in addition to an exact match,
* so the calling function can properly discard an old SeqAuth.
*/
#if CONFIG_BLE_MESH_DISCARD_OLD_SEQ_AUTH
if (rx->seq_auth >= *seq_auth) {
#else
if (rx->seq_auth == *seq_auth) {
#endif
return rx;
}