Exibir e gerenciar conjuntos de dados com a CLI OT

Consulte o código-fonte no GitHub

Os parâmetros de configuração de rede de linhas de execução são gerenciados com objetos do conjunto de dados operacional ativo e pendente. A CLI OT inclui comandos para receber e definir conjuntos de dados ativos e pendentes.

AVISO: restrições para uso em produção.

Os comandos da CLI para gravar ou alterar os conjuntos de dados operacionais ativos e pendentes podem permitir a configuração de parâmetros inválidos ou combinações inválidas de parâmetros para fins de teste. Os seguintes comandos da CLI só podem ser usados:

  • Para configurar parâmetros de rede para o primeiro dispositivo em uma rede Thread recém-criada.
  • Para testes (não aplicável a dispositivos de produção).

Em redes Thread de produção, o método correto para gravar ou alterar conjuntos de dados operacionais é por meio de um comissionado que executa o comissionamento. Os dispositivos de produção que não são um comissário ativo e fazem parte de uma rede Thread NÃO PODEM modificar os conjuntos de dados operacionais.

Conjunto de dados operacional ativo

O conjunto de dados operacional ativo inclui parâmetros que estão em uso atualmente em toda uma rede Thread. O conjunto de dados Operacional ativo contém:

  • Carimbo de data/hora da atividade
  • Canal
  • Máscara de canal
  • ID do PAN estendido
  • Prefixo mesh-local
  • Nome da rede
  • Código PAN
  • PSKc
  • Política de segurança

Para configurar facilmente um dispositivo que seja membro completo da rede Thread, use o comando dataset active -x para receber um TLV codificado em hexadecimal e o comando dataset set active para definir o conjunto de dados em um novo dispositivo.

Em um dispositivo atual, receba o TLV codificado em hexadecimal:

dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

Em um novo dispositivo, defina o conjunto de dados ativo:

dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

Conjunto de dados operacional pendente

O conjunto de dados operacional pendente é usado para comunicar alterações ao conjunto de dados operacional ativo antes que elas entrem em vigor. O conjunto de dados operacional pendente contém todos os parâmetros do conjunto de dados operacional ativo, com a adição de:

  • Timer de atraso
  • Carimbo de data/hora pendente

Começar

Para gerenciar conjuntos de dados na linha de comando, conclua nosso codelab de simulação com o Docker e revise a referência de comando da CLI.

Acessar o codelab de simulação

Acessar a referência de comandos da CLI

Para ver uma lista de comandos dataset, digite help:

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

Mapeamentos de argumentos

Política de segurança

Os comandos da política de segurança usam mapeamentos de argumentos para receber e definir membros otSecurityPolicy. Por exemplo, 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

Neste exemplo, Security Policy: 0 indica mRotationTime.

Veja uma lista de todos os argumentos da CLI da Política de segurança e o membro otSecurityPolicy correspondente para cada argumento:

Os comandos "get" e "set" do dataset securitypolicy também usam os mesmos mapeamentos de argumentos. Por exemplo, definir securitypolicy e transmitir o, n, r e c:

dataset securitypolicy 672 onrc
Done

Componentes do conjunto de dados e comandos mgmt

Junto com outros parâmetros, mgmtgetcommand e mgmtsetcommand para conjuntos de dados ativos e pendentes permitem que você acesse e defina qualquer combinação de otOperationalDatasetComponents:

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

Para mgmtgetcommand, você pode especificar esses componentes em qualquer ordem para receber os valores correspondentes. Também é possível transmitir -x para usar uma string hexadecimal que é tratada como uma representação de sequência de bytes de TLVs. Podem ser TLVs específicos do fornecedor que convém adicionar além de outros parâmetros.

mgmtgetcommand também permite, opcionalmente, especificar o endereço IPv6 do líder. Caso contrário, o ALOC líder será usado.

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

Por exemplo, para receber activetimestamp e securitypolicy, use os seguintes argumentos:

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

Para definir componentes, também é possível fornecer os componentes do conjunto de dados em qualquer ordem, seguido pelo valor do componente.

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

Para definir activetimestamp e securitypolicy, use os argumentos a seguir:

dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done