Patch set applied On Fri, 2019-11-01 at 11:57 -0700, Inga Stotland wrote: > 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 >