[config] mle (#4020)

This commit is contained in:
Jonathan Hui
2019-07-31 14:16:30 -07:00
parent 0baaf1afba
commit 953c9db6b7
27 changed files with 335 additions and 295 deletions
@@ -350,7 +350,7 @@
*
*/
#ifndef NRF_802154_PENDING_SHORT_ADDRESSES
#define NRF_802154_PENDING_SHORT_ADDRESSES OPENTHREAD_CONFIG_MAX_CHILDREN
#define NRF_802154_PENDING_SHORT_ADDRESSES OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
#endif
/**
@@ -360,7 +360,7 @@
*
*/
#ifndef NRF_802154_PENDING_EXTENDED_ADDRESSES
#define NRF_802154_PENDING_EXTENDED_ADDRESSES OPENTHREAD_CONFIG_MAX_CHILDREN
#define NRF_802154_PENDING_EXTENDED_ADDRESSES OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
#endif
/**
@@ -73,13 +73,13 @@
#endif
/**
* @def OPENTHREAD_CONFIG_MAX_CHILDREN
* @def OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
*
* The maximum number of children.
*
*/
#ifndef OPENTHREAD_CONFIG_MAX_CHILDREN
#define OPENTHREAD_CONFIG_MAX_CHILDREN 32
#ifndef OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
#define OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 32
#endif
/**
@@ -93,13 +93,13 @@
#endif
/**
* @def OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD
* @def OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD
*
* The maximum number of supported IPv6 address registrations per child.
*
*/
#ifndef OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD
#define OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD 6
#ifndef OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD
#define OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD 6
#endif
/**
@@ -404,7 +404,7 @@
*
*/
#ifndef NRF_802154_PENDING_SHORT_ADDRESSES
#define NRF_802154_PENDING_SHORT_ADDRESSES OPENTHREAD_CONFIG_MAX_CHILDREN
#define NRF_802154_PENDING_SHORT_ADDRESSES OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
#endif
/**
@@ -414,7 +414,7 @@
*
*/
#ifndef NRF_802154_PENDING_EXTENDED_ADDRESSES
#define NRF_802154_PENDING_EXTENDED_ADDRESSES OPENTHREAD_CONFIG_MAX_CHILDREN
#define NRF_802154_PENDING_EXTENDED_ADDRESSES OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
#endif
/**
+1 -1
View File
@@ -86,7 +86,7 @@ enum
enum
{
POSIX_RECEIVE_SENSITIVITY = -100, // dBm
POSIX_MAX_SRC_MATCH_ENTRIES = OPENTHREAD_CONFIG_MAX_CHILDREN,
POSIX_MAX_SRC_MATCH_ENTRIES = OPENTHREAD_CONFIG_MLE_MAX_CHILDREN,
POSIX_HIGH_RSSI_SAMPLE = -30, // dBm
POSIX_LOW_RSSI_SAMPLE = -98, // dBm
+2 -2
View File
@@ -114,7 +114,7 @@ uint8_t otThreadGetMaxAllowedChildren(otInstance *aInstance);
* @param[in] aMaxChildren The maximum allowed children.
*
* @retval OT_ERROR_NONE Successfully set the max.
* @retval OT_ERROR_INVALID_ARGS If @p aMaxChildren is not in the range [1, OPENTHREAD_CONFIG_MAX_CHILDREN].
* @retval OT_ERROR_INVALID_ARGS If @p aMaxChildren is not in the range [1, OPENTHREAD_CONFIG_MLE_MAX_CHILDREN].
* @retval OT_ERROR_INVALID_STATE If Thread isn't stopped.
*
* @sa otThreadGetMaxAllowedChildren
@@ -231,7 +231,7 @@ otError otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
/**
* Set Steering data out of band.
*
* Configuration option `OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB` should be set to enable setting of steering
* Configuration option `OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE` should be set to enable setting of steering
* data out of band. Otherwise calling this function does nothing and it returns `OT_ERROR_DISABLED_FEATURE`
* error.
*
+1
View File
@@ -335,6 +335,7 @@ HEADERS_COMMON = \
config/link_raw.h \
config/logging.h \
config/mac.h \
config/mle.h \
config/openthread-core-config-check.h \
config/openthread-core-default-config.h \
crypto/aes_ccm.hpp \
+1 -1
View File
@@ -328,7 +328,7 @@ otError otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtA
{
otError error;
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
Instance &instance = *static_cast<Instance *>(aInstance);
error = instance.Get<Mle::MleRouter>().SetSteeringData(static_cast<const Mac::ExtAddress *>(aExtAddress));
+243
View File
@@ -0,0 +1,243 @@
/*
* Copyright (c) 2019, The OpenThread Authors.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/**
* @file
* This file includes compile-time configurations for the MLE service.
*
*/
#ifndef CONFIG_MLE_H_
#define CONFIG_MLE_H_
/**
* @def OPENTHREAD_CONFIG_MLE_MAX_ROUTERS
*
* The maximum number of routers in a Thread network.
*
* @note Thread specifies this value to be 32. Changing this value may cause interoperability issues with standard
* Thread 1.1 devices.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_MAX_ROUTERS
#define OPENTHREAD_CONFIG_MLE_MAX_ROUTERS 32
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
*
* The maximum number of children.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
#define OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 10
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT
*
* The default child timeout value (in seconds).
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT
#define OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT 240
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD
*
* The maximum number of supported IPv6 address registrations per child.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD
#define OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD 4
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_IP_ADDRS_TO_REGISTER
*
* The maximum number of IPv6 address registrations for MTD.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_IP_ADDRS_TO_REGISTER
#define OPENTHREAD_CONFIG_MLE_IP_ADDRS_TO_REGISTER (OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD)
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
*
* Enable setting steering data out of band.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
#define OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE 0
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE
*
* Define as 1 to enable attach backoff feature
*
* When this feature is enabled, an exponentially increasing backoff wait time is added between attach attempts.
* If device is sleepy, the radio will be put to sleep during the wait time. This ensures that a battery-powered sleepy
* end-device does not drain its battery by continuously searching for a parent to attach to (when there is no
* router/parent for it to attach).
*
* The backoff time starts from a minimum interval specified by
* `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MINIMUM_INTERVAL`, and every attach attempt the wait time is doubled up to
* `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MAXIMUM_INTERVAL` which specifies the maximum wait time.
*
* Once the wait time reaches the maximum, a random jitter interval is added to it. The maximum value for jitter is
* specified by `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_JITTER_INTERVAL`. The random jitter is selected uniformly within
* range `[-JITTER, +JITTER]`. It is only added when the backoff wait interval is at maximum value.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE
#define OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE 1
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MINIMUM_INTERVAL
*
* Specifies the minimum backoff wait interval (in milliseconds) used by attach backoff feature.
*
* Applicable only if attach backoff feature is enabled (see `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE`).
*
* Please see `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE` description for more details.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MINIMUM_INTERVAL
#define OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MINIMUM_INTERVAL 251
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MAXIMUM_INTERVAL
*
* Specifies the maximum backoff wait interval (in milliseconds) used by attach backoff feature.
*
* Applicable only if attach backoff feature is enabled (see `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE`).
*
* Please see `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE` description for more details.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MAXIMUM_INTERVAL
#define OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MAXIMUM_INTERVAL 1200000 // 1200 seconds = 20 minutes
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_JITTER_INTERVAL
*
* Specifies the maximum jitter interval (in milliseconds) used by attach backoff feature.
*
* Applicable only if attach backoff feature is enabled (see `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE`).
*
* Please see `OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE` description for more details.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_JITTER_INTERVAL
#define OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_JITTER_INTERVAL 2000
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_SEND_LINK_REQUEST_ON_ADV_TIMEOUT
*
* Define to 1 to send an MLE Link Request when MAX_NEIGHBOR_AGE is reached for a neighboring router.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_SEND_LINK_REQUEST_ON_ADV_TIMEOUT
#define OPENTHREAD_CONFIG_MLE_SEND_LINK_REQUEST_ON_ADV_TIMEOUT 0
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN
*
* Specifies the minimum link margin in dBm required before attempting to establish a link with a neighboring router.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN
#define OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN 10
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_PARTITION_MERGE_MARGIN_MIN
*
* Specifies the minimum link margin in dBm required before attempting to merge to a different partition.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_PARTITION_MERGE_MARGIN_MIN
#define OPENTHREAD_CONFIG_MLE_PARTITION_MERGE_MARGIN_MIN 10
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS
*
* Specifies the desired number of router links that a REED / FED attempts to maintain.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS
#define OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS 3
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
*
* Enable experimental mode for 'deep' networks, allowing packet routes up to 32 nodes.
* This mode is incompatible with Thread 1.1.1 and older.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
#define OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE 0
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_SEND_UNICAST_ANNOUNCE_RESPONSE
*
* Define as 1 to enable sending of a unicast MLE Announce message in response to a received Announce message from
* a device.
*
* @note The unicast MLE announce message is sent in addition to (and after) the multicast MLE Announce.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_SEND_UNICAST_ANNOUNCE_RESPONSE
#define OPENTHREAD_CONFIG_MLE_SEND_UNICAST_ANNOUNCE_RESPONSE 1
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
*
* Define as 1 for a child to inform its previous parent when it attaches to a new parent.
*
* If this feature is enabled, when a device attaches to a new parent, it will send an IP message (with empty payload
* and mesh-local IP address as the source address) to its previous parent.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
#define OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH 0
#endif
#endif // CONFIG_MLE_H_
@@ -177,59 +177,6 @@
#define OPENTHREAD_CONFIG_ADDRESS_QUERY_MAX_RETRY_DELAY 28800
#endif
/**
* @def OPENTHREAD_CONFIG_MAX_ROUTERS
*
* The maximum number of routers in a Thread network.
*
* @note Thread specifies this value to be 32. Changing this value may cause interoperability issues with standard
* Thread 1.1 devices.
*
*/
#ifndef OPENTHREAD_CONFIG_MAX_ROUTERS
#define OPENTHREAD_CONFIG_MAX_ROUTERS 32
#endif
/**
* @def OPENTHREAD_CONFIG_MAX_CHILDREN
*
* The maximum number of children.
*
*/
#ifndef OPENTHREAD_CONFIG_MAX_CHILDREN
#define OPENTHREAD_CONFIG_MAX_CHILDREN 10
#endif
/**
* @def OPENTHREAD_CONFIG_DEFAULT_CHILD_TIMEOUT
*
* The default child timeout value (in seconds).
*
*/
#ifndef OPENTHREAD_CONFIG_DEFAULT_CHILD_TIMEOUT
#define OPENTHREAD_CONFIG_DEFAULT_CHILD_TIMEOUT 240
#endif
/**
* @def OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD
*
* The maximum number of supported IPv6 address registrations per child.
*
*/
#ifndef OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD
#define OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD 4
#endif
/**
* @def OPENTHREAD_CONFIG_IP_ADDRS_TO_REGISTER
*
* The maximum number of IPv6 address registrations for MTD.
*
*/
#ifndef OPENTHREAD_CONFIG_IP_ADDRS_TO_REGISTER
#define OPENTHREAD_CONFIG_IP_ADDRS_TO_REGISTER (OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD)
#endif
/**
* @def OPENTHREAD_CONFIG_MAX_SERVICE_ALOCS
*
@@ -494,29 +441,6 @@
#define OPENTHREAD_CONFIG_DTLS_APPLICATION_DATA_MAX_LENGTH 1400
#endif
/**
* @def OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
*
* Enable setting steering data out of band.
*
*/
#ifndef OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#define OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB 0
#endif
/**
* @def OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
*
* Define as 1 for a child to inform its previous parent when it attaches to a new parent.
*
* If this feature is enabled, when a device attaches to a new parent, it will send an IP message (with empty payload
* and mesh-local IP address as the source address) to its previous parent.
*
*/
#ifndef OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#define OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH 0
#endif
/**
* @def OPENTHREAD_CONFIG_ENABLE_PERIODIC_PARENT_SEARCH
*
@@ -575,84 +499,6 @@
#define OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD -65
#endif
/**
* @def OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF
*
* Define as 1 to enable attach backoff feature
*
* When this feature is enabled, an exponentially increasing backoff wait time is added between attach attempts.
* If device is sleepy, the radio will be put to sleep during the wait time. This ensures that a battery-powered sleepy
* end-device does not drain its battery by continuously searching for a parent to attach to (when there is no
* router/parent for it to attach).
*
* The backoff time starts from a minimum interval specified by `OPENTHREAD_CONFIG_ATTACH_BACKOFF_MINIMUM_INTERVAL`,
* and every attach attempt the wait time is doubled up to `OPENTHREAD_CONFIG_ATTACH_BACKOFF_MAXIMUM_INTERVAL` which
* specifies the maximum wait time.
*
* Once the wait time reaches the maximum, a random jitter interval is added to it. The maximum value for jitter is
* specified by `OPENTHREAD_CONFIG_ATTACH_BACKOFF_JITTER_INTERVAL`. The random jitter is selected uniformly within
* range `[-JITTER, +JITTER]`. It is only added when the backoff wait interval is at maximum value.
*
*/
#ifndef OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF
#define OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF 1
#endif
/**
* @def OPENTHREAD_CONFIG_ATTACH_BACKOFF_MINIMUM_INTERVAL
*
* Specifies the minimum backoff wait interval (in milliseconds) used by attach backoff feature.
*
* Applicable only if attach backoff feature is enabled (see `OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF`).
*
* Please see `OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF` description for more details.
*
*/
#ifndef OPENTHREAD_CONFIG_ATTACH_BACKOFF_MINIMUM_INTERVAL
#define OPENTHREAD_CONFIG_ATTACH_BACKOFF_MINIMUM_INTERVAL 251
#endif
/**
* @def OPENTHREAD_CONFIG_ATTACH_BACKOFF_MAXIMUM_INTERVAL
*
* Specifies the maximum backoff wait interval (in milliseconds) used by attach backoff feature.
*
* Applicable only if attach backoff feature is enabled (see `OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF`).
*
* Please see `OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF` description for more details.
*
*/
#ifndef OPENTHREAD_CONFIG_ATTACH_BACKOFF_MAXIMUM_INTERVAL
#define OPENTHREAD_CONFIG_ATTACH_BACKOFF_MAXIMUM_INTERVAL 1200000 // 1200 seconds = 20 minutes
#endif
/**
* @def OPENTHREAD_CONFIG_ATTACH_BACKOFF_JITTER_INTERVAL
*
* Specifies the maximum jitter interval (in milliseconds) used by attach backoff feature.
*
* Applicable only if attach backoff feature is enabled (see `OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF`).
*
* Please see `OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF` description for more details.
*
*/
#ifndef OPENTHREAD_CONFIG_ATTACH_BACKOFF_JITTER_INTERVAL
#define OPENTHREAD_CONFIG_ATTACH_BACKOFF_JITTER_INTERVAL 2000
#endif
/**
* @def OPENTHREAD_CONFIG_SEND_UNICAST_ANNOUNCE_RESPONSE
*
* Define as 1 to enable sending of a unicast MLE Announce message in response to a received Announce message from
* a device.
*
* @note The unicast MLE announce message is sent in addition to (and after) the multicast MLE Announce.
*
*/
#ifndef OPENTHREAD_CONFIG_SEND_UNICAST_ANNOUNCE_RESPONSE
#define OPENTHREAD_CONFIG_SEND_UNICAST_ANNOUNCE_RESPONSE 1
#endif
/**
* @def OPENTHREAD_CONFIG_NCP_ENABLE_PEEK_POKE
*
@@ -704,46 +550,6 @@
#define OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL 0
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_SEND_LINK_REQUEST_ON_ADV_TIMEOUT
*
* Define to 1 to send an MLE Link Request when MAX_NEIGHBOR_AGE is reached for a neighboring router.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_SEND_LINK_REQUEST_ON_ADV_TIMEOUT
#define OPENTHREAD_CONFIG_MLE_SEND_LINK_REQUEST_ON_ADV_TIMEOUT 0
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN
*
* Specifies the minimum link margin in dBm required before attempting to establish a link with a neighboring router.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN
#define OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN 10
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_PARTITION_MERGE_MARGIN_MIN
*
* Specifies the minimum link margin in dBm required before attempting to merge to a different partition.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_PARTITION_MERGE_MARGIN_MIN
#define OPENTHREAD_CONFIG_MLE_PARTITION_MERGE_MARGIN_MIN 10
#endif
/**
* @def OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS
*
* Specifies the desired number of router links that a REED / FED attempts to maintain.
*
*/
#ifndef OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS
#define OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS 3
#endif
/**
* @def OPENTHREAD_CONFIG_ENABLE_DEBUG_UART
*
@@ -814,17 +620,6 @@
#define OPENTHREAD_CONFIG_TIME_SYNC_XTAL_THRESHOLD 300
#endif
/**
* @def OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES
*
* Enable experimental mode for 'deep' networks, allowing packet routes up to 32 nodes.
* This mode is incompatible with Thread 1.1.1 and older.
*
*/
#ifndef OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES
#define OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES 0
#endif
/**
* @def OPENTHREAD_CONFIG_POSIX_SETTINGS_PATH
*
+1
View File
@@ -61,6 +61,7 @@
#include "config/link_raw.h"
#include "config/logging.h"
#include "config/mac.h"
#include "config/mle.h"
#if OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE || OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE || \
OPENTHREAD_CONFIG_COMMISSIONER_ENABLE || OPENTHREAD_CONFIG_JOINER_ENABLE
+1 -1
View File
@@ -294,7 +294,7 @@ public:
private:
enum
{
kMaxChildren = OPENTHREAD_CONFIG_MAX_CHILDREN,
kMaxChildren = OPENTHREAD_CONFIG_MLE_MAX_CHILDREN,
};
static bool MatchesFilter(const Child &aChild, StateFilter aFilter);
+12 -12
View File
@@ -95,7 +95,7 @@ Mle::Mle(Instance &aInstance)
, mDiscoverAnsiIndex(0)
, mDiscoverInProgress(false)
, mDiscoverEnableFiltering(false)
#if OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#if OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
, mPreviousParentRloc(Mac::kShortAddrInvalid)
#endif
#if OPENTHREAD_CONFIG_ENABLE_PERIODIC_PARENT_SEARCH
@@ -416,7 +416,7 @@ otError Mle::Restore(void)
mParent.SetRloc16(GetRloc16(GetRouterId(networkInfo.mRloc16)));
mParent.SetState(Neighbor::kStateRestored);
#if OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#if OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
mPreviousParentRloc = mParent.GetRloc16();
#endif
}
@@ -678,7 +678,7 @@ uint32_t Mle::GetAttachStartDelay(void) const
delay = 1 + Random::NonCrypto::GetUint32InRange(0, kParentRequestRouterTimeout);
ExitNow();
}
#if OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF
#if OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE
else
{
uint16_t counter = mAttachCounter - 1;
@@ -694,7 +694,7 @@ uint32_t Mle::GetAttachStartDelay(void) const
delay = Random::NonCrypto::AddJitter(kAttachBackoffMaxInterval, kAttachBackoffJitter);
}
}
#endif // OPENTHREAD_CONFIG_ENABLE_ATTACH_BACKOFF
#endif // OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE
jitter = Random::NonCrypto::GetUint32InRange(0, kAttachStartJitter);
@@ -773,7 +773,7 @@ void Mle::SetStateChild(uint16_t aRloc16)
UpdateParentSearchState();
#endif
#if OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#if OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
InformPreviousParent();
mPreviousParentRloc = mParent.GetRloc16();
#endif
@@ -1384,7 +1384,7 @@ otError Mle::AppendAddressRegistration(Message &aMessage, AddressRegistrationMod
length += entry.GetLength();
counter++;
// only continue to append if there is available entry.
VerifyOrExit(!done && (counter < OPENTHREAD_CONFIG_IP_ADDRS_TO_REGISTER));
VerifyOrExit(!done && (counter < OPENTHREAD_CONFIG_MLE_IP_ADDRS_TO_REGISTER));
}
// For sleepy end device, register external multicast addresses to the parent for indirect transmission
@@ -1403,7 +1403,7 @@ otError Mle::AppendAddressRegistration(Message &aMessage, AddressRegistrationMod
counter++;
// only continue to append if there is available entry.
VerifyOrExit(counter < OPENTHREAD_CONFIG_IP_ADDRS_TO_REGISTER);
VerifyOrExit(counter < OPENTHREAD_CONFIG_MLE_IP_ADDRS_TO_REGISTER);
}
}
@@ -3727,7 +3727,7 @@ otError Mle::HandleAnnounce(const Message &aMessage, const Ip6::MessageInfo &aMe
{
SendAnnounce(channel, false);
#if OPENTHREAD_CONFIG_SEND_UNICAST_ANNOUNCE_RESPONSE
#if OPENTHREAD_CONFIG_MLE_SEND_UNICAST_ANNOUNCE_RESPONSE
SendAnnounce(channel, false, aMessageInfo.GetPeerAddr());
#endif
}
@@ -3992,7 +3992,7 @@ exit:
return error;
}
#if OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#if OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
otError Mle::InformPreviousParent(void)
{
otError error = OT_ERROR_NONE;
@@ -4028,7 +4028,7 @@ exit:
return error;
}
#endif // OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#endif // OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
#if OPENTHREAD_CONFIG_ENABLE_PERIODIC_PARENT_SEARCH
void Mle::HandleParentSearchTimer(Timer &aTimer)
@@ -4098,7 +4098,7 @@ void Mle::StartParentSearchTimer(void)
void Mle::UpdateParentSearchState(void)
{
#if OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#if OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
// If we are in middle of backoff and backoff was not canceled
// recently and we recently detached from a previous parent,
@@ -4126,7 +4126,7 @@ void Mle::UpdateParentSearchState(void)
}
}
#endif // OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#endif // OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
mParentSearchRecentlyDetached = false;
+5 -5
View File
@@ -1664,9 +1664,9 @@ private:
kParentSearchRssThreadhold = OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD,
// Parameters for "attach backoff" feature (CONFIG_ENABLE_ATTACH_BACKOFF) - Intervals are in milliseconds.
kAttachBackoffMinInterval = OPENTHREAD_CONFIG_ATTACH_BACKOFF_MINIMUM_INTERVAL,
kAttachBackoffMaxInterval = OPENTHREAD_CONFIG_ATTACH_BACKOFF_MAXIMUM_INTERVAL,
kAttachBackoffJitter = OPENTHREAD_CONFIG_ATTACH_BACKOFF_JITTER_INTERVAL,
kAttachBackoffMinInterval = OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MINIMUM_INTERVAL,
kAttachBackoffMaxInterval = OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MAXIMUM_INTERVAL,
kAttachBackoffJitter = OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_JITTER_INTERVAL,
};
enum ParentRequestType
@@ -1737,7 +1737,7 @@ private:
void UpdateServiceAlocs(void);
#endif
#if OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#if OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
otError InformPreviousParent(void);
#endif
@@ -1791,7 +1791,7 @@ private:
bool mDiscoverInProgress;
bool mDiscoverEnableFiltering;
#if OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
#if OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
uint16_t mPreviousParentRloc;
#endif
+18 -18
View File
@@ -46,7 +46,7 @@ namespace Mle {
enum
{
kMaxChildren = OPENTHREAD_CONFIG_MAX_CHILDREN,
kMaxChildren = OPENTHREAD_CONFIG_MLE_MAX_CHILDREN,
kMaxChildKeepAliveAttempts = 4, ///< Maximum keep alive attempts before attempting to reattach to a new Parent
kFailedChildTransmissions = OPENTHREAD_CONFIG_FAILED_CHILD_TRANSMISSIONS, ///< FAILED_CHILD_TRANSMISSIONS
};
@@ -99,7 +99,7 @@ enum
enum
{
kAdvertiseIntervalMin = 1, ///< ADVERTISEMENT_I_MIN (sec)
#if OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES
#if OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
kAdvertiseIntervalMax = 5, ///< ADVERTISEMENT_I_MAX (sec) proposal
#else
kAdvertiseIntervalMax = 32, ///< ADVERTISEMENT_I_MAX (sec)
@@ -108,26 +108,26 @@ enum
kRouterIdReuseDelay = 100, ///< ID_REUSE_DELAY (sec)
kRouterIdSequencePeriod = 10, ///< ID_SEQUENCE_PERIOD (sec)
kMaxNeighborAge = 100, ///< MAX_NEIGHBOR_AGE (sec)
#if OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES
#if OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
kMaxRouteCost = 127, ///< MAX_ROUTE_COST proposal
#else
kMaxRouteCost = 16, ///< MAX_ROUTE_COST
#endif
kMaxRouterId = 62, ///< MAX_ROUTER_ID
kInvalidRouterId = kMaxRouterId + 1, ///< Value indicating incorrect Router Id
kMaxRouters = OPENTHREAD_CONFIG_MAX_ROUTERS, ///< MAX_ROUTERS
kMinDowngradeNeighbors = 7, ///< MIN_DOWNGRADE_NEIGHBORS
kNetworkIdTimeout = 120, ///< NETWORK_ID_TIMEOUT (sec)
kParentRouteToLeaderTimeout = 20, ///< PARENT_ROUTE_TO_LEADER_TIMEOUT (sec)
kRouterSelectionJitter = 120, ///< ROUTER_SELECTION_JITTER (sec)
kRouterDowngradeThreshold = 23, ///< ROUTER_DOWNGRADE_THRESHOLD (routers)
kRouterUpgradeThreshold = 16, ///< ROUTER_UPGRADE_THRESHOLD (routers)
kMaxLeaderToRouterTimeout = 90, ///< INFINITE_COST_TIMEOUT (sec)
kReedAdvertiseInterval = 570, ///< REED_ADVERTISEMENT_INTERVAL (sec)
kReedAdvertiseJitter = 60, ///< REED_ADVERTISEMENT_JITTER (sec)
kLeaderWeight = 64, ///< Default leader weight
kMleEndDeviceTimeout = OPENTHREAD_CONFIG_DEFAULT_CHILD_TIMEOUT, ///< MLE_END_DEVICE_TIMEOUT (sec)
kMeshLocalPrefixContextId = 0, ///< 0 is reserved for Mesh Local Prefix
kMaxRouterId = 62, ///< MAX_ROUTER_ID
kInvalidRouterId = kMaxRouterId + 1, ///< Value indicating incorrect Router Id
kMaxRouters = OPENTHREAD_CONFIG_MLE_MAX_ROUTERS, ///< MAX_ROUTERS
kMinDowngradeNeighbors = 7, ///< MIN_DOWNGRADE_NEIGHBORS
kNetworkIdTimeout = 120, ///< NETWORK_ID_TIMEOUT (sec)
kParentRouteToLeaderTimeout = 20, ///< PARENT_ROUTE_TO_LEADER_TIMEOUT (sec)
kRouterSelectionJitter = 120, ///< ROUTER_SELECTION_JITTER (sec)
kRouterDowngradeThreshold = 23, ///< ROUTER_DOWNGRADE_THRESHOLD (routers)
kRouterUpgradeThreshold = 16, ///< ROUTER_UPGRADE_THRESHOLD (routers)
kMaxLeaderToRouterTimeout = 90, ///< INFINITE_COST_TIMEOUT (sec)
kReedAdvertiseInterval = 570, ///< REED_ADVERTISEMENT_INTERVAL (sec)
kReedAdvertiseJitter = 60, ///< REED_ADVERTISEMENT_JITTER (sec)
kLeaderWeight = 64, ///< Default leader weight
kMleEndDeviceTimeout = OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT, ///< MLE_END_DEVICE_TIMEOUT (sec)
kMeshLocalPrefixContextId = 0, ///< 0 is reserved for Mesh Local Prefix
};
/**
+6 -6
View File
@@ -2580,7 +2580,7 @@ exit:
return;
}
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
otError MleRouter::SetSteeringData(const Mac::ExtAddress *aExtAddress)
{
otError error = OT_ERROR_NONE;
@@ -2615,7 +2615,7 @@ otError MleRouter::SetSteeringData(const Mac::ExtAddress *aExtAddress)
return error;
}
#endif // OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#endif // OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
otError MleRouter::HandleDiscoveryRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
@@ -2651,14 +2651,14 @@ otError MleRouter::HandleDiscoveryRequest(const Message &aMessage, const Ip6::Me
if (discoveryRequest.IsJoiner())
{
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
if (!mSteeringData.IsCleared())
{
break;
}
else // if steering data is not set out of band, fall back to network data
#endif // OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#endif // OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
{
VerifyOrExit(Get<NetworkData::Leader>().IsJoiningEnabled());
}
@@ -2747,7 +2747,7 @@ otError MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, uint1
networkName.SetNetworkName(Get<Mac::Mac>().GetNetworkName());
SuccessOrExit(error = message->AppendTlv(networkName));
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
// If steering data is set out of band, use that value.
// Otherwise use the one from commissioning data.
@@ -2756,7 +2756,7 @@ otError MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, uint1
SuccessOrExit(error = message->AppendTlv(mSteeringData));
}
else
#endif // OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#endif // OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
{
// Steering Data TLV
steeringData = Get<NetworkData::Leader>().GetCommissioningDataSubTlv(MeshCoP::Tlv::kSteeringData);
+4 -4
View File
@@ -539,7 +539,7 @@ public:
otError SendLinkRequest(Neighbor *aNeighbor);
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
/**
* This method sets steering data out of band
*
@@ -552,7 +552,7 @@ public:
*
*/
otError SetSteeringData(const Mac::ExtAddress *aExtAddress);
#endif // OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#endif // OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
/**
* This method gets the assigned parent priority.
@@ -795,9 +795,9 @@ private:
int8_t mParentPriority; ///< The assigned parent priority value, -2 means not assigned.
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
MeshCoP::SteeringDataTlv mSteeringData;
#endif // OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#endif // OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
};
} // namespace Mle
+2 -2
View File
@@ -116,9 +116,9 @@ public:
otError SendChildUpdateRequest(void) { return Mle::SendChildUpdateRequest(); }
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
otError SetSteeringData(const otExtAddress *) { return OT_ERROR_NOT_IMPLEMENTED; }
#endif // OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#endif // OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
otError GetMaxChildTimeout(uint32_t &) { return OT_ERROR_NOT_IMPLEMENTED; }
+3 -3
View File
@@ -488,7 +488,7 @@ private:
uint32_t mFrameCounter;
} OT_TOOL_PACKED_END;
#if !OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES
#if !OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
/**
* This class implements Source Address TLV generation and parsing.
@@ -662,7 +662,7 @@ private:
uint8_t mRouteData[kMaxRouterId + 1];
} OT_TOOL_PACKED_END;
#else // OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES
#else // OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
/**
* This class implements Source Address TLV generation and parsing.
@@ -872,7 +872,7 @@ private:
uint8_t mRouteData[kMaxRouterId + 1 + kMaxRouterId / 2 + 1];
} OT_TOOL_PACKED_END;
#endif // OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES
#endif // OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
/**
* This class implements Source Address TLV generation and parsing.
+4 -4
View File
@@ -618,13 +618,13 @@ public:
#endif // #if OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
private:
#if OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD < 2
#error OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD should be at least set to 2.
#if OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD < 2
#error OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD should be at least set to 2.
#endif
enum
{
kNumIp6Addresses = OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD - 1,
kNumIp6Addresses = OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD - 1,
};
uint8_t mNetworkDataVersion; ///< Current Network Data version
@@ -705,7 +705,7 @@ private:
uint8_t mNextHop; ///< The next hop towards this router
uint8_t mLinkQualityOut : 2; ///< The link quality out for this router
#if OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES
#if OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
uint8_t mCost; ///< The cost to this router via neighbor router
#else
uint8_t mCost : 4; ///< The cost to this router via neighbor router
+3 -3
View File
@@ -275,7 +275,7 @@ NcpBase::NcpBase(Instance *aInstance)
otIcmp6SetEchoMode(mInstance, OT_ICMP6_ECHO_HANDLER_DISABLED);
#if OPENTHREAD_FTD
otThreadRegisterNeighborTableCallback(mInstance, &NcpBase::HandleNeighborTableChanged);
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
memset(&mSteeringDataAddress, 0, sizeof(mSteeringDataAddress));
#endif
otThreadRegisterParentResponseCallback(mInstance, &NcpBase::HandleParentResponseInfo, static_cast<void *>(this));
@@ -1785,7 +1785,7 @@ template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_CAPS>(void)
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_ERROR_RATE_TRACKING));
#endif
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_OOB_STEERING_DATA));
#endif
@@ -1797,7 +1797,7 @@ template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_CAPS>(void)
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_PEEK_POKE));
#endif
#if OPENTHREAD_CONFIG_MAX_CHILDREN > 0
#if OPENTHREAD_CONFIG_MLE_MAX_CHILDREN > 0
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_ROLE_ROUTER));
#endif
+1 -1
View File
@@ -558,7 +558,7 @@ protected:
#endif
#if OPENTHREAD_FTD
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
otExtAddress mSteeringDataAddress;
#endif
uint8_t mPreferredRouteId;
+2 -2
View File
@@ -603,7 +603,7 @@ NcpBase::PropertyHandler NcpBase::FindGetPropertyHandler(spinel_prop_key_t aKey)
handler = &NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_COMMISSIONER_ENABLED>;
break;
#endif
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
case SPINEL_PROP_THREAD_STEERING_DATA:
handler = &NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_STEERING_DATA>;
break;
@@ -913,7 +913,7 @@ NcpBase::PropertyHandler NcpBase::FindSetPropertyHandler(spinel_prop_key_t aKey)
case SPINEL_PROP_THREAD_PREFERRED_ROUTER_ID:
handler = &NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_PREFERRED_ROUTER_ID>;
break;
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
case SPINEL_PROP_THREAD_STEERING_DATA:
handler = &NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_STEERING_DATA>;
break;
+2 -2
View File
@@ -820,7 +820,7 @@ exit:
return error;
}
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_STEERING_DATA>(void)
{
@@ -838,7 +838,7 @@ template <> otError NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_STEERING_DATA>
exit:
return error;
}
#endif // #if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
#endif // #if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_PREFERRED_ROUTER_ID>(void)
{
+10 -10
View File
@@ -107,28 +107,28 @@
#define OPENTHREAD_CONFIG_ADDRESS_QUERY_MAX_RETRY_DELAY 120
/**
* @def OPENTHREAD_CONFIG_MAX_CHILDREN
* @def OPENTHREAD_CONFIG_MLE_MAX_CHILDREN
*
* The maximum number of children.
*
*/
#define OPENTHREAD_CONFIG_MAX_CHILDREN 32
#define OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 32
/**
* @def OPENTHREAD_CONFIG_DEFAULT_CHILD_TIMEOUT
* @def OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT
*
* The default child timeout value (in seconds).
*
*/
#define OPENTHREAD_CONFIG_DEFAULT_CHILD_TIMEOUT 120
#define OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT 120
/**
* @def OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD
* @def OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD
*
* The maximum number of supported IPv6 address registrations per child.
*
*/
#define OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD 10
#define OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD 10
/**
* @def OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
@@ -227,15 +227,15 @@
#define OPENTHREAD_CONFIG_NCP_TX_BUFFER_SIZE 4096
/**
* @def OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
* @def OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
*
* Enable setting steering data out of band.
*
*/
#define OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB 1
#define OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE 1
/**
* @def OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH
* @def OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
*
* Define as 1 for a child to inform its previous parent when it attaches to a new parent.
*
@@ -243,7 +243,7 @@
* and mesh-local IP address as the source address) to its previous parent.
*
*/
#define OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH 1
#define OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH 1
/**
* @def OPENTHREAD_CONFIG_MLE_SEND_LINK_REQUEST_ON_ADV_TIMEOUT
@@ -53,7 +53,7 @@ from wpan import verify
#
# This test verifies the behavior of the child and parents under this feature.
#
# Note that `OPENTHREAD_CONFIG_INFORM_PREVIOUS_PARENT_ON_REATTACH` is enabled in
# Note that `OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH` is enabled in
# `openthread-core-toranj.config.h` header file.
#
+1 -1
View File
@@ -41,7 +41,7 @@ static ot::Instance *sInstance;
enum
{
kMaxChildIp6Addresses = OPENTHREAD_CONFIG_IP_ADDRS_PER_CHILD,
kMaxChildIp6Addresses = OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD,
};
void VerifyChildIp6Addresses(const Child &aChild, uint8_t aAddressListLength, const Ip6::Address aAddressList[])
+1 -1
View File
@@ -41,7 +41,7 @@ static ot::Instance *sInstance;
enum
{
kMaxChildren = OPENTHREAD_CONFIG_MAX_CHILDREN,
kMaxChildren = OPENTHREAD_CONFIG_MLE_MAX_CHILDREN,
};
struct TestChild