使用 OT CLI 显示和管理数据集

查看 GitHub 上的源代码

使用活跃和待处理的操作数据集对象管理线程网络配置参数。OT CLI 包含用于获取和设置活跃和待处理数据集的命令。

警告 - 限制在生产环境中使用!

用于写入或更改活跃和待处理操作数据集的 CLI 命令可能允许出于测试目的设置无效参数或无效的参数组合。以下 CLI 命令只能用于:

  • 为新创建的 Thread 网络中的第一个设备配置网络参数。
  • 用于测试(不适用于正式版设备)。

在生产 Thread 网络中,写入或更改操作数据集的正确方法是通过执行调试委员会。不是活跃的调试器且属于 Thread 网络的生产设备不得以任何方式修改操作数据集。

活跃的运营数据集

活跃操作数据集包含当前在整个 Thread 网络中使用的参数。活跃运营数据集包含:

  • 活动时间戳
  • 渠道
  • 频道掩码
  • 扩展 PAN ID
  • 网状网本地前缀
  • 网络名称
  • PAN ID
  • PSKc
  • 安全政策

若要轻松配置设备以使其成为 Thread 网络的完整成员,您可以使用 dataset active -x 命令获取十六进制编码的 TLV,并使用 dataset set active 命令在新设备上设置数据集。

在现有设备上,获取十六进制编码的 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: 0 表示 mRotationTime。mRotationTime

以下是所有安全政策 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 的字节序列表示形式的十六进制字符串。这可以是您可能需要添加其他参数以及其他参数的供应商专用 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