This module includes functions that control IPv6 communication.
More...
|
OTAPI ThreadError OTCALL | otIp6SetEnabled (otInstance *aInstance, bool aEnabled) |
|
OTAPI bool OTCALL | otIp6IsEnabled (otInstance *aInstance) |
|
OTAPI ThreadError OTCALL | otIp6AddUnicastAddress (otInstance *aInstance, const otNetifAddress *aAddress) |
|
OTAPI ThreadError OTCALL | otIp6RemoveUnicastAddress (otInstance *aInstance, const otIp6Address *aAddress) |
|
OTAPI const otNetifAddress *OTCALL | otIp6GetUnicastAddresses (otInstance *aInstance) |
|
ThreadError | otIp6SubscribeMulticastAddress (otInstance *aInstance, const otIp6Address *aAddress) |
|
ThreadError | otIp6UnsubscribeMulticastAddress (otInstance *aInstance, const otIp6Address *aAddress) |
|
const otNetifMulticastAddress * | otIp6GetMulticastAddresses (otInstance *aInstance) |
|
bool | otIp6IsMulticastPromiscuousEnabled (otInstance *aInstance) |
|
void | otIp6SetMulticastPromiscuousEnabled (otInstance *aInstance, bool aEnabled) |
|
void | otIp6SlaacUpdate (otInstance *aInstance, otNetifAddress *aAddresses, uint32_t aNumAddresses, otIp6SlaacIidCreate aIidCreate, void *aContext) |
|
ThreadError | otIp6CreateRandomIid (otInstance *aInstance, otNetifAddress *aAddresses, void *aContext) |
|
ThreadError | otIp6CreateMacIid (otInstance *aInstance, otNetifAddress *aAddresses, void *aContext) |
|
ThreadError | otIp6CreateSemanticallyOpaqueIid (otInstance *aInstance, otNetifAddress *aAddresses, void *aContext) |
|
otMessage * | otIp6NewMessage (otInstance *aInstance, bool aLinkSecurityEnabled) |
|
void | otIp6SetReceiveCallback (otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext) |
|
bool | otIp6IsReceiveFilterEnabled (otInstance *aInstance) |
|
void | otIp6SetReceiveFilterEnabled (otInstance *aInstance, bool aEnabled) |
|
ThreadError | otIp6Send (otInstance *aInstance, otMessage *aMessage) |
|
ThreadError | otIp6AddUnsecurePort (otInstance *aInstance, uint16_t aPort) |
|
ThreadError | otIp6RemoveUnsecurePort (otInstance *aInstance, uint16_t aPort) |
|
const uint16_t * | otIp6GetUnsecurePorts (otInstance *aInstance, uint8_t *aNumEntries) |
|
OTAPI bool OTCALL | otIp6IsAddressEqual (const otIp6Address *a, const otIp6Address *b) |
|
OTAPI ThreadError OTCALL | otIp6AddressFromString (const char *aString, otIp6Address *aAddress) |
|
OTAPI uint8_t OTCALL | otIp6PrefixMatch (const otIp6Address *aFirst, const otIp6Address *aSecond) |
|
This module includes functions that control IPv6 communication.
typedef void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) |
This function pointer is called when an IPv6 datagram is received.
- Parameters
-
[in] | aMessage | A pointer to the message buffer containing the received IPv6 datagram. |
[in] | aContext | A pointer to application-specific context. |
typedef ThreadError(* otIp6SlaacIidCreate)(otInstance *aInstance, otNetifAddress *aAddress, void *aContext) |
This function pointer is called to create IPv6 IID during SLAAC procedure.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in,out] | aAddress | A pointer to structure containing IPv6 address for which IID is being created. |
[in,out] | aContext | A pointer to creator-specific context. |
- Return values
-
kThreadError_None | Created valid IID for given IPv6 address. |
kThreadError_Ipv6AddressCreationFailure | Creation of valid IID for given IPv6 address failed. |
OTAPI ThreadError OTCALL otIp6AddressFromString |
( |
const char * |
aString, |
|
|
otIp6Address * |
aAddress |
|
) |
| |
Convert a human-readable IPv6 address string into a binary representation.
- Parameters
-
[in] | aString | A pointer to a NULL-terminated string. |
[out] | aAddress | A pointer to an IPv6 address. |
- Return values
-
kThreadErrorNone | Successfully parsed the string. |
kThreadErrorInvalidArg | Failed to parse the string. |
OTAPI ThreadError OTCALL otIp6AddUnicastAddress |
( |
otInstance * |
aInstance, |
|
|
const otNetifAddress * |
aAddress |
|
) |
| |
Add a Network Interface Address to the Thread interface.
The passed in instance aAddress
will be copied by the Thread interface. The Thread interface only supports a fixed number of externally added unicast addresses. See OPENTHREAD_CONFIG_MAX_EXT_IP_ADDRS.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aAddress | A pointer to a Network Interface Address. |
- Return values
-
kThreadErrorNone | Successfully added (or updated) the Network Interface Address. |
kThreadError_InvalidArgs | The IP Address indicated by aAddress is an internal address. |
kThreadError_NoBufs | The Network Interface is already storing the maximum allowed external addresses. |
ThreadError otIp6AddUnsecurePort |
( |
otInstance * |
aInstance, |
|
|
uint16_t |
aPort |
|
) |
| |
This function adds a port to the allowed unsecured port list.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aPort | The port value. |
- Return values
-
kThreadError_None | The port was successfully added to the allowed unsecure port list. |
kThreadError_NoBufs | The unsecure port list is full. |
ThreadError otIp6CreateMacIid |
( |
otInstance * |
aInstance, |
|
|
otNetifAddress * |
aAddresses, |
|
|
void * |
aContext |
|
) |
| |
Create IID for given IPv6 address using extended MAC address.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in,out] | aAddresses | A pointer to structure containing IPv6 address for which IID is being created. |
[in] | aContext | A pointer to unused data. |
- Return values
-
kThreadError_None | Created valid IID for given IPv6 address. |
ThreadError otIp6CreateRandomIid |
( |
otInstance * |
aInstance, |
|
|
otNetifAddress * |
aAddresses, |
|
|
void * |
aContext |
|
) |
| |
Create random IID for given IPv6 address.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in,out] | aAddresses | A pointer to structure containing IPv6 address for which IID is being created. |
[in] | aContext | A pointer to unused data. |
- Return values
-
kThreadError_None | Created valid IID for given IPv6 address. |
ThreadError otIp6CreateSemanticallyOpaqueIid |
( |
otInstance * |
aInstance, |
|
|
otNetifAddress * |
aAddresses, |
|
|
void * |
aContext |
|
) |
| |
Create semantically opaque IID for given IPv6 address.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in,out] | aAddresses | A pointer to structure containing IPv6 address for which IID is being created. |
[in,out] | aContext | A pointer to a otSemanticallyOpaqueIidGeneratorData structure. |
- Return values
-
kThreadError_None | Created valid IID for given IPv6 address. |
kThreadError_Ipv6AddressCreationFailure | Could not create valid IID for given IPv6 address. |
Get the list of IPv6 multicast addresses subscribed to the Thread interface.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- A pointer to the first Network Interface Multicast Address.
OTAPI const otNetifAddress* OTCALL otIp6GetUnicastAddresses |
( |
otInstance * |
aInstance | ) |
|
Get the list of IPv6 addresses assigned to the Thread interface.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- A pointer to the first Network Interface Address.
const uint16_t* otIp6GetUnsecurePorts |
( |
otInstance * |
aInstance, |
|
|
uint8_t * |
aNumEntries |
|
) |
| |
This function returns a pointer to the unsecure port list.
- Note
- Port value 0 is used to indicate an invalid entry.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[out] | aNumEntries | The number of entries in the list. |
- Returns
- A pointer to the unsecure port list.
Test if two IPv6 addresses are the same.
- Parameters
-
[in] | a | A pointer to the first IPv6 address to compare. |
[in] | b | A pointer to the second IPv6 address to compare. |
- Return values
-
TRUE | The two IPv6 addresses are the same. |
FALSE | The two IPv6 addresses are not the same. |
OTAPI bool OTCALL otIp6IsEnabled |
( |
otInstance * |
aInstance | ) |
|
This function indicates whether or not the IPv6 interface is up.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Return values
-
TRUE | The IPv6 interface is enabled. |
FALSE | The IPv6 interface is disabled. |
bool otIp6IsMulticastPromiscuousEnabled |
( |
otInstance * |
aInstance | ) |
|
Check if multicast promiscuous mode is enabled on the Thread interface.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- See Also
- otIp6SetMulticastPromiscuousEnabled
bool otIp6IsReceiveFilterEnabled |
( |
otInstance * |
aInstance | ) |
|
otMessage* otIp6NewMessage |
( |
otInstance * |
aInstance, |
|
|
bool |
aLinkSecurityEnabled |
|
) |
| |
Allocate a new message buffer for sending an IPv6 message.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aLinkSecurityEnabled | TRUE if the message should be secured at Layer 2 |
- Returns
- A pointer to the message buffer or NULL if no message buffers are available.
- See Also
- otFreeMessage
This function returns the prefix match length (bits) for two IPv6 addresses.
- Parameters
-
[in] | aFirst | A pointer to the first IPv6 address. |
[in] | aSecond | A pointer to the second IPv6 address. |
- Returns
- The prefix match length in bits.
OTAPI ThreadError OTCALL otIp6RemoveUnicastAddress |
( |
otInstance * |
aInstance, |
|
|
const otIp6Address * |
aAddress |
|
) |
| |
Remove a Network Interface Address from the Thread interface.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aAddress | A pointer to an IP Address. |
- Return values
-
kThreadErrorNone | Successfully removed the Network Interface Address. |
kThreadError_InvalidArgs | The IP Address indicated by aAddress is an internal address. |
kThreadError_NotFound | The IP Address indicated by aAddress was not found. |
ThreadError otIp6RemoveUnsecurePort |
( |
otInstance * |
aInstance, |
|
|
uint16_t |
aPort |
|
) |
| |
This function removes a port from the allowed unsecure port list.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aPort | The port value. |
- Return values
-
kThreadError_None | The port was successfully removed from the allowed unsecure port list. |
kThreadError_NotFound | The port was not found in the unsecure port list. |
ThreadError otIp6Send |
( |
otInstance * |
aInstance, |
|
|
otMessage * |
aMessage |
|
) |
| |
This function sends an IPv6 datagram via the Thread interface.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aMessage | A pointer to the message buffer containing the IPv6 datagram. |
OTAPI ThreadError OTCALL otIp6SetEnabled |
( |
otInstance * |
aInstance, |
|
|
bool |
aEnabled |
|
) |
| |
This function brings up the IPv6 interface.
Call this function to enable/disable IPv6 communication.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aEnabled | TRUE to enable IPv6, FALSE otherwise. |
- Return values
-
kThreadError_None | Successfully enabled the IPv6 interface, or the interface was already enabled. |
void otIp6SetMulticastPromiscuousEnabled |
( |
otInstance * |
aInstance, |
|
|
bool |
aEnabled |
|
) |
| |
Enable multicast promiscuous mode on the Thread interface.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aEnabled | TRUE to enable Multicast Promiscuous mode, FALSE otherwise. |
- See Also
- otIp6IsMulticastPromiscuousEnabled
void otIp6SetReceiveCallback |
( |
otInstance * |
aInstance, |
|
|
otIp6ReceiveCallback |
aCallback, |
|
|
void * |
aCallbackContext |
|
) |
| |
This function registers a callback to provide received IPv6 datagrams.
By default, this callback does not pass Thread control traffic. See otIp6SetReceiveFilterEnabled() to change the Thread control traffic filter setting.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aCallback | A pointer to a function that is called when an IPv6 datagram is received or NULL to disable the callback. |
[in] | aCallbackContext | A pointer to application-specific context. |
- See Also
- otIp6IsReceiveFilterEnabled
-
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled |
( |
otInstance * |
aInstance, |
|
|
bool |
aEnabled |
|
) |
| |
This function sets whether or not Thread control traffic is filtered out when delivering IPv6 datagrams via the callback specified in otIp6SetReceiveCallback().
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aEnabled | TRUE if Thread control traffic is filtered out, FALSE otherwise. |
- See Also
- otIp6SetReceiveCallback
-
otIsReceiveIp6FilterEnabled
Update all automatically created IPv6 addresses for prefixes from current Network Data with SLAAC procedure.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in,out] | aAddresses | A pointer to an array of automatically created IPv6 addresses. |
[in] | aNumAddresses | The number of slots in aAddresses array. |
[in] | aIidCreate | A pointer to a function that is called to create IPv6 IIDs. |
[in] | aContext | A pointer to data passed to aIidCreate function. |
ThreadError otIp6SubscribeMulticastAddress |
( |
otInstance * |
aInstance, |
|
|
const otIp6Address * |
aAddress |
|
) |
| |
Subscribe the Thread interface to a Network Interface Multicast Address.
The passed in instance aAddress
will be copied by the Thread interface. The Thread interface only supports a fixed number of externally added multicast addresses. See OPENTHREAD_CONFIG_MAX_EXT_MULTICAST_IP_ADDRS.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aAddress | A pointer to an IP Address. |
- Return values
-
kThreadErrorNone | Successfully subscribed to the Network Interface Multicast Address. |
kThreadError_InvalidArgs | The IP Address indicated by aAddress is invalid address. |
kThreadError_NoBufs | The Network Interface is already storing the maximum allowed external multicast addresses. |
ThreadError otIp6UnsubscribeMulticastAddress |
( |
otInstance * |
aInstance, |
|
|
const otIp6Address * |
aAddress |
|
) |
| |
Unsubscribe the Thread interface to a Network Interface Multicast Address.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aAddress | A pointer to an IP Address. |
- Return values
-
kThreadErrorNone | Successfully unsubscribed to the Network Interface Multicast Address. |
kThreadError_InvalidArgs | The IP Address indicated by aAddress is an internal address. |
kThreadError_NotFound | The IP Address indicated by aAddress was not found. |