mbox series

[0/2] Kernel based Mesh support

Message ID 20211202222619.626678-1-brian.gix@intel.com (mailing list archive)
Headers show
Series Kernel based Mesh support | expand

Message

Brian Gix Dec. 2, 2021, 10:26 p.m. UTC
This patch set implements support for sending and receiving Mesh packets
in the kernel without assuming full control of the Bluetooth Controller.

The purpose of the patch-set is to allow co-existance and sharing of a
single controller between the Classic Bluetooth daemon (bluetoothd) and
the Bluetooth Mesh daemon (bluetooth-meshd).

Basic functionality is that once enabled, the bluetooth controller will
always at a minimum be performing a Passive Scan, and can at any time
request an ADV packet to be sent.

Brian Gix (2):
  Bluetooth: Add management API for Mesh support
  Bluetooth: Implement support for Mesh

 include/net/bluetooth/hci.h      |   5 +
 include/net/bluetooth/hci_core.h |  16 ++-
 include/net/bluetooth/hci_sync.h |   2 +
 include/net/bluetooth/mgmt.h     |  26 ++++
 net/bluetooth/hci_conn.c         |   4 +-
 net/bluetooth/hci_event.c        |  61 +++++----
 net/bluetooth/hci_request.c      | 119 ++++++++++++++----
 net/bluetooth/hci_sync.c         |  94 +++++++++++---
 net/bluetooth/mgmt.c             | 208 +++++++++++++++++++++++++++++--
 9 files changed, 456 insertions(+), 79 deletions(-)

Comments

Luiz Augusto von Dentz Dec. 2, 2021, 11:02 p.m. UTC | #1
Hi Brian,

On Thu, Dec 2, 2021 at 2:26 PM Brian Gix <brian.gix@intel.com> wrote:
>
> This patch set implements support for sending and receiving Mesh packets
> in the kernel without assuming full control of the Bluetooth Controller.
>
> The purpose of the patch-set is to allow co-existance and sharing of a
> single controller between the Classic Bluetooth daemon (bluetoothd) and
> the Bluetooth Mesh daemon (bluetooth-meshd).
>
> Basic functionality is that once enabled, the bluetooth controller will
> always at a minimum be performing a Passive Scan, and can at any time
> request an ADV packet to be sent.
>
> Brian Gix (2):
>   Bluetooth: Add management API for Mesh support
>   Bluetooth: Implement support for Mesh
>
>  include/net/bluetooth/hci.h      |   5 +
>  include/net/bluetooth/hci_core.h |  16 ++-
>  include/net/bluetooth/hci_sync.h |   2 +
>  include/net/bluetooth/mgmt.h     |  26 ++++
>  net/bluetooth/hci_conn.c         |   4 +-
>  net/bluetooth/hci_event.c        |  61 +++++----
>  net/bluetooth/hci_request.c      | 119 ++++++++++++++----
>  net/bluetooth/hci_sync.c         |  94 +++++++++++---
>  net/bluetooth/mgmt.c             | 208 +++++++++++++++++++++++++++++--
>  9 files changed, 456 insertions(+), 79 deletions(-)
>
> --
> 2.31.1

I'd like to see the documentation of those MGMT command/events first
so we can agree on their requirements, etc, that said what I had in
mind was quite different approach with use of a dedicated socket type
for the advertising bearer, so it is more generic and allow any
protocol not just mesh on top of the advertising bearer and on the
plus side we also have BPF filtering which would be a lot simpler
doing on a bare advertising bearer than on top of MGMT protocol.