Make client responsible for configuring IPv6 addresses. (#410)

* OpenThread no longer automatically configures IPv6 addresses based on network data.
* Added IPv6 address configuration to CLI to support certification tests.
* Added notification to indicate when the Thread Network Data is updated.
* Added otIp6PrefixMatch API to compute prefix match.
This commit is contained in:
Jonathan Hui
2016-08-17 16:11:46 -07:00
committed by GitHub
parent 94f1da1ada
commit 139e85f781
7 changed files with 145 additions and 107 deletions
+10 -9
View File
@@ -343,18 +343,19 @@ typedef struct otLinkModeConfig
*/
enum
{
OT_IP6_ADDRESS_ADDED = 1 << 0, ///< IPv6 address was added
OT_IP6_ADDRESS_REMOVED = 1 << 1, ///< IPv6 address was removed
OT_IP6_ADDRESS_ADDED = 1 << 0, ///< IPv6 address was added
OT_IP6_ADDRESS_REMOVED = 1 << 1, ///< IPv6 address was removed
OT_NET_ROLE = 1 << 3, ///< Device role (disabled, detached, child, router, leader) changed
OT_NET_PARTITION_ID = 1 << 4, ///< Partition ID changed
OT_NET_KEY_SEQUENCE = 1 << 5, ///< Thread Key Sequence changed
OT_NET_ROLE = 1 << 3, ///< Device role (disabled, detached, child, router, leader) changed
OT_NET_PARTITION_ID = 1 << 4, ///< Partition ID changed
OT_NET_KEY_SEQUENCE = 1 << 5, ///< Thread Key Sequence changed
OT_THREAD_CHILD_ADDED = 1 << 6, ///< Child was added
OT_THREAD_CHILD_REMOVED = 1 << 7, ///< Child was removed
OT_THREAD_CHILD_ADDED = 1 << 6, ///< Child was added
OT_THREAD_CHILD_REMOVED = 1 << 7, ///< Child was removed
OT_THREAD_NETDATA_UPDATED = 1 << 8, ///< Thread Network Data updated
OT_IP6_LL_ADDR_CHANGED = 1 << 8, ///< The link-local address has changed
OT_IP6_ML_ADDR_CHANGED = 1 << 9, ///< The mesh-local address has changed
OT_IP6_LL_ADDR_CHANGED = 1 << 9, ///< The link-local address has changed
OT_IP6_ML_ADDR_CHANGED = 1 << 10, ///< The mesh-local address has changed
};
/**
+11
View File
@@ -1657,6 +1657,17 @@ bool otIsIcmpEchoEnabled(void);
*/
void otSetIcmpEchoEnabled(bool aEnabled);
/**
* This function returns the prefix match length (bits) for two IPv6 addresses.
*
* @param[in] aFirst A pointer to the first IPv6 address.
* @param[in] aSecond A pointer to the second IPv6 address.
*
* @returns The prefix match length in bits.
*
*/
uint8_t otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond);
/**
* @}
*