Openthread 如何使用otThreadGetChildNextIp6Address?

Openthread 如何使用otThreadGetChildNextIp6Address?,openthread,Openthread,我找不到如何使用otThreadGetChildNextIp6Address。我使用两个设备,一个是领导者,另一个是孩子。我需要领导获取子地址,可以用这个API吗 我尝试了下面的参数,但它返回了OT\u ERROR\u NOT\u FOUND aChildIndex:我已将其设置为0。我很确定问题不是来自索引,因为我在上面使用了0index的otThreadGetChildInfoByIndex,它工作得很好 aIterator:我创建了一个otchildip6addressionerator

我找不到如何使用
otThreadGetChildNextIp6Address
。我使用两个设备,一个是领导者,另一个是孩子。我需要领导获取子地址,可以用这个API吗

我尝试了下面的参数,但它返回了
OT\u ERROR\u NOT\u FOUND

  • aChildIndex
    :我已将其设置为
    0
    。我很确定问题不是来自索引,因为我在上面使用了
    0
    index的
    otThreadGetChildInfoByIndex
    ,它工作得很好
  • aIterator
    :我创建了一个
    otchildip6addressionerator
    变量,并将其地址传递给API
  • aAddress
    :我创建了一个
    otIp6Address
    变量,并将其地址传递给API

我遗漏了什么吗?

请参阅OpenThread CLI实现以获取详细信息。

您的答案存在一些格式问题。努力改进这一点。路径和代码片段使用
`
括号。要突出显示应用程序的名称或界面,请使用粗体(
**
括号)或斜体(
*
括号)字体。要从新行开始,请在行尾使用双空格-问题将比在任何地方使用Enter更清楚。添加一些
也很好。不要使用问候语:我已经看到了此函数的CLI实现。我使用它的方式与CLI相同,但出于某些原因,根据调试器,
OT\u ERROR\u NOT\u FOUND
Child::GetNextIp6Address
中返回,因为MIP6地址似乎未指定。我可以直接在子设备上正确读取地址,所以我不明白为什么领导一直说子地址未指定。您的孩子是全线程设备(FTD)吗?线程路由器不为属于FTD的子级维护IPv6地址。是的,你是对的。现在,我可以得到正确的网格局部一个,但其他似乎没有注册。如何使用
otThreadGetChildNextIp6Address
注册所有子级地址以获取它们?我猜问题来自我的
AddressRegistrationMode
,它似乎被设置为
kAppendMeshLocalOnly
。有没有办法将其设置为
kappendalladdress
?线程不提供一种机制,让在子角色中运行的全线程设备(FTD)向其父角色注册其地址。我的孩子是FTD,这就是我无法获取任何内容的原因。但现在,孩子是MTD正如你所建议的。其父级(FTD)需要获取此子级的地址(所有地址)。我尝试使用
otThreadGetChildNextIp6Address
,但我只得到了Mesh本地地址。我该怎么做才能得到孩子的所有地址?