OT CLI を使用したデータセットの表示と管理

GitHub でソースを表示

Thread ネットワーク構成パラメータは、アクティブ オペレーション データセット オブジェクトと保留中のオペレーショナル データセット オブジェクトを使用して管理されます。OT CLI にはアクティブと保留中のデータセットを 取得して設定するコマンドが含まれています

警告 - 本番環境での使用の制限

アクティブおよび保留中のオペレーション データセットを書き込みまたは変更する CLI コマンドでは、テスト目的で無効なパラメータやパラメータの無効な組み合わせを設定できる場合があります。これらの CLI コマンドは以下でのみ使用できます。

  • 新しく作成された Thread ネットワークにある最初のデバイスのネットワーク パラメータを設定するため。
  • テスト用(製品版デバイスには適用されません)。

本番環境の Thread ネットワークでは、オペレーショナル データセットを作成または変更する適切な方法は、コミッショニングを行うコミッショナーを使用することです。アクティブなコミッショナーではなく、Thread ネットワークの一部である本番環境デバイスは、いかなる方法でもオペレーショナル データセットを変更してはなりません。

アクティブな運用データセット

アクティブ オペレーショナル データセットには、Thread ネットワーク全体で現在使用されているパラメータが含まれています。Active Operational Dataset には以下が含まれます。

  • 有効なタイムスタンプ
  • チャネル
  • チャンネル マスク
  • 拡張 PAN ID
  • メッシュローカル プレフィックス
  • ネットワーク名
  • PAN ID
  • PSKc
  • セキュリティ ポリシー

Thread ネットワークの完全なメンバーになるようにデバイスを簡単に構成するには、dataset active -x コマンドを使用して 16 進数でエンコードされた TLV を取得し、dataset set active コマンドを使用して新しいデバイスにデータセットを設定します。

既存のデバイスで、16 進数でエンコードされた TLV を取得します。

dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

新しいデバイスで、アクティブなデータセットを設定します。

dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

保留中の運用データセット

保留中の運用データセットは、有効になる前にアクティブ オペレーショナル データセットに変更を伝えるために使用されます。保留中の運用データセットには、アクティブ オペレーショナル データセットのすべてのパラメータと、次のパラメータが含まれます。

  • 遅延タイマー
  • 保留中のタイムスタンプ

始める

コマンドラインからデータセットを管理するには、Docker を使用してシミュレーションの Codelab を完了し、CLI コマンド リファレンスを確認します。

シミュレーションの Codelab に移動

CLI コマンド リファレンスに移動

dataset コマンドのリストを表示するには、「help」と入力します。

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

引数マッピング

セキュリティ ポリシー

セキュリティ ポリシー コマンドは、引数マッピングを使用して otSecurityPolicy メンバーを取得して設定します。たとえば、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

この例では、Security Policy: 0mRotationTime を示します。

以下に、Security Policy CLI のすべての引数と、各引数に対応する otSecurityPolicy メンバーを示します。

dataset securitypolicy の get コマンドと set コマンドでも、同じ引数マッピングを使用します。たとえば、securitypolicy を設定して、onrc を渡します。

dataset securitypolicy 672 onrc
Done

データセット コンポーネントと mgmt コマンド

他のパラメータとともに、アクティブ データセットと保留中のデータセットの mgmtgetcommandmgmtsetcommand を使用すると、otOperationalDatasetComponents の任意の組み合わせを取得して設定できます。

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

mgmtgetcommand では、対応する値を取得するために、これらのコンポーネントを任意の順序で指定できます。必要に応じて、-x を渡して、TLV のバイト シーケンス表現として扱われる 16 進文字列を使用することもできます。これはベンダー固有の TLV で、他のパラメータに加えて追加できます。

mgmtgetcommand では、必要に応じてリーダーの IPv6 アドレスを指定することもできます。それ以外の場合は、リーダー ALOC が使用されます。

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

たとえば、activetimestampsecuritypolicy を取得するには、次の引数を使用します。

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

コンポーネントを設定するには、データセット コンポーネントを任意の順序で指定し、その後にコンポーネント値を指定することもできます。

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

activetimestampsecuritypolicy を設定するには、次の引数を使用します。

dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done