인프라 인터페이스

이 모듈에는 인접한 인프라 네트워크 인터페이스를 위한 플랫폼 추상화가 포함됩니다.

요약

함수

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
aInfraIfIndex를 사용하여 인프라 인터페이스에서 NAT64 프리픽스 탐색 요청을 보냅니다.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
인프라 인터페이스 드라이버는 이 메서드를 호출하여 NAT64 프리픽스 검색이 완료되었음을 OpenThread에 알립니다.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
인프라 인터페이스에 지정된 IPv6 주소가 할당되었는지 여부를 알려줍니다.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
인프라 인터페이스 드라이버는 이 메서드를 호출하여 ICMPv6 Neighbor Discovery 메시지가 수신되었음을 OpenThread에 알립니다.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
지정된 인프라 인터페이스에서 ICMPv6 Neighbor Discovery 메시지를 보냅니다.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
인프라 인터페이스 드라이버는 이 메서드를 호출하여 인터페이스 상태 변경을 OpenThread에 알립니다.

함수

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

aInfraIfIndex를 사용하여 인프라 인터페이스에서 NAT64 프리픽스 탐색 요청을 보냅니다.

OpenThread는 이 메서드를 주기적으로 호출하여 NAT64 접두사의 존재나 변경을 모니터링합니다.

세부정보
매개변수
[in] aInfraIfIndex
NAT64 프리픽스를 검색하기 위한 인프라 인터페이스의 색인입니다.
반환 값
OT_ERROR_NONE
NAT64 프리픽스 검색을 성공적으로 요청합니다.
OT_ERROR_FAILED
NAT64 프리픽스 검색을 요청할 수 없습니다.

otPlatInfraIfDiscoverNat64PrefixDone

void otPlatInfraIfDiscoverNat64PrefixDone(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Prefix *aIp6Prefix
)

인프라 인터페이스 드라이버는 이 메서드를 호출하여 NAT64 프리픽스 검색이 완료되었음을 OpenThread에 알립니다.

otPlatInfraIfDiscoverNat64Prefix를 호출한 후에 호출될 것으로 예상됩니다. NAT64 프리픽스가 검색되지 않으면 aIp6Prefix은 길이가 0인 빈 프리픽스를 가리켜야 합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aInfraIfIndex
NAT64 프리픽스가 발견된 인프라 인터페이스의 색인입니다.
[in] aIp6Prefix
NAT64 프리픽스를 가리키는 포인터입니다.

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

인프라 인터페이스에 지정된 IPv6 주소가 할당되었는지 여부를 알려줍니다.

세부정보
매개변수
[in] aInfraIfIndex
인프라 인터페이스의 색인입니다.
[in] aAddress
IPv6 주소입니다.
반환
인프라 인터페이스에서 IPv6 주소가 할당된 경우 TRUE, 그렇지 않은 경우 FALSE입니다.

otPlatInfraIfRecvIcmp6Nd

void otPlatInfraIfRecvIcmp6Nd(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Address *aSrcAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

인프라 인터페이스 드라이버는 이 메서드를 호출하여 ICMPv6 Neighbor Discovery 메시지가 수신되었음을 OpenThread에 알립니다.

RFC 4861: https://tools.ietf.org/html/rfc4861을 참고하세요.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aInfraIfIndex
ICMPv6 메시지가 수신된 인프라 인터페이스의 색인입니다.
[in] aSrcAddress
메일이 수신된 소스 주소입니다.
[in] aBuffer
ICMPv6 메시지 버퍼.
[in] aBufferLength
ICMPv6 메시지 버퍼의 길이입니다.

otPlatInfraIfSendIcmp6Nd

otError otPlatInfraIfSendIcmp6Nd(
  uint32_t aInfraIfIndex,
  const otIp6Address *aDestAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

지정된 인프라 인터페이스에서 ICMPv6 Neighbor Discovery 메시지를 보냅니다.

RFC 4861: https://tools.ietf.org/html/rfc4861을 참고하세요.

세부정보
매개변수
[in] aInfraIfIndex
이 메시지가 전송된 인프라 인터페이스의 색인입니다.
[in] aDestAddress
메시지가 전송되는 대상 주소입니다.
[in] aBuffer
ICMPv6 메시지 버퍼. ICMPv6 체크섬은 0으로 유지되며 플랫폼은 체크섬 계산을 실행해야 합니다.
[in] aBufferLength
메시지 버퍼의 길이입니다.
반환 값
OT_ERROR_NONE
ICMPv6 메시지를 보냈습니다.
OT_ERROR_FAILED
ICMPv6 메시지를 전송할 수 없습니다.

otPlatInfraIfStateChanged

otError otPlatInfraIfStateChanged(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aIsRunning
)

인프라 인터페이스 드라이버는 이 메서드를 호출하여 인터페이스 상태 변경을 OpenThread에 알립니다.

인터페이스의 실행 상태가 변경되지 않았더라도 플랫폼에서 메서드를 호출해도 괜찮습니다. 이 경우 라우팅 관리자 상태는 영향을 받지 않습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aInfraIfIndex
인프라 인터페이스의 색인입니다.
[in] aIsRunning
인프라 인터페이스가 실행 중인지 여부를 나타내는 불리언입니다.
반환 값
OT_ERROR_NONE
인프라 인터페이스 상태를 업데이트했습니다.
OT_ERROR_INVALID_STATE
라우팅 관리자가 초기화되지 않았습니다.
OT_ERROR_INVALID_ARGS
aInfraIfIndex는 라우팅 관리자가 초기화되는 인프라 인터페이스와 일치하지 않습니다.

자료

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