Afficher et gérer des ensembles de données avec OT CLI

Afficher le code source sur GitHub

Les paramètres de configuration du réseau Thread sont gérés à l'aide d'objets opérationnels et en attente d'ensemble de données. L'OT CLI inclut des commandes permettant d'obtenir et de définir des ensembles de données actifs et en attente.

AVERTISSEMENT : Restrictions d'utilisation en production

Les commandes CLI permettant d'écrire ou de modifier les ensembles de données opérationnels actifs et en attente peuvent permettre de définir des paramètres non valides ou des combinaisons de paramètres non valides à des fins de test. Ces commandes CLI ne peuvent être utilisées que:

  • Pour configurer les paramètres réseau du premier appareil d'un réseau Thread nouvellement créé.
  • À des fins de test (non applicable aux appareils de production).

Dans les réseaux Thread de production, la méthode correcte pour écrire ou modifier les ensembles de données opérationnels consiste à passer par un commissaire qui effectue une mise en service. Les appareils de production qui ne sont pas un commissaire actif et qui font partie d'un réseau Thread NE DOIVENT PAS modifier les ensembles de données opérationnels.

Ensemble de données opérationnel actif

L'ensemble de données opérationnel actif inclut des paramètres actuellement utilisés sur l'ensemble d'un réseau Thread. L'ensemble de données opérationnel actif contient:

  • Code temporel actif
  • Canal
  • Masque de chaîne
  • ID PAN étendu
  • Préfixe du maillage local
  • Nom du réseau
  • ID PAN
  • Clé pré-partagée
  • Règle de sécurité

Pour configurer facilement un appareil afin qu'il soit un membre complet du réseau Thread, vous pouvez utiliser la commande dataset active -x pour obtenir un TLV encodé en hexadécimal, et la commande dataset set active pour définir l'ensemble de données sur un nouvel appareil.

Sur un appareil existant, récupérez le TLV encodé en hexadécimal:

dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

Sur un nouvel appareil, définissez l'ensemble de données actif:

dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

Ensemble de données opérationnel en attente

L'ensemble de données opérationnel en attente permet de communiquer les modifications apportées à l'ensemble de données opérationnel actif avant qu'elles ne prennent effet. L'ensemble de données opérationnel en attente contient tous les paramètres de l'ensemble de données opérationnel actif, auxquels ont été ajoutés les éléments suivants:

  • Retardateur
  • Code temporel en attente

Premiers pas

Pour gérer des ensembles de données à partir de la ligne de commande, suivez notre atelier de programmation de simulation avec Docker et consultez la documentation de référence sur les commandes CLI.

Accéder à l'atelier de programmation de simulation

Accéder à la documentation de référence sur les commandes CLI

Pour obtenir la liste des commandes dataset, saisissez help:

dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done

Mappages d'arguments

Règle de sécurité

Les commandes de stratégie de sécurité utilisent des mappages d'arguments pour obtenir et définir des membres otSecurityPolicy. Par exemple, dataset active:

dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 0x07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done

Dans cet exemple, Security Policy: 0 indique mRotationTime.

Voici la liste de tous les arguments de la CLI Security Policy et du membre otSecurityPolicy correspondant à chaque argument:

Les commandes get et set dataset securitypolicy utilisent également les mêmes mappages d'arguments, par exemple pour définir securitypolicy et transmettre o, n, r et c:

dataset securitypolicy 672 onrc
Done

Composants de l'ensemble de données et commandes mgmt

Avec d'autres paramètres, les propriétés mgmtgetcommand et mgmtsetcommand pour les ensembles de données actifs et en attente vous permettent d'obtenir et de définir n'importe quelle combinaison d'otOperationalDatasetComponents:

  • activetimestamp
  • pendingtimestamp
  • networkkey
  • networkname
  • extpanid
  • localprefix
  • delaytimer
  • panid
  • channel
  • securitypolicy

Pour mgmtgetcommand, vous pouvez spécifier ces composants dans n'importe quel ordre pour obtenir les valeurs correspondantes. Vous pouvez également transmettre -x pour utiliser une chaîne hexadécimale traitée comme une représentation de la séquence d'octets des TLV. Il peut s'agir de valeurs TLV spécifiques à un fournisseur que vous pouvez ajouter en plus d'autres paramètres.

mgmtgetcommand vous permet également de spécifier l'adresse IPv6 de l'instance principale, si vous le souhaitez. Sinon, l'ALOC de la variante optimale est utilisé.

dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]

Par exemple, pour obtenir activetimestamp et securitypolicy, utilisez les arguments suivants:

dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done

Pour définir des composants, vous pouvez également fournir les composants de l'ensemble de données dans n'importe quel ordre, suivis de leur valeur.

dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]

Pour définir activetimestamp et securitypolicy, utilisez les arguments suivants:

dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done