mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-15 16:24:28 +08:00
ce3031a6b2
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.
82 lines
2.6 KiB
Plaintext
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
|