This patchset enables the mesh daemon (bluetooth-meshd) to use the new MGMT mesh opcodes and events to send and receive Mesh packets. By default, the daemon attempts to enable the experimental mesh functionality, and query the kernel for active mesh support before then enumerating the available controllers and selecting ojne that works. If no kernel support is found, it will continue to use a raw HCI socket for mesh support. v2-v3: Fix whitespace and spelling v4: Rework missed 2 new files... readded. v5: Fix null-point dereference found by CI Brian Gix (2): mesh: Improve PB-ADV timing for reliability mesh: Add new kernel MGMT based IO transport Makefile.mesh | 9 +- mesh/main.c | 39 +- mesh/mesh-io-api.h | 11 +- mesh/mesh-io-generic.c | 47 +-- mesh/mesh-io-mgmt.c | 788 +++++++++++++++++++++++++++++++++++++++++ mesh/mesh-io-mgmt.h | 11 + mesh/mesh-io-unit.c | 13 +- mesh/mesh-io.c | 189 +++++++--- mesh/mesh-io.h | 4 +- mesh/mesh-mgmt.c | 164 +++++++-- mesh/mesh-mgmt.h | 12 +- mesh/mesh.c | 6 +- mesh/mesh.h | 2 +- mesh/pb-adv.c | 9 +- 14 files changed, 1160 insertions(+), 144 deletions(-) create mode 100644 mesh/mesh-io-mgmt.c create mode 100644 mesh/mesh-io-mgmt.h -- 2.37.3