linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH BlueZ 00/10 v2] Mesh provisioning and configuration tool
@ 2019-11-01 18:57 Inga Stotland
  2019-11-01 18:57 ` [PATCH BlueZ 01/10 v2] tools/mesh: Remove extra dependencies from agent.c Inga Stotland
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Inga Stotland @ 2019-11-01 18:57 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: brian.gix, Inga Stotland

v2:
1. Adjust for changed l_dbus_object_manager_enable parameters
2. Fix AppKey delete and Add Model bindings commands (tools/mesh/cfgli.c)
3. ADjust JSON storage format and add support for NetKey AppKey deletion.

*********************
This patch set adds a mesh-cfgclient tool that allows to create
mesh networks operating over advertising (PB-ADV) provisioning
bearer. The toolimplements support for:
 - creating of the inital "pcrovisioner" node with the initial network key
 - adding/removing network and application keys to the network
 - provisioning remote devices into mesh network
 - configuring of the provisioned nodes (Config Model Client operations)

Network configuration is saved in JSON format file.
Disclaimer: the storage is work in progress and is not fully implemented.

Also, some functionality overlaps with meshctl tool (GATT based mesh
network provisioning and configuration tool). For the time being, these
two tools are separate and coexist side by side. Eventually, additional
work needs to be done to eleiminate overlapping areas and potentially
merge the tools. Currently, meshctl supplemenal files are moved to
tools/mesh-gatt


Inga Stotland (10):
  tools/mesh: Remove extra dependencies from agent.c
  tools/mesh: Move meshctl specific files to mesh-gatt
  tools: Add mesh-cfgclient tool
  tools/mesh: move remote node processing to a separate file
  tools/mesh-cfgclient: Commands for Management iface methods
  tools/mesh-cfgclient: Add config menu key commands
  tools/mesh-cfgclient: Add timeout for expected response
  tools/mesh-cfgclient: Command line option for config
  tools/mesh: add initial support for config storage
  tools/mesh-cfgclient: Add README file

 .gitignore                                |    1 +
 Makefile.tools                            |   46 +-
 tools/mesh-cfgclient.c                    | 1861 +++++++++++++++++++++
 tools/mesh-gatt/README                    |   43 +
 tools/{mesh => mesh-gatt}/config-client.c |   14 +-
 tools/{mesh => mesh-gatt}/config-server.c |   14 +-
 tools/{mesh => mesh-gatt}/crypto.c        |    5 +-
 tools/{mesh => mesh-gatt}/crypto.h        |    0
 tools/{mesh => mesh-gatt}/gatt.c          |   11 +-
 tools/{mesh => mesh-gatt}/gatt.h          |    0
 tools/mesh-gatt/keys.h                    |   39 +
 tools/{mesh => mesh-gatt}/local_node.json |    0
 tools/{mesh => mesh-gatt}/mesh-net.h      |    0
 tools/{mesh => mesh-gatt}/net.c           |   16 +-
 tools/{mesh => mesh-gatt}/net.h           |    0
 tools/{mesh => mesh-gatt}/node.c          |   16 +-
 tools/{mesh => mesh-gatt}/node.h          |    0
 tools/{mesh => mesh-gatt}/onoff-model.c   |   15 +-
 tools/{mesh => mesh-gatt}/onoff-model.h   |    0
 tools/{mesh => mesh-gatt}/prov-db.c       |   14 +-
 tools/{mesh => mesh-gatt}/prov-db.h       |    0
 tools/{mesh => mesh-gatt}/prov.c          |   16 +-
 tools/{mesh => mesh-gatt}/prov.h          |    0
 tools/{mesh => mesh-gatt}/prov_db.json    |    0
 tools/mesh-gatt/util.c                    |  220 +++
 tools/mesh-gatt/util.h                    |   41 +
 tools/mesh/README                         |   43 +-
 tools/mesh/agent.c                        |   32 +-
 tools/mesh/cfgcli.c                       | 1413 ++++++++++++++++
 tools/mesh/cfgcli.h                       |   25 +
 tools/mesh/config-model.h                 |    3 +-
 tools/mesh/keys.c                         |  175 ++
 tools/mesh/keys.h                         |   27 +-
 tools/mesh/mesh-db.c                      |  899 ++++++++++
 tools/mesh/mesh-db.h                      |   54 +
 tools/mesh/model.h                        |   63 +
 tools/mesh/remote.c                       |  266 +++
 tools/mesh/remote.h                       |   29 +
 tools/mesh/util.c                         |  107 +-
 tools/mesh/util.h                         |   14 +-
 tools/meshctl.c                           |   22 +-
 41 files changed, 5313 insertions(+), 231 deletions(-)
 create mode 100644 tools/mesh-cfgclient.c
 create mode 100644 tools/mesh-gatt/README
 rename tools/{mesh => mesh-gatt}/config-client.c (99%)
 rename tools/{mesh => mesh-gatt}/config-server.c (94%)
 rename tools/{mesh => mesh-gatt}/crypto.c (99%)
 rename tools/{mesh => mesh-gatt}/crypto.h (100%)
 rename tools/{mesh => mesh-gatt}/gatt.c (98%)
 rename tools/{mesh => mesh-gatt}/gatt.h (100%)
 create mode 100644 tools/mesh-gatt/keys.h
 rename tools/{mesh => mesh-gatt}/local_node.json (100%)
 rename tools/{mesh => mesh-gatt}/mesh-net.h (100%)
 rename tools/{mesh => mesh-gatt}/net.c (99%)
 rename tools/{mesh => mesh-gatt}/net.h (100%)
 rename tools/{mesh => mesh-gatt}/node.c (98%)
 rename tools/{mesh => mesh-gatt}/node.h (100%)
 rename tools/{mesh => mesh-gatt}/onoff-model.c (96%)
 rename tools/{mesh => mesh-gatt}/onoff-model.h (100%)
 rename tools/{mesh => mesh-gatt}/prov-db.c (99%)
 rename tools/{mesh => mesh-gatt}/prov-db.h (100%)
 rename tools/{mesh => mesh-gatt}/prov.c (98%)
 rename tools/{mesh => mesh-gatt}/prov.h (100%)
 rename tools/{mesh => mesh-gatt}/prov_db.json (100%)
 create mode 100644 tools/mesh-gatt/util.c
 create mode 100644 tools/mesh-gatt/util.h
 create mode 100644 tools/mesh/cfgcli.c
 create mode 100644 tools/mesh/cfgcli.h
 create mode 100644 tools/mesh/keys.c
 create mode 100644 tools/mesh/mesh-db.c
 create mode 100644 tools/mesh/mesh-db.h
 create mode 100644 tools/mesh/model.h
 create mode 100644 tools/mesh/remote.c
 create mode 100644 tools/mesh/remote.h

-- 
2.21.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-11-05 21:06 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-01 18:57 [PATCH BlueZ 00/10 v2] Mesh provisioning and configuration tool Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 01/10 v2] tools/mesh: Remove extra dependencies from agent.c Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 02/10 v2] tools/mesh: Move meshctl specific files to mesh-gatt Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 03/10 v2] tools: Add mesh-cfgclient tool Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 04/10 v2] tools/mesh: move remote node processing to a separate file Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 05/10 v2] tools/mesh-cfgclient: Commands for Management iface methods Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 06/10 v2] tools/mesh-cfgclient: Add config menu key commands Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 07/10 v2] tools/mesh-cfgclient: Add timeout for expected response Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 08/10 v2] tools/mesh-cfgclient: Command line option for config Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 09/10 v2] tools/mesh: add initial support for config storage Inga Stotland
2019-11-01 18:57 ` [PATCH BlueZ 10/10 v2] tools/mesh-cfgclient: Add README file Inga Stotland
2019-11-05 21:06 ` [PATCH BlueZ 00/10 v2] Mesh provisioning and configuration tool Gix, Brian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).