메시 진단

이 모듈에는 메시 진단의 정의와 함수가 포함되어 있습니다.

요약

메시 진단 API에는 OPENTHREAD_CONFIG_MESH_DIAG_ENABLEOPENTHREAD_FTD가 필요합니다.

Typedef

otMeshDiagChildEntry typedef
otMeshDiagQueryChildTable()의 하위 항목에 대한 정보를 나타냅니다.
otMeshDiagChildInfo typedef
otMeshDiagDiscoverTopology()를 사용하여 스레드 메시에서 검색된 하위 요소에 대한 정보를 나타냅니다.
otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext) typedef
void(*
MTD 하위 요소 및 IPv6 주소 목록에 관한 정보를 제공하기 위해 otMeshDiagQueryChildrenIp6Addrs()에서 사용하는 콜백을 나타냅니다.
otMeshDiagChildIterator typedef
라우터의 하위 요소 목록을 반복하는 불투명 반복기입니다.
otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext) typedef
void(*
포인터 유형은 otMeshDiagDiscoverTopology()에서 검색된 라우터에 관한 정보를 제공하는 데 사용하는 콜백을 나타냅니다.
otMeshDiagDiscoverConfig typedef
검색할 항목을 나타내는 메시 토폴로지를 검색할 때 사용되는 구성 집합을 나타냅니다.
otMeshDiagIp6AddrIterator typedef
라우터의 IPv6 주소 목록을 반복하는 불투명 반복기입니다.
otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext) typedef
void(*
하위 테이블 항목에 대한 정보를 제공하기 위해 otMeshDiagQueryChildTable()에서 사용하는 콜백을 나타냅니다.
otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext) typedef
void(*
이웃 라우터 테이블 항목에 관한 정보를 제공하기 위해 otMeshDiagQueryRouterNeighborTable()에서 사용하는 콜백을 나타냅니다.
otMeshDiagRouterInfo typedef
otMeshDiagDiscoverTopology()를 사용하여 발견된 스레드 메시의 라우터 정보를 나타냅니다.
otMeshDiagRouterNeighborEntry typedef
otMeshDiagQueryRouterNeighborTable()의 라우터 인접 항목 정보를 나타냅니다.

함수

otMeshDiagCancel(otInstance *aInstance)
void
진행 중인 토폴로지 검색이 있으면 취소하며, 그렇지 않으면 작업이 없습니다.
otMeshDiagDiscoverTopology(otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext)
네트워크 토폴로지 검색을 시작합니다.
otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo)
라우터의 검색된 하위 요소를 반복합니다.
otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address)
라우터 또는 MTD 하위 요소의 검색된 IPv6 주소를 반복합니다.
otMeshDiagQueryChildTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext)
지정된 라우터의 하위 테이블에 대한 쿼리를 시작합니다.
otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext)
상위 요소에 쿼리를 보내 모든 MTD 하위 요소의 IPv6 주소를 검색합니다.
otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext)
지정된 라우터의 라우터 인접 항목 테이블에 대한 쿼리를 시작합니다.

구조체

otMeshDiagChildEntry

otMeshDiagQueryChildTable()의 하위 항목에 대한 정보를 나타냅니다.

otMeshDiagChildInfo

otMeshDiagDiscoverTopology()를 사용하여 스레드 메시에서 검색된 하위 요소에 대한 정보를 나타냅니다.

otMeshDiagDiscoverConfig

검색할 항목을 나타내는 메시 토폴로지를 검색할 때 사용되는 구성 집합을 나타냅니다.

otMeshDiagRouterInfo

otMeshDiagDiscoverTopology()를 사용하여 발견된 스레드 메시의 라우터 정보를 나타냅니다.

otMeshDiagRouterNeighborEntry

otMeshDiagQueryRouterNeighborTable()의 라우터 인접 항목 정보를 나타냅니다.

Typedef

otMeshDiagChildEntry

struct otMeshDiagChildEntry otMeshDiagChildEntry

otMeshDiagQueryChildTable()의 하위 항목에 대한 정보를 나타냅니다.

mSupportsErrRate는 오류 추적 기능이 지원되는지 여부를 나타내며 mFrameErrorRatemMessageErrorRate 값이 유효한지 확인합니다. 프레임 오류율은 MAC 레이어에서 하위 요소를 향한 프레임 tx 오류를 추적하고, mMessageErrorRate는 IPv6 메시지가 삭제될 때 (MAC 레이어 초과 및 MAC 재시도 후) IPv6 메시지 오류율을 추적합니다. 예를 들어 메시지가 크고 6LoWPAN 단편화를 필요로 하는 경우 프래그먼트 프레임 tx 중 하나가 실패하면 (예: 확인하지 않음) 메시지 tx는 실패한 것으로 간주됩니다.

otMeshDiagChildInfo

struct otMeshDiagChildInfo otMeshDiagChildInfo

otMeshDiagDiscoverTopology()를 사용하여 스레드 메시에서 검색된 하위 요소에 대한 정보를 나타냅니다.

otMeshDiagChildIp6AddrsCallback

void(* otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)

MTD 하위 요소 및 IPv6 주소 목록에 관한 정보를 제공하기 위해 otMeshDiagQueryChildrenIp6Addrs()에서 사용하는 콜백을 나타냅니다.

aErrorOT_ERROR_PENDING이면 하위 요소가 더 있으며 콜백이 다시 호출됩니다.

세부정보
매개변수
[in] aError
OT_ERROR_PENDING(테이블에 더 많은 하위 항목이 있음)을 나타냅니다. OT_ERROR_NONE 테이블이 완료되었음을 나타냅니다. OT_ERROR_ADMIN_TIMEOUT 응답 대기 시간이 초과되었습니다.
[in] aChildRloc16
자녀의 RLOC16입니다. 0xfffeOT_ERROR_RESPONSE_TIMEOUT에서 사용됩니다.
[in] aIp6AddrIterator
otMeshDiagGetNextIp6Address()를 사용하여 aRloc가 있는 하위 요소의 IPv6 주소를 이동하는 반복자입니다. OT_ERROR_RESPONSE_TIMEOUT에서 NULL로 설정합니다.
[in] aContext
애플리케이션별 컨텍스트입니다.

otMeshDiagChildIterator

struct otMeshDiagChildIterator otMeshDiagChildIterator

라우터의 하위 요소 목록을 반복하는 불투명 반복기입니다.

이 유형의 인스턴스에 대한 포인터는 otMeshDiagRouterInfo에 제공됩니다.

otMeshDiagDiscoverCallback

void(* otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)

포인터 유형은 otMeshDiagDiscoverTopology()에서 검색된 라우터에 관한 정보를 제공하는 데 사용하는 콜백을 나타냅니다.

aErrorOT_ERROR_PENDING이면 검색이 아직 완료되지 않았으며 검색할 라우터가 더 있으며 콜백이 다시 호출됩니다.

세부정보
매개변수
[in] aError
OT_ERROR_PENDING(검색할 라우터가 더 있음)을 나타냅니다. OT_ERROR_NONE 이 라우터가 마지막 라우터이며 메시 검색이 완료되었음을 나타냅니다. OT_ERROR_Response_TIMEOUT: 하나 이상의 라우터에서 응답을 기다리는 동안 시간이 초과되었습니다.
[in] aRouterInfo
발견된 라우터 정보 (aError가 OT_ERROR_ADMIN_TIMEOUT인 경우 null일 수 있음)입니다.
[in] aContext
애플리케이션별 컨텍스트입니다.

otMeshDiagDiscoverConfig

struct otMeshDiagDiscoverConfig otMeshDiagDiscoverConfig

검색할 항목을 나타내는 메시 토폴로지를 검색할 때 사용되는 구성 집합을 나타냅니다.

otMeshDiagIp6AddrIterator

struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator

라우터의 IPv6 주소 목록을 반복하는 불투명 반복기입니다.

이 유형의 인스턴스에 대한 포인터는 otMeshDiagRouterInfo에 제공됩니다.

otMeshDiagQueryChildTableCallback

void(* otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)

하위 테이블 항목에 대한 정보를 제공하기 위해 otMeshDiagQueryChildTable()에서 사용하는 콜백을 나타냅니다.

aErrorOT_ERROR_PENDING이면 테이블에 여전히 항목이 더 있으며 콜백이 다시 호출된다는 의미입니다.

세부정보
매개변수
[in] aError
OT_ERROR_PENDING(테이블에 더 많은 항목이 있음)을 나타냅니다. OT_ERROR_NONE 테이블이 완료되었음을 나타냅니다. OT_ERROR_ADMIN_TIMEOUT 응답 대기 시간이 초과되었습니다.
[in] aChildEntry
하위 항목 (aError이 OT_ERROR_ADMIN_TIMEOUT 또는 OT_ERROR_NONE인 경우 null일 수 있음)입니다.
[in] aContext
애플리케이션별 컨텍스트입니다.

otMeshDiagQueryRouterNeighborTableCallback

void(* otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)

이웃 라우터 테이블 항목에 관한 정보를 제공하기 위해 otMeshDiagQueryRouterNeighborTable()에서 사용하는 콜백을 나타냅니다.

aErrorOT_ERROR_PENDING이면 테이블에 여전히 항목이 더 있으며 콜백이 다시 호출된다는 의미입니다.

세부정보
매개변수
[in] aError
OT_ERROR_PENDING(테이블에 더 많은 항목이 있음)을 나타냅니다. OT_ERROR_NONE 테이블이 완료되었음을 나타냅니다. OT_ERROR_ADMIN_TIMEOUT 응답 대기 시간이 초과되었습니다.
[in] aNeighborEntry
인접 항목 (aError가 보고 시간: 타임아웃 또는 NONE인 경우 null일 수 있음)
[in] aContext
애플리케이션별 컨텍스트입니다.

otMeshDiagRouterInfo

struct otMeshDiagRouterInfo otMeshDiagRouterInfo

otMeshDiagDiscoverTopology()를 사용하여 발견된 스레드 메시의 라우터 정보를 나타냅니다.

otMeshDiagRouterNeighborEntry

struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry

otMeshDiagQueryRouterNeighborTable()의 라우터 인접 항목 정보를 나타냅니다.

mSupportsErrRate는 오류 추적 기능이 지원되는지 여부를 나타내며 mFrameErrorRatemMessageErrorRate 값이 유효한지 확인합니다. 프레임 오류율은 MAC 레이어에서 하위 요소를 향한 프레임 tx 오류를 추적하고, mMessageErrorRate는 IPv6 메시지가 삭제될 때 (MAC 레이어 초과 및 MAC 재시도 후) IPv6 메시지 오류율을 추적합니다. 예를 들어 메시지가 크고 6LoWPAN 단편화를 필요로 하는 경우 프래그먼트 프레임 tx 중 하나가 실패하면 (예: 확인하지 않음) 메시지 tx는 실패한 것으로 간주됩니다.

함수

otMeshDiagCancel

void otMeshDiagCancel(
  otInstance *aInstance
)

진행 중인 토폴로지 검색이 있으면 취소하며, 그렇지 않으면 작업이 없습니다.

진행 중인 검색이 취소되면 otMeshDiagDiscoverTopology()의 콜백이 더 이상 호출되지 않습니다.

otMeshDiagDiscoverTopology

otError otMeshDiagDiscoverTopology(
  otInstance *aInstance,
  const otMeshDiagDiscoverConfig *aConfig,
  otMeshDiagDiscoverCallback aCallback,
  void *aContext
)

네트워크 토폴로지 검색을 시작합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스입니다.
[in] aConfig
검색에 사용할 구성입니다 (예: 검색할 항목).
[in] aCallback
발견된 라우터를 보고하는 콜백입니다.
[in] aContext
aCallback에 전달할 컨텍스트입니다.
반환 값
OT_ERROR_NONE
네트워크 토폴로지 검색이 시작되었습니다.
OT_ERROR_BUSY
이전 검색 요청이 아직 진행 중입니다.
OT_ERROR_INVALID_STATE
기기가 연결되지 않았습니다.
OT_ERROR_NO_BUFS
검색 메시지를 전송할 버퍼를 할당할 수 없습니다.

otMeshDiagGetNextChildInfo

otError otMeshDiagGetNextChildInfo(
  otMeshDiagChildIterator *aIterator,
  otMeshDiagChildInfo *aChildInfo
)

라우터의 검색된 하위 요소를 반복합니다.

이 함수는 콜백 otMeshDiagDiscoverCallback()에서 사용해야 하며 콜백에 대한 입력으로 제공되는 aRouterInfo 구조체의 mChildIterator를 사용해야 합니다(MUST).

세부정보
매개변수
[in,out] aIterator
사용할 주소 이터레이터입니다.
[out] aChildInfo
하위 정보를 반환하는 포인터입니다 (있는 경우).
반환 값
OT_ERROR_NONE
다음 하위 항목을 가져왔습니다. aChildInfoaIterator가 업데이트되었습니다.
OT_ERROR_NOT_FOUND
더 이상 자녀가 없습니다. 목록의 마지막 항목입니다.

otMeshDiagGetNextIp6Address

otError otMeshDiagGetNextIp6Address(
  otMeshDiagIp6AddrIterator *aIterator,
  otIp6Address *aIp6Address
)

라우터 또는 MTD 하위 요소의 검색된 IPv6 주소를 반복합니다.

사용해야 합니다(MUST).

세부정보
매개변수
[in,out] aIterator
사용할 주소 이터레이터입니다.
[out] aIp6Address
다음 IPv6 주소를 반환하는 포인터입니다 (있는 경우).
반환 값
OT_ERROR_NONE
다음 주소를 가져왔습니다. aIp6AddressaIterator가 업데이트되었습니다.
OT_ERROR_NOT_FOUND
주소가 더 이상 없습니다. 목록의 마지막 항목입니다.

otMeshDiagQueryChildTable

otError otMeshDiagQueryChildTable(
  otInstance *aInstance,
  uint16_t aRloc16,
  otMeshDiagQueryChildTableCallback aCallback,
  void *aContext
)

지정된 라우터의 하위 테이블에 대한 쿼리를 시작합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스입니다.
[in] aRloc16
쿼리할 라우터의 RLOC16입니다.
[in] aCallback
쿼리된 하위 테이블을 보고하는 콜백입니다.
[in] aContext
aCallback에 전달할 컨텍스트입니다.
반환 값
OT_ERROR_NONE
쿼리가 시작되었습니다.
OT_ERROR_BUSY
이전 검색 또는 쿼리 요청이 아직 진행 중입니다.
OT_ERROR_INVALID_ARGS
aRloc16은(는) 유효한 라우터 RLOC16이 아닙니다.
OT_ERROR_INVALID_STATE
기기가 연결되지 않았습니다.
OT_ERROR_NO_BUFS
쿼리 메시지를 전송할 버퍼를 할당할 수 없습니다.

otMeshDiagQueryChildrenIp6Addrs

otError otMeshDiagQueryChildrenIp6Addrs(
  otInstance *aInstance,
  uint16_t aRloc16,
  otMeshDiagChildIp6AddrsCallback aCallback,
  void *aContext
)

상위 요소에 쿼리를 보내 모든 MTD 하위 요소의 IPv6 주소를 검색합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스입니다.
[in] aRloc16
쿼리할 상위 요소의 RLOC16입니다.
[in] aCallback
쿼리된 하위 IPv6 주소 목록을 보고하는 콜백입니다.
[in] aContext
aCallback에 전달할 컨텍스트입니다.
반환 값
OT_ERROR_NONE
쿼리가 시작되었습니다.
OT_ERROR_BUSY
이전 검색 또는 쿼리 요청이 아직 진행 중입니다.
OT_ERROR_INVALID_ARGS
aRloc16은(는) 유효한 RLOC16이 아닙니다.
OT_ERROR_INVALID_STATE
기기가 연결되지 않았습니다.
OT_ERROR_NO_BUFS
쿼리 메시지를 전송할 버퍼를 할당할 수 없습니다.

otMeshDiagQueryRouterNeighborTable

otError otMeshDiagQueryRouterNeighborTable(
  otInstance *aInstance,
  uint16_t aRloc16,
  otMeshDiagQueryRouterNeighborTableCallback aCallback,
  void *aContext
)

지정된 라우터의 라우터 인접 항목 테이블에 대한 쿼리를 시작합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스입니다.
[in] aRloc16
쿼리할 라우터의 RLOC16입니다.
[in] aCallback
쿼리된 테이블을 보고하는 콜백입니다.
[in] aContext
aCallback에 전달할 컨텍스트입니다.
반환 값
OT_ERROR_NONE
쿼리가 시작되었습니다.
OT_ERROR_BUSY
이전 검색 또는 쿼리 요청이 아직 진행 중입니다.
OT_ERROR_INVALID_ARGS
aRloc16은(는) 유효한 라우터 RLOC16이 아닙니다.
OT_ERROR_INVALID_STATE
기기가 연결되지 않았습니다.
OT_ERROR_NO_BUFS
쿼리 메시지를 전송할 버퍼를 할당할 수 없습니다.

매크로

OT_MESH_DIAG_VERSION_UNKNOWN

 OT_MESH_DIAG_VERSION_UNKNOWN 0xffff

스레드 버전을 알 수 없음을 지정합니다.

기기가 버전을 제공하지 않는 경우 otMeshDiagRouterInfo에서 mVersion 속성에 사용됩니다. 기기가 1.3.0 (버전 값 4) 이하를 실행 중일 가능성이 높음을 나타냅니다.

자료

OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 알아보거나 문서에 참여하려면 리소스를 참고하세요.