[PATCH BlueZ 00/10 v2] Mesh provisioning and configuration tool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux