bluez/mesh/README
Brian Gix ce3031a6b2 mesh: Reconfigure node storage tree
Add a tree structure to a nodes data storage, in order to safely handle
Replay Protection list, Refactor local Sequence Numbers, and add Key
storage for Config Client nodes.
2019-05-13 12:12:20 -07:00

82 lines
2.6 KiB
Plaintext

Bluetooth Mesh Daemon
*********************
Copyright (C) 2019 Intel Corporation. All rights reserved.
Compilation and installation
============================
In addition to main BlueZ requirements, MeshCtl needs the following:
- json-c library
Configuration and options
=========================
--enable-mesh
Build mesh daemon and other Bluetooth Mesh based tools
Current implementation of the mesh daemon requires exclusive access to
a Bluetooth controller.
The AutoEnable option in the installed main.conf should be set to "false".
Storage
=======
Default storage directory is /var/lib/bluetooth/mesh.
The directory contains the provisioned nodes configurations.
Each node has its own subdirectory, named after node's Device UUID (32-digit
hexadecimal string) that is generated by the application that created a node.
Each subdirectory contains the following files:
- node.json:
node configuration and is populated by the
daemon based on the configuration commands from a
provisioner/configuration client
- node.json.bak:
a backup that the last known good node configuration.
- seq_num:
File containing next sequence number to use
- seq_num.bak:
Backup of the sequence number. This may be larger than the
actual sequence number being used at runtime, to prevent re-use
of sequence numbers in the event of an unexpected restart.
- ./rpl/:
Directory to store the sequence numbers of remote nodes, as
required by Replay Protection List (RPL) parameters.
- xxxx:
Files named for remote Unicast addresses, and contain
last received iv_index + seq_num from each SRC address.
- ./dev_keys/:
Directory to store remote Device keys. This is only created/used
by Configuration Client (Network administration) nodes.
- xxxx:
Files named for remote Unicast addresses, and contains
16 octet key.
- ./net_keys/:
Directory to store network subnet keys. This is only
created/used by Configuration Client (Network administration)
nodes.
- xxx:
Files named for subnet index, and contains key refresh
phase, and old/new versions of the key.
- ./app_keys/:
Directory to store application keys. This is only created/used
by Configuration Client (Network administration) nodes.
- xxx:
Files named for application index, and contains bound
subnet index, and old/new versions of the key.
The node.json and node.json.bak are in JSON format. All other files are stored
in little endian binary format.
Information
===========
Mailing lists:
linux-bluetooth@vger.kernel.org
For additional information about the project visit BlueZ web site:
http://www.bluez.org