fuchsia.lowpan.thread

新增:7

通訊協定

CapabilitiesConnector

定義於 fuchsia.lowpan.thread/capabilities.fidl

用於連線至 LoWPAN 裝置功能的通訊協定。

新增:18

連線

連線至指定 LoWPAN 裝置上的 ThreadCapabilities 通訊協定。

如要瞭解介面名稱,請呼叫 fuchsia.lowpan/Lookup.GetDevices。

如果處理這項要求時發生錯誤,系統會關閉指定管道,並使用 epitaph 程式碼說明失敗原因:

  • ZX_ERR_INVALID_ARGUMENT:指定的介面名稱格式不正確或無效。
  • ZX_ERR_NOT_FOUND:找不到指定名稱的介面。
  • ZX_ERR_NOT_SUPPORTED:介面存在,但不支援這個通訊協定。

要求

名稱類型
name fuchsia.lowpan/InterfaceName
server_end server_end:ThreadCapabilities

資料集

定義於 fuchsia.lowpan.thread/dataset.fidl

Thread 作業資料集通訊協定。

這項通訊協定可能會公開 PII。

這個通訊協定提供的方法,與管理原始 TLV 格式的 Thread 作業資料集有關。

AttachAllNodesTo

要求目前網路上的所有節點,都連結至指定資料集描述的執行緒網路。傳回變更生效前的毫秒數。

功能等同於 ot-br-posix 的 AttachAllNodesTo4。

如果這部裝置目前未佈建,呼叫這個方法等同於呼叫 SetActiveTlvs()。

所有節點轉換至新網路可能需要五分鐘。這個方法會傳回網路轉換前的確切時間。

成功排定轉換作業後,這個方法就會傳回。如果發生任何錯誤,導致這項作業無法順利完成排程 (例如提供的資料集不完整),通訊協定就會關閉。

新增:8

要求

名稱類型
dataset OperationalDatasetTlvs

回應

名稱類型
delay_ms int64

GetActiveTlvs

擷取並傳回原始 TLV 格式的使用中 Thread 作業資料集。功能等同於 otDatasetGetActiveTlvs()2。

這個方法會傳回有效的資料集,如果沒有有效的作業資料集,則不會傳回任何內容。

任何導致作業無法順利完成的錯誤,都會造成通訊協定關閉。

要求

<EMPTY>

回應

名稱類型
dataset OperationalDatasetTlvs

SetActiveTlvs

以原始 TLV 格式設定使用中的 Thread 作業資料集。功能等同於 otDatasetSetActiveTlvs()3。

作業成功完成後,這個方法就會傳回。

任何導致作業無法順利完成的錯誤,都會造成通訊協定關閉。

要求

名稱類型
dataset OperationalDatasetTlvs

回應

<EMPTY>

DatasetConnector

定義於 fuchsia.lowpan.thread/dataset.fidl

在 LoWPAN 裝置上連線至資料集的通訊協定。

連線

連線至指定 LoWPAN 裝置上的資料集通訊協定。

如要瞭解介面名稱,請呼叫 fuchsia.lowpan/Lookup.GetDevices。

如果處理這項要求時發生錯誤,系統會關閉指定管道,並使用 epitaph 程式碼說明失敗原因:

  • ZX_ERR_INVALID_ARGUMENT:指定的介面名稱格式不正確或無效。
  • ZX_ERR_NOT_FOUND:找不到指定名稱的介面。
  • ZX_ERR_NOT_SUPPORTED:介面存在,但不支援這個通訊協定。

要求

名稱類型
name fuchsia.lowpan/InterfaceName
server_end server_end:Dataset

Epskc

定義於 fuchsia.lowpan.thread/epskc.fidl

ePSKc 設定通訊協定

這樣一來,呼叫端就能與 Thread 堆疊的 ePSKc 功能互動,產生或撤銷臨時金鑰。

新增:29

StartEphemeralKey

啟動臨時金鑰處理常式。

必須先透過 fuchsia.lowpan.thread/FeatureConnector 啟用 ePSKc 功能。

生命週期以毫秒為單位。

OpenThread:

設定成功後,外部委任候選人只能使用臨時金鑰一次,建立安全工作階段。委任者候選裝置中斷連線後,系統會停止使用臨時金鑰。

臨時金鑰的生命週期上限為 10 分鐘。

如果存留時間設為 0,OpenThread 會使用預設存留時間 2 分鐘。

如果生命週期到期,系統會停止使用臨時金鑰,並立即中斷使用該金鑰的所有連線工作階段。

臨時金鑰管理工具會將 DTLS 連線失敗次數限制為 10 次。第 10 次嘗試失敗後,系統會自動停止使用臨時金鑰 (即使效期尚未到期)。

  • ZX_ERR_INVALID_ARGS:指定的生命週期超過允許值。
  • ZX_ERR_BAD_STATE:ePSKc 功能尚未啟用。
  • ZX_ERR_INTERNAL:無法產生臨時金鑰。

要求

名稱類型
lifetime uint32

回應

名稱類型
payload Epskc_StartEphemeralKey_Result

StopEphemeralKey

停止使用臨時金鑰。

如果 retain_active_session 為 false,現有工作階段會終止。如果 retain_active_session 為 true,且有進行中的工作階段,則不會停止臨時金鑰。

必須先透過 fuchsia.lowpan.thread/FeatureConnector 啟用 ePSKc 功能。

  • ZX_ERR_BAD_STATE:ePSKc 功能尚未啟用,或 retain_active_session 為 true 且有進行中的工作階段。

要求

名稱類型
retain_active_session bool

回應

名稱類型
payload Epskc_StopEphemeralKey_Result

WatchEphemeralKeyState

觀察臨時金鑰管理工具的運作狀態變化。

第一次呼叫會立即傳回目前的 EphemeralKeyState。後續呼叫會遭到封鎖,直到狀態與這個管道上次傳回的值不同為止。中繼狀態不會排入佇列:如果狀態在呼叫之間多次變更,系統只會傳回最新狀態,且可能完全不會觀察到還原為上次傳回值的變更。

透過 fuchsia.lowpan.thread/FeatureConnector 停用 ePSKc 時,狀態會回報為 DISABLED。

在同一個管道上多次同時呼叫這個方法會發生錯誤,並導致管道關閉,並顯示 ZX_ERR_BAD_STATE 墓誌銘。

新增:NEXT

要求

<EMPTY>

回應

名稱類型
payload Epskc_WatchEphemeralKeyState_Result

EpskcConnector

定義於 fuchsia.lowpan.thread/epskc.fidl

在 LoWPAN 裝置上連線至 Epskc 的通訊協定。

新增:29

連線

連線至指定 LoWPAN 裝置上的 Epskc 通訊協定。

如要瞭解介面名稱,請呼叫 fuchsia.lowpan/Lookup.GetDevices。

如果處理這項要求時發生錯誤,系統會關閉指定管道,並使用 epitaph 程式碼說明失敗原因:

  • ZX_ERR_INVALID_ARGUMENT:指定的介面名稱格式不正確或無效。
  • ZX_ERR_NOT_FOUND:找不到指定名稱的介面。
  • ZX_ERR_NOT_SUPPORTED:介面存在,但不支援這個通訊協定。

要求

名稱類型
name fuchsia.lowpan/InterfaceName
server_end server_end:Epskc

功能

定義於 fuchsia.lowpan.thread/feature.fidl

用於擷取及更新特定 LoWPAN 介面 OpenThread 功能設定的通訊協定。

新增:11

GetFeatureConfig

傳回這個介面目前的 OpenThread 功能設定。

如果傳回值中有未設定的欄位,表示不支援該功能。

要求

<EMPTY>

回應

名稱類型
config FeatureConfig

UpdateFeatureConfig

更新這個介面目前的 OpenThread 功能設定。

config 中任何未設定的欄位都會保持不變。

要求

名稱類型
config FeatureConfig

回應

<EMPTY>

FeatureConnector

定義於 fuchsia.lowpan.thread/feature.fidl

在 LoWPAN 裝置上連線至功能的通訊協定。

新增:11

連線

連線至指定 LoWPAN 裝置上的功能通訊協定。

如要瞭解介面名稱,請呼叫 fuchsia.lowpan/Lookup.GetDevices。

如果處理這項要求時發生錯誤,系統會關閉指定管道,並使用 epitaph 程式碼說明失敗原因:

  • ZX_ERR_INVALID_ARGUMENT:指定的介面名稱格式不正確或無效。
  • ZX_ERR_NOT_FOUND:找不到指定名稱的介面。
  • ZX_ERR_NOT_SUPPORTED:介面存在,但不支援這個通訊協定。

要求

名稱類型
name fuchsia.lowpan/InterfaceName
server_end server_end:Feature

Meshcop

定義於 fuchsia.lowpan.thread/meshcop.fidl

與 Mesh Commissioning Protocol (Meshcop) 相關的方法。

UpdateTxtEntries

更新與 Meshcop 邊界代理 DNS-SD 項目相關聯的 TXT 記錄資訊。這樣一來,當裝置做為邊界代理時,就能在區域網路上探索其他裝置資訊。

功能等同於 ot-br-posix 的 UpdateVendorMeshCopTxtEntries1。

通常會更新下列金鑰:

  • vn:供應商名稱
  • mn:模型名稱
  • vo:供應商 OUI
  • vd/vcd:供應商專屬資料

如要進一步瞭解所有金鑰及其值,請參閱 Thread 1.2 規格 8.4.1.1.2 節中的表 8-4。

任何導致作業無法順利完成的錯誤 (例如提供無效的金鑰),都會導致通訊協定關閉。

要求

名稱類型
txt_entries vector<TxtEntries>:32

回應

<EMPTY>

MeshcopConnector

定義於 fuchsia.lowpan.thread/meshcop.fidl

在 LoWPAN 裝置上連線至 Meshcop 的通訊協定。

連線

連線至指定 LoWPAN 介面上的 Meshcop 通訊協定。

如要瞭解介面名稱,請呼叫 fuchsia.lowpan/Lookup.GetDevices。

如果處理這項要求時發生錯誤,系統會關閉指定管道,並使用 epitaph 程式碼說明失敗原因:

  • ZX_ERR_INVALID_ARGUMENT:指定的介面名稱格式不正確或無效。
  • ZX_ERR_NOT_FOUND:找不到指定名稱的介面。
  • ZX_ERR_NOT_SUPPORTED:介面存在,但不支援這個通訊協定。

要求

名稱類型
name fuchsia.lowpan/InterfaceName
server_end server_end:Meshcop

ThreadCapabilities

定義於 fuchsia.lowpan.thread/capabilities.fidl

用於擷取執行緒堆疊支援功能的通訊協定。

新增:18

GetCapabilities

傳回這個介面的 Openthread 目前功能。

在介面的生命週期內,功能不應變更。

要求

<EMPTY>

回應

名稱類型
capabilities Capabilities

STRUCTS

Epskc_StartEphemeralKey_Response

定義於 fuchsia.lowpan.thread/epskc.fidl

欄位類型說明預設
key vector<uint8>:32 無預設值

Epskc_StopEphemeralKey_Response

定義於 fuchsia.lowpan.thread/epskc.fidl

<EMPTY>

Epskc_WatchEphemeralKeyState_Response

定義於 fuchsia.lowpan.thread/epskc.fidl

欄位類型說明預設
state EphemeralKeyState 無預設值

TxtEntries

定義於 fuchsia.lowpan.thread/meshcop.fidl

欄位類型說明預設
key string:254

這個 TXT 項目的金鑰字串。

不得包含 = 字元。 理論長度上限為 254 個位元組。

無預設值
value vector<uint8>:253

與這個鍵相關聯的二進位值。

理論長度上限為 253 個位元組,比 TXT 記錄長度上限少兩個位元組,以容納單一位元組鍵和鍵/值分隔符號位元組。

無預設值

列舉

DetailedLoggingLevel flexible

類型:uint32

定義於 fuchsia.lowpan.thread/feature.fidl

新增:12

名稱值說明
0
1
2
3
4
5
6
7
8

EphemeralKeyState 彈性

類型:uint32

定義於 fuchsia.lowpan.thread/epskc.fidl

臨時金鑰管理工具的運作狀態。詳情請參閱 https://openthread.io/reference/group/api-border-agent。

新增:NEXT

名稱值說明
1

已停用 Ephemeral Key Manager。

2

已啟用,但未使用臨時金鑰 (未設定或未啟動)。

3

已設定暫時金鑰。正在監聽,準備接受安全連線。

4

與外部委任者候選裝置建立工作階段。

5

工作階段已建立,候選人獲准成為正式委員。

TABLES

功能

定義於 fuchsia.lowpan.thread/capabilities.fidl

Openthread 功能。

功能是指 OpenThread 支援的功能。舉例來說,nat64 是指 OpenThread 是否具備 nat64 所需的軟體支援,這取決於 OpenThread 中定義的巨集。與功能是否啟用無關。 下表說明 OpenThread 支援和不支援的功能。每當新增功能時,請更新下表。

新增:18

序數欄位類型說明
nat64 bool

欄位不得留空。這類標記會設為 true 或 false。說明是否支援 nat64。如果 nat64 為 true,表示 Openthread 支援 nat64,否則為 false。

dhcpv6_pd bool

說明是否支援 dhcpv6 前置碼委派。如果 dhcpv6_pd 為 true,Openthread 支援 dhcpv6pd,否則為 false。

epskc bool

說明是否支援 epskc。如果 epskc 為 true,Openthread 支援 epskc,否則為 false。

新增:27

FeatureConfig

定義於 fuchsia.lowpan.thread/feature.fidl

OpenThread 功能設定。

下表說明特定介面啟用或停用的 OpenThread 功能。詳情請參閱功能通訊協定。

新增:11

序數欄位類型說明
trel_enabled bool

決定是否啟用 TREL。

nat64_enabled bool

決定是否啟用 NAT64。

srp_replication_enabled bool

決定是否啟用 SRP 複製功能。

detailed_logging_enabled bool

決定是否啟用詳細記錄功能。如果設為 false,lowpan-ot-驅動程式庫應使用設定檔中設定的預設記錄層級。

新增:12
detailed_logging_level DetailedLoggingLevel

設定目標記錄層級。只有在 detailed_logging_enabled 設為 true 時,系統才會使用這個值。

新增:12
dhcpv6_pd_enabled bool

決定是否啟用 DHCPv6-PD。

新增:18
dns_upstream_query_enabled bool

決定是否啟用 DNS 上游查詢。

新增:19
epskc_enabled bool

決定是否啟用 ePSKc。

新增:27

UNIONS

Epskc_StartEphemeralKey_Result strict

定義於 fuchsia.lowpan.thread/epskc.fidl

序數Variant類型說明
response Epskc_StartEphemeralKey_Response
err zx/Status
framework_err internal

Epskc_StopEphemeralKey_Result strict

定義於 fuchsia.lowpan.thread/epskc.fidl

序數Variant類型說明
response Epskc_StopEphemeralKey_Response
err zx/Status
framework_err internal

Epskc_WatchEphemeralKeyState_Result strict

定義於 fuchsia.lowpan.thread/epskc.fidl

序數Variant類型說明
response Epskc_WatchEphemeralKeyState_Response
framework_err internal

常數

名稱值類型說明
MAX_DATASET_TLV_LEN 254 uint8
OT_BORDER_AGENT_MAX_EPHEMERAL_KEY_LENGTH 32 uint32

OpenThread Border Agent 使用的臨時金鑰長度上限。詳情請參閱 https://openthread.io/reference/group/api-border-agent。

新增:29

別名

名稱值說明
OperationalDatasetTlvs vector[MAX_DATASET_TLV_LEN]

資料類型,用於包含原始 TLV 格式的 Thread 資料集。功能等同於 otOperationalDatasetTlvs 類型1。

Thread TLV 格式的詳細資料請參閱 Thread 規格。