zephyr/subsys
Pavel Vasilyev 7592b049ef bluetooth: mesh: pb_adv: Fix resending Generic Transaction Ack PDU
The Generic Provisioning protocol requires that a transaction must be
acknowledged before the next Generic Provisioning PDU is processed
(section 5.3.3, MshPRT_v1.1).

In the current PB-ADV implementation, if there is an ongoing transaction
(link.tx.adv points to a valid advertisement), any received Generic
Provisioning Start and Continuation PDUs are ignored.

This creates a scenario where a remote device misses the Transaction
Acknowledgment PDU and retransmits the last PDUs, but they are ignored
by the local device because the local device has already started sending
the next Provisioning PDU.

In particular, in the observed failure, the Provisioner missed the
Generic Transaction Acknowledgment PDU during the transmission of the
Provisioning Data PDU.

This commit modifies the processing logic for Generic Provisioning Start
and Continuation PDUs by checking if the received PDU has already been
received. If so, it attempts to re-send the Generic Transaction
Acknowledgment PDU.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-03-24 15:10:39 +01:00
..
bindesc
bluetooth bluetooth: mesh: pb_adv: Fix resending Generic Transaction Ack PDU 2025-03-24 15:10:39 +01:00
canbus
console
dap dap: add DAP backend USB 2025-03-11 18:54:24 +01:00
debug arch: riscv: Add support for CPU load measuring 2025-03-20 17:14:52 +01:00
demand_paging demand_paging: use ram backend by default 2025-01-09 15:50:37 +01:00
dfu dfu: Add support for new MCUboot swap using offset mode 2025-02-10 19:05:25 +01:00
disk
dsp
emul
fb fb: cfb: Remove unused config 2025-02-13 12:14:52 +01:00
fs fs: shell: Refactoring 2025-03-17 02:20:40 +01:00
input
ipc ipc_service: icmsg: Add "unbound" functionality 2025-02-14 13:34:49 +01:00
jwt
llext llext: optimize allocations for read-only sections 2025-03-21 14:41:30 -04:00
logging logging: Assign IDs to log backends early during log_core_init 2025-03-18 16:42:07 +01:00
lorawan lorawan: add callback for descriptor changes 2025-03-07 19:42:56 +01:00
mctp mctp: mark MCTP as experimental 2025-01-15 22:58:09 +01:00
mem_mgmt
mgmt mgmt: ec_host_cmd: remove response leftovers 2025-03-07 20:21:02 +01:00
modbus modbus: initialize return variable. 2025-01-21 19:28:52 +01:00
modem
net net: Add support for IPv4_MULTICAST_LOOP in net_context 2025-03-24 09:54:05 +01:00
pm pm: Remove deprecated function 2025-02-10 03:41:06 +01:00
portability portability: cmsis: Clarify Kconfig set max limit on dynamic objects 2025-03-17 02:21:15 +01:00
profiling arch: remove z_arch_esf_t 2025-01-23 16:32:36 +01:00
random random: Correct Mutex define 2025-03-04 21:55:45 +01:00
retention
rtio rtio: Transactions assume valid next list nodes 2025-03-14 01:02:10 +01:00
sd sd: mmc: Remove unwanted request to card for reading OCR content 2025-02-26 22:03:23 +00:00
secure_storage modules: mbedtls: add promptless CONFIG_MBEDTLS_PSA_CRYPTO_STORAGE_C 2025-03-14 14:51:58 +01:00
sensing sensing: Fix static assert in get_sensor_by_dev() 2025-01-18 12:40:03 +01:00
settings settings: shell: improve reading and writing string values 2025-03-22 02:40:56 +01:00
shell shell: Set default max argc count when WiFi shell is enabled 2025-03-14 14:40:57 +01:00
sip_svc
stats
storage storage/stream_flash: Switch to stream_flash_erase_to_append 2025-01-30 14:13:42 +01:00
task_wdt task_wdt: Kconfig: Increase TASK_WDT_HW_FALLBACK_DELAY range 2025-01-07 20:34:41 +01:00
testsuite infrastructure: Remove hwmv1 support 2025-03-13 16:53:07 +00:00
timing
tracing tracing: Add sys_trace_idle_exit call 2025-03-12 14:03:48 +00:00
usb usb: host: fix set/clear feature shell commands 2025-03-24 07:53:21 +01:00
zbus zbus: assert when inside an ISR and time out is not zero 2025-01-21 19:30:20 +01:00
CMakeLists.txt mctp: Add mctp subsystem with uart binding 2025-01-14 22:55:41 +01:00
Kconfig mctp: Add mctp subsystem with uart binding 2025-01-14 22:55:41 +01:00