Skip to content

Major rewrite for Multi-Node and DBus

Brian Gix linux-bluetooth 6 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest26 patches 0 repliesNew
  2. v528 of 30 patches 11 repliesSuperseded
  3. v430 patches 6 repliesSuperseded
Earlier versions · 3
VersionPostedPatchesRepliesStatus
v330 patches9 repliesSuperseded
v229 of 30 patches0 repliesSuperseded
v130 patches0 repliesSuperseded

Patches in v6 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/26mesh: Structural changes for mesh.gitignore Makefile.mesh mesh/btmesh.c +5 more+6 -22150 replies
2/26mesh: Utilities for DBus supportmesh/dbus.c mesh/dbus.h+184 -00 replies
3/26mesh: Internal errorsmesh/error.h+34 -00 replies
4/26mesh: Rewrite storage for Multiple Nodesmesh/storage.c mesh/storage.h+267 -3420 replies
5/26mesh: Rewrite Node handling for multiple nodesmesh/node.c mesh/node.h+1159 -2240 replies
6/26mesh: Rewrite Network layer for multiple nodesmesh/net.c mesh/net.h+84 -2440 replies
7/26mesh: Direction agnostic PB-ADV implementationmesh/pb-adv.c mesh/pb-adv.h+467 -00 replies
8/26mesh: Acceptor side provisioning implementationmesh/prov-acceptor.c+684 -00 replies
9/26mesh: Initiator side provisioning implementationmesh/prov-initiator.c+641 -00 replies
10/26mesh: Rewrite Controler interface for full initmesh/mesh-io-generic.c+138 -110 replies
11/26mesh: Unchanged variables set to constmesh/mesh-io-api.h+1 -10 replies
12/26mesh: Hex-String manipulation, and debug loggingmesh/util.c mesh/util.h+27 -20 replies
13/26mesh: re-arrange provisioning for DBus APImesh/prov.h mesh/provision.h+112 -140 replies
14/26mesh: Re-architect for DBus APImesh/mesh.c mesh/mesh.h+503 -1510 replies
15/26mesh: Multi node Config Server modelmesh/cfgmod-server.c mesh/cfgmod.h+93 -890 replies
16/26mesh: restructure I/O for multiple nodesmesh/mesh-io.c mesh/mesh-io.h+4 -20 replies
17/26mesh: Restructure DB to support multiple nodesmesh/mesh-db.c mesh/mesh-db.h+297 -1680 replies
18/26mesh: Restructure model services for multiple nodesmesh/model.c mesh/model.h+613 -2690 replies
19/26mesh: DBUS interface for Provisioning Agentmesh/agent.c mesh/agent.h+589 -1450 replies
20/26mesh: restructure App Key storagemesh/appkey.c mesh/appkey.h+10 -100 replies
21/26mesh: Clean-up Comment stylemesh/friend.c+38 -380 replies
22/26mesh: Update for DBus API and multi-node supportmesh/main.c+67 -80 replies
23/26mesh: Add default location for Mesh Node storageconfigure.ac+3 -00 replies
24/26mesh: Sample Provisioning Agenttest/agent.py+40 -00 replies
25/26mesh: Sample On/Off Client and Servertest/example-onoff-client test/example-onoff-server+653 -00 replies
26/26mesh: Sample Mesh Joiner (provision acceptor)test/test-join+408 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v6 yet.

Read the v6 thread

Cover letter [PATCH BlueZ v6 00/26] Major rewrite for Multi-Node and DBus

The Mesh Daemon has been largely rewritten.

It matches the API in doc/mesh-api.txt, and is now accessible from non- privledged DBus clients. The commandline version has been temporarily removed, although it will probably be re-added in the future. The dBus privledges need to be adjusted to allow for non-privledged access to Daemon interfaces. We will shortly also be adding a Mesh Specific README and TODO file, but in the meantime, contact Brian and/or Inga with any questions.

v6 -- Address Marcel's v5 comments, including cleanup, and unstacking include files. There was also some compression of commits, where little was being actually done. Other big difference with patch set is a more verbose explanation of non-trivial commits, particularily where functionality was removed (or deleted) in favor of rewrites in other (mostly new) files. This is especially true of Provisioning which has been largely rewritten for both readability and for focus.

Tested on TIP of upstream/master as of 28-Dec-2018, on Fedora 27, 28 and 29, with both ./bootstrap-configure, and distcheck.

Brian Gix (10):
mesh: Structural changes for mesh
mesh: Rewrite Network layer for multiple nodes
mesh: Direction agnostic PB-ADV implementation
mesh: Acceptor side provisioning implementation
mesh: Initiator side provisioning implementation
mesh: Rewrite Controler interface for full init
mesh: Unchanged variables set to const
mesh: re-arrange provisioning for DBus API
mesh: restructure I/O for multiple nodes
mesh: Clean-up Comment style

Inga Stotland (16):
mesh: Utilities for DBus support
mesh: Internal errors
mesh: Rewrite storage for Multiple Nodes
mesh: Rewrite Node handling for multiple nodes
mesh: Hex-String manipulation, and debug logging
mesh: Re-architect for DBus API
mesh: Multi node Config Server model
mesh: Restructure DB to support multiple nodes
mesh: Restructure model services for multiple nodes
mesh: DBUS interface for Provisioning Agent
mesh: restructure App Key storage
mesh: Update for DBus API and multi-node support
mesh: Add default location for Mesh Node storage
mesh: Sample Provisioning Agent
mesh: Sample On/Off Client and Server
mesh: Sample Mesh Joiner (provision acceptor)

 .gitignore                   |    1 -
 Makefile.mesh                |   19 +-
 configure.ac                 |    3 +
 mesh/agent.c                 |  665 +++++++++++++++++----
 mesh/agent.h                 |   69 ++-
 mesh/appkey.c                |   19 +-
 mesh/appkey.h                |    1 -
 mesh/btmesh.c                |  181 ------
 mesh/cfgmod-server.c         |  179 +++---
 mesh/cfgmod.h                |    3 +-
 mesh/config/composition.json |   44 --
 mesh/dbus.c                  |  151 +++++
 mesh/dbus.h                  |   33 ++
 mesh/display.c               |   64 --
 mesh/error.h                 |   34 ++
 mesh/friend.c                |   76 +--
 mesh/main.c                  |   75 ++-
 mesh/mesh-db.c               |  456 +++++++++-----
 mesh/mesh-db.h               |    9 +-
 mesh/mesh-io-api.h           |    2 +-
 mesh/mesh-io-generic.c       |  149 ++++-
 mesh/mesh-io.c               |    3 +-
 mesh/mesh-io.h               |    3 +-
 mesh/mesh.c                  |  626 +++++++++++++++-----
 mesh/mesh.h                  |   28 +-
 mesh/model.c                 |  813 +++++++++++++++++--------
 mesh/model.h                 |   69 ++-
 mesh/net.c                   |  294 +++------
 mesh/net.h                   |   34 +-
 mesh/node.c                  | 1340 +++++++++++++++++++++++++++++++++++-------
 mesh/node.h                  |   43 +-
 mesh/pb-adv.c                |  444 ++++++++++++++
 mesh/{display.h => pb-adv.h} |   13 +-
 mesh/prov-acceptor.c         |  684 +++++++++++++++++++++
 mesh/prov-initiator.c        |  641 ++++++++++++++++++++
 mesh/prov.c                  |  722 -----------------------
 mesh/prov.h                  |   14 +-
 mesh/provision.c             | 1162 ------------------------------------
 mesh/provision.h             |  112 +++-
 mesh/storage.c               |  571 ++++++++----------
 mesh/storage.h               |   38 +-
 mesh/util.c                  |   27 +-
 mesh/util.h                  |    2 +-
 test/agent.py                |   40 ++
 test/example-onoff-client    |  288 +++++++++
 test/example-onoff-server    |  365 ++++++++++++
 test/test-join               |  408 +++++++++++++
 47 files changed, 7103 insertions(+), 3914 deletions(-)
 delete mode 100644 mesh/btmesh.c
 delete mode 100644 mesh/config/composition.json
 create mode 100644 mesh/dbus.c
 create mode 100644 mesh/dbus.h
 delete mode 100644 mesh/display.c
 create mode 100644 mesh/error.h
 create mode 100644 mesh/pb-adv.c
 rename mesh/{display.h => pb-adv.h} (71%)
 create mode 100644 mesh/prov-acceptor.c
 create mode 100644 mesh/prov-initiator.c
 delete mode 100644 mesh/prov.c
 delete mode 100644 mesh/provision.c
 create mode 100755 test/agent.py
 create mode 100644 test/example-onoff-client
 create mode 100644 test/example-onoff-server
 create mode 100644 test/test-join
Signature · 1 line
2.14.5