Bluetooth: Mesh: add implementation for Proxy Solicitation

This is initial implementation of Proxy solicitation procedure.
This includes:
- support for sending and receiving Solicitation PDUs
- On-Demand Private Proxy functionality (Server and Client) controlling
  behaviour of node after receiving Solicitation PDU
- Solicitation PDU RPL Configuration (Server and Client), which manages
  Replay Protection List for Solicitation PDUs.

Proxy Solicitation allows to enable advertising of Proxy service on node
by sending Solicitation PDUs. These PDUs are not part of Mesh messages;
instead, these are non-connectable, undirected advertising PDUs with
their own format, containing Proxy Solicitation UUID.

Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
This commit is contained in:
Krzysztof Kopyściński 2022-10-19 09:42:02 +02:00 committed by Carles Cufí
commit d0995541fb
40 changed files with 1851 additions and 75 deletions

View file

@ -0,0 +1,17 @@
/*
* Copyright (c) 2021 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
void bt_mesh_sol_reset(void);
void bt_mesh_sol_recv(struct net_buf_simple *buf, uint8_t uuid_list_len);
void bt_mesh_srpl_entry_clear(uint16_t addr);
void bt_mesh_srpl_pending_store(void);
void bt_mesh_sseq_pending_store(void);
int bt_mesh_sol_send(void);