Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

TREL

該模塊包括使用IPv6 / UDP接口的線程無線封裝鏈接(TREL)的平台抽象。

概要

職能

otPlatTrelUdp6HandleReceived ( otInstance *aInstance, uint8_t *aBuffer, uint16_t aLength)
void
此函數是平台的回調,用於通知收到的數據包。
otPlatTrelUdp6Init ( otInstance *aInstance, const otIp6Address *aUnicastAddress, uint16_t aUdpPort)
void
該函數初始化TREL IPv6 / UDP接口。
otPlatTrelUdp6SendTo ( otInstance *aInstance, const uint8_t *aBuffer, uint16_t aLength, const otIp6Address *aDestAddress)
此功能請求將數據包發送到給定的目的地。
otPlatTrelUdp6SetTestMode ( otInstance *aInstance, bool aEnable)
此可選功能僅用於測試。
otPlatTrelUdp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aMulticastAddress)
void
此功能將TREL IPv6 / UDP接口預訂到新的多播地址。
otPlatTrelUdp6UpdateAddress ( otInstance *aInstance, const otIp6Address *aUnicastAddress)
void
此功能更新TREL IPv6 / UDP接口的單播IPv6地址。

職能

otPlatTrelUdp6HandleReceived

void otPlatTrelUdp6HandleReceived(
  otInstance *aInstance,
  uint8_t *aBuffer,
  uint16_t aLength
)

該函數是平台的回調,用於通知收到的數據包。

細節
參量
[in] aInstance
OpenThread實例結構。
[in] aBuffer
包含接收到的數據包的緩衝區。
[in] aLength
數據包長度(字節數)。

otPlatTrelUdp6Init

void otPlatTrelUdp6Init(
  otInstance *aInstance,
  const otIp6Address *aUnicastAddress,
  uint16_t aUdpPort
)

該函數初始化TREL IPv6 / UDP接口。

該函數在任何其他TREL平台函數之前被調用。

細節
參量
[in] aInstance
OpenThread實例結構。
[in] aUnicastAddress
要添加到接口並用作發送源和接收目的地的單播地址。
[in] aUdpPort
要使用的UDP端口號。

otPlatTrelUdp6SendTo

otError otPlatTrelUdp6SendTo(
  otInstance *aInstance,
  const uint8_t *aBuffer,
  uint16_t aLength,
  const otIp6Address *aDestAddress
)

此功能請求將數據包發送到給定的目的地。

細節
參量
[in] aInstance
OpenThread實例結構。
[in] aBuffer
指向包含要發送的數據包的緩衝區的指針。
[in] aLength
數據包長度(字節數)。
[in] aDestAddress
目的IPv6地址(可以是單播或組播IPv6地址)。
返回值
OT_ERROR_NONE
tx請求已成功處理。
OT_ERROR_ABORT
接口未準備好,並且TX被中止

otPlatTrelUdp6SetTestMode

otError otPlatTrelUdp6SetTestMode(
  otInstance *aInstance,
  bool aEnable
)

此可選功能僅用於測試。

它更改TREL接口的測試模式狀態。

此功能要求暫時禁用或啟用TREL接口。禁用後,應靜默丟棄通過TREL接口的所有流量。

OpenThread提供了此方法的默認弱實現(返回NOT_IMPLEMENTED)。

細節
參量
[in] aInstance
OpenThread實例結構。
[in] aEnable
指示是否啟用/禁用TREL接口。
返回值
OT_ERROR_NONE
成功更改了TREL接口測試狀態(啟用/禁用)。
OT_ERROR_NOT_IMPLEMENTED
平台不提供此功能。

otPlatTrelUdp6SubscribeMulticastAddress

void otPlatTrelUdp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aMulticastAddress
)

此功能將TREL IPv6 / UDP接口預訂到新的多播地址。

可以多次調用此功能以訂閱不同的地址。除了在初始化接口時從otPlatTrelUdp6Init()函數添加的單播地址之外,接口還應該接受/接收發往任何先前訂閱的多播地址的數據包。

細節
參量
[in] aInstance
OpenThread實例結構。
[in] aMulticastAddress
組播IPv6地址。

otPlatTrelUdp6UpdateAddress

void otPlatTrelUdp6UpdateAddress(
  otInstance *aInstance,
  const otIp6Address *aUnicastAddress
)

此功能更新TREL IPv6 / UDP接口的單播IPv6地址。

該接口只能有一個單播IPv6地址。調用此函數將替換任何先前設置的單播IPv6地址(在otPlatTrelUdp6Init初始化或之前對otPlatTrelUdp6UpdateAddress()調用期間)。

細節
參量
[in] aInstance
OpenThread實例結構。
[in] aUnicastAddress
要添加到接口並用作tx源和rx目標的單播地址。