Infrastructure Interface#
This module includes the platform abstraction for the adjacent infrastructure network interface.
Functions#
Tells whether an infra interface has the given IPv6 address assigned.
Sends an ICMPv6 Neighbor Discovery message on given infrastructure interface.
The infra interface driver calls this method to notify OpenThread that an ICMPv6 Neighbor Discovery message is received.
The infra interface driver calls this method to notify OpenThread of the interface state changes.
Send a request to discover the NAT64 prefix on the infrastructure interface with aInfraIfIndex
.
The infra interface driver calls this method to notify OpenThread that the discovery of NAT64 prefix is done.
Function Documentation#
otPlatInfraIfHasAddress#
bool otPlatInfraIfHasAddress (uint32_t aInfraIfIndex, const otIp6Address * aAddress)
Tells whether an infra interface has the given IPv6 address assigned.
[in] | aInfraIfIndex | The index of the infra interface. |
[in] | aAddress | The IPv6 address. |
Returns
TRUE if the infra interface has given IPv6 address assigned, FALSE otherwise.
65
of file include/openthread/platform/infra_if.h
otPlatInfraIfSendIcmp6Nd#
otError otPlatInfraIfSendIcmp6Nd (uint32_t aInfraIfIndex, const otIp6Address * aDestAddress, const uint8_t * aBuffer, uint16_t aBufferLength)
Sends an ICMPv6 Neighbor Discovery message on given infrastructure interface.
[in] | aInfraIfIndex | The index of the infrastructure interface this message is sent to. |
[in] | aDestAddress | The destination address this message is sent to. |
[in] | aBuffer | The ICMPv6 message buffer. The ICMPv6 checksum is left zero and the platform should do the checksum calculate. |
[in] | aBufferLength | The length of the message buffer. |
See RFC 4861: https://tools.ietf.org/html/rfc4861.
Note
Per RFC 4861, the implementation should send the message with IPv6 link-local source address of interface
aInfraIfIndex
and IP Hop Limit 255.
84
of file include/openthread/platform/infra_if.h
otPlatInfraIfRecvIcmp6Nd#
void otPlatInfraIfRecvIcmp6Nd (otInstance * aInstance, uint32_t aInfraIfIndex, const otIp6Address * aSrcAddress, const uint8_t * aBuffer, uint16_t aBufferLength)
The infra interface driver calls this method to notify OpenThread that an ICMPv6 Neighbor Discovery message is received.
[in] | aInstance | The OpenThread instance structure. |
[in] | aInfraIfIndex | The index of the infrastructure interface on which the ICMPv6 message is received. |
[in] | aSrcAddress | The source address this message is received from. |
[in] | aBuffer | The ICMPv6 message buffer. |
[in] | aBufferLength | The length of the ICMPv6 message buffer. |
See RFC 4861: https://tools.ietf.org/html/rfc4861.
Note
Per RFC 4861, the caller should enforce that the source address MUST be a IPv6 link-local address and the IP Hop Limit MUST be 255.
104
of file include/openthread/platform/infra_if.h
otPlatInfraIfStateChanged#
otError otPlatInfraIfStateChanged (otInstance * aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
The infra interface driver calls this method to notify OpenThread of the interface state changes.
[in] | aInstance | The OpenThread instance structure. |
[in] | aInfraIfIndex | The index of the infrastructure interface. |
[in] | aIsRunning | A boolean that indicates whether the infrastructure interface is running. |
It is fine for the platform to call to method even when the running state of the interface hasn't changed. In this case, the Routing Manager state is not affected.
128
of file include/openthread/platform/infra_if.h
otPlatInfraIfDiscoverNat64Prefix#
otError otPlatInfraIfDiscoverNat64Prefix (uint32_t aInfraIfIndex)
Send a request to discover the NAT64 prefix on the infrastructure interface with aInfraIfIndex
.
[in] | aInfraIfIndex | The index of the infrastructure interface to discover the NAT64 prefix. |
OpenThread will call this method periodically to monitor the presence or change of NAT64 prefix.
140
of file include/openthread/platform/infra_if.h
otPlatInfraIfDiscoverNat64PrefixDone#
void otPlatInfraIfDiscoverNat64PrefixDone (otInstance * aInstance, uint32_t aInfraIfIndex, const otIp6Prefix * aIp6Prefix)
The infra interface driver calls this method to notify OpenThread that the discovery of NAT64 prefix is done.
[in] | aInstance | The OpenThread instance structure. |
[in] | aInfraIfIndex | The index of the infrastructure interface on which the NAT64 prefix is discovered. |
[in] | aIp6Prefix | A pointer to NAT64 prefix. |
Is expected to be invoked after calling otPlatInfraIfDiscoverNat64Prefix. If no NAT64 prefix is discovered, aIp6Prefix
shall point to an empty prefix with zero length.
153
of file include/openthread/platform/infra_if.h