[config] joiner (#4020)

This commit is contained in:
Jonathan Hui
2019-07-31 14:16:30 -07:00
parent 4a475d5673
commit 31ffd1645e
28 changed files with 105 additions and 83 deletions
+2 -3
View File
@@ -67,7 +67,8 @@ python --version || die
-DOPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE=1 \
-DOPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE=1 \
-DOPENTHREAD_CONFIG_DIAG_ENABLE=1 \
-DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1"
-DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1 \
-DOPENTHREAD_CONFIG_JOINER_ENABLE=1"
scan-build ./configure \
--enable-builtin-mbedtls=no \
@@ -77,7 +78,6 @@ python --version || die
--enable-executable=no \
--enable-ftd \
--enable-jam-detection \
--enable-joiner \
--enable-legacy \
--enable-mac-filter \
--enable-mtd \
@@ -102,7 +102,6 @@ python --version || die
--enable-executable=no \
--enable-ftd \
--enable-jam-detection \
--enable-joiner \
--enable-legacy \
--enable-mac-filter \
--enable-mtd \
-1
View File
@@ -35,7 +35,6 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-cert-log \
--enable-cli \
--enable-ftd \
--enable-joiner \
--enable-mac-filter \
--enable-mtd \
--enable-ncp \
-33
View File
@@ -897,38 +897,6 @@ AC_SUBST(OPENTHREAD_ENABLE_PLATFORM_NETIF)
AM_CONDITIONAL([OPENTHREAD_ENABLE_PLATFORM_NETIF], [test "${enable_platform_netif}" = 'yes'])
AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_PLATFORM_NETIF], [${OPENTHREAD_ENABLE_PLATFORM_NETIF}], [Define to 1 to enable platform Netif.])
#
# Thread Joiner
#
AC_ARG_ENABLE(joiner,
[AS_HELP_STRING([--enable-joiner],[Enable joiner support @<:@default=no@:>@.])],
[
case "${enableval}" in
no|yes)
enable_joiner=${enableval}
;;
*)
AC_MSG_ERROR([Invalid value ${enable_joiner} for --enable-joiner])
;;
esac
],
[enable_joiner=no])
if test "$enable_joiner" = "yes"; then
OPENTHREAD_ENABLE_JOINER=1
else
OPENTHREAD_ENABLE_JOINER=0
fi
AC_MSG_CHECKING([whether to enable the joiner feature])
AC_MSG_RESULT(${enable_joiner})
AC_SUBST(OPENTHREAD_ENABLE_JOINER)
AM_CONDITIONAL([OPENTHREAD_ENABLE_JOINER], [test "${enable_joiner}" = "yes"])
AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_JOINER],[${OPENTHREAD_ENABLE_JOINER}],[Define to 1 to enable the joiner role.])
#
# Jam Detection
#
@@ -1660,7 +1628,6 @@ AC_MSG_NOTICE([
OpenThread MTD Network Diagnostic support : ${enable_mtd_network_diagnostic}
OpenThread builtin mbedtls support : ${enable_builtin_mbedtls}
OpenThread UDP forward support : ${enable_udp_forward}
OpenThread Joiner support : ${enable_joiner}
OpenThread Jam Detection support : ${enable_jam_detection}
OpenThread MAC Filter support : ${enable_mac_filter}
OpenThread Legacy network support : ${enable_legacy}
+1 -1
View File
@@ -135,7 +135,7 @@ configure_OPTIONS += --enable-jam-detection
endif
ifeq ($(JOINER),1)
configure_OPTIONS += --enable-joiner
COMMONCFLAGS += -DOPENTHREAD_CONFIG_JOINER_ENABLE=1
endif
ifeq ($(LEGACY),1)
@@ -233,7 +233,7 @@
* context used by Header IE related features.
*
*/
#if OPENTHREAD_CONFIG_COMMISSIONER_ENABLE || OPENTHREAD_ENABLE_JOINER || OPENTHREAD_CONFIG_HEADER_IE_SUPPORT
#if OPENTHREAD_CONFIG_COMMISSIONER_ENABLE || OPENTHREAD_CONFIG_JOINER_ENABLE || OPENTHREAD_CONFIG_HEADER_IE_SUPPORT
#define NRF_MBEDTLS_AES_ALT_INTERRUPT_CONTEXT 1
#else
#define NRF_MBEDTLS_AES_ALT_INTERRUPT_CONTEXT 0
+1 -1
View File
@@ -48,7 +48,7 @@
#define OPENTHREAD_ENABLE_JAM_DETECTION 1
/* Define to 1 to enable the joiner role. */
#define OPENTHREAD_ENABLE_JOINER 1
#define OPENTHREAD_CONFIG_JOINER_ENABLE 1
/* Define to 1 if you want to use legacy network support */
#define OPENTHREAD_ENABLE_LEGACY 1
+3 -3
View File
@@ -140,7 +140,7 @@ const struct Command Interpreter::sCommands[] = {
{"ifconfig", &Interpreter::ProcessIfconfig},
{"ipaddr", &Interpreter::ProcessIpAddr},
{"ipmaddr", &Interpreter::ProcessIpMulticastAddr},
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
{"joiner", &Interpreter::ProcessJoiner},
#endif
#if OPENTHREAD_FTD
@@ -240,7 +240,7 @@ Interpreter::Interpreter(Instance *aInstance)
#if OPENTHREAD_CONFIG_COMMISSIONER_ENABLE && OPENTHREAD_FTD
, mCommissioner(*this)
#endif
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
, mJoiner(*this)
#endif
, mInstance(aInstance)
@@ -3081,7 +3081,7 @@ void Interpreter::ProcessCommissioner(int argc, char *argv[])
#endif
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
void Interpreter::ProcessJoiner(int argc, char *argv[])
{
+2 -2
View File
@@ -246,7 +246,7 @@ private:
otError ProcessIpMulticastAddrAdd(int argc, char *argv[]);
otError ProcessIpMulticastAddrDel(int argc, char *argv[]);
otError ProcessMulticastPromiscuous(int argc, char *argv[]);
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
void ProcessJoiner(int argc, char *argv[]);
#endif
#if OPENTHREAD_FTD
@@ -401,7 +401,7 @@ private:
Commissioner mCommissioner;
#endif
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
Joiner mJoiner;
#endif
+2 -2
View File
@@ -36,7 +36,7 @@
#include "cli/cli.hpp"
#include "cli/cli_server.hpp"
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
namespace ot {
namespace Cli {
@@ -150,4 +150,4 @@ void Joiner::HandleCallback(otError aError)
} // namespace Cli
} // namespace ot
#endif // OPENTHREAD_ENABLE_JOINER
#endif // OPENTHREAD_CONFIG_JOINER_ENABLE
+2 -2
View File
@@ -38,7 +38,7 @@
#include <openthread/joiner.h>
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
namespace ot {
namespace Cli {
@@ -94,6 +94,6 @@ private:
} // namespace Cli
} // namespace ot
#endif // OPENTHREAD_ENABLE_JOINER
#endif // OPENTHREAD_CONFIG_JOINER_ENABLE
#endif // CLI_JOINER_HPP_
+1
View File
@@ -330,6 +330,7 @@ HEADERS_COMMON = \
config/diag.h \
config/dns_client.h \
config/ip6.h \
config/joiner.h \
config/openthread-core-config-check.h \
config/openthread-core-default-config.h \
crypto/aes_ccm.hpp \
+4 -4
View File
@@ -51,7 +51,7 @@ otError otJoinerStart(otInstance * aInstance,
void * aContext)
{
otError error = OT_ERROR_DISABLED_FEATURE;
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
Instance &instance = *static_cast<Instance *>(aInstance);
error = instance.Get<MeshCoP::Joiner>().Start(aPSKd, aProvisioningUrl, aVendorName, aVendorModel, aVendorSwVersion,
@@ -75,7 +75,7 @@ otError otJoinerStop(otInstance *aInstance)
{
otError error;
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
Instance &instance = *static_cast<Instance *>(aInstance);
instance.Get<MeshCoP::Joiner>().Stop();
@@ -92,7 +92,7 @@ otJoinerState otJoinerGetState(otInstance *aInstance)
{
otJoinerState state = OT_JOINER_STATE_IDLE;
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
Instance &instance = *static_cast<Instance *>(aInstance);
state = instance.Get<MeshCoP::Joiner>().GetState();
@@ -107,7 +107,7 @@ otError otJoinerGetId(otInstance *aInstance, otExtAddress *aJoinerId)
{
otError error = OT_ERROR_DISABLED_FEATURE;
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
Instance &instance = *static_cast<Instance *>(aInstance);
instance.Get<MeshCoP::Joiner>().GetJoinerId(*static_cast<Mac::ExtAddress *>(aJoinerId));
+1 -1
View File
@@ -577,7 +577,7 @@ template <> inline MeshCoP::Commissioner &Instance::Get(void)
}
#endif
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
template <> inline MeshCoP::Joiner &Instance::Get(void)
{
return mThreadNetif.mJoiner;
+58
View File
@@ -0,0 +1,58 @@
/*
* 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 Joiner.
*
*/
#ifndef CONFIG_JOINER_H_
#define CONFIG_JOINER_H_
/**
* @def OPENTHREAD_CONFIG_JOINER_ENABLE
*
* Define to 1 to enable Joiner support.
*
*/
#ifndef OPENTHREAD_CONFIG_JOINER_ENABLE
#define OPENTHREAD_CONFIG_JOINER_ENABLE 0
#endif
/**
* @def OPENTHREAD_CONFIG_MAX_JOINER_ENTRIES
*
* The maximum number of Joiner Router entries that can be queued by the Joiner.
*
*/
#ifndef OPENTHREAD_CONFIG_JOINER_MAX_CANDIDATES
#define OPENTHREAD_CONFIG_JOINER_MAX_CANDIDATES 2
#endif
#endif // CONFIG_JOINER_H_
@@ -359,16 +359,6 @@
#define OPENTHREAD_CONFIG_MAX_ENERGY_RESULTS 64
#endif
/**
* @def OPENTHREAD_CONFIG_MAX_JOINER_ROUTER_ENTRIES
*
* The maximum number of Joiner Router entries that can be queued by the Joiner.
*
*/
#ifndef OPENTHREAD_CONFIG_MAX_JOINER_ROUTER_ENTRIES
#define OPENTHREAD_CONFIG_MAX_JOINER_ROUTER_ENTRIES 2
#endif
/**
* @def OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS
*
+2 -2
View File
@@ -48,7 +48,7 @@
#include "thread/thread_netif.hpp"
#include "thread/thread_uri_paths.hpp"
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
using ot::Encoding::BigEndian::HostSwap16;
@@ -688,4 +688,4 @@ exit:
} // namespace MeshCoP
} // namespace ot
#endif // OPENTHREAD_ENABLE_JOINER
#endif // OPENTHREAD_CONFIG_JOINER_ENABLE
+1 -1
View File
@@ -171,7 +171,7 @@ private:
otJoinerCallback mCallback;
void * mContext;
JoinerRouter mJoinerRouters[OPENTHREAD_CONFIG_MAX_JOINER_ROUTER_ENTRIES];
JoinerRouter mJoinerRouters[OPENTHREAD_CONFIG_JOINER_MAX_CANDIDATES];
uint16_t mJoinerRouterIndex;
Coap::Message *mFinalizeMessage;
+2 -1
View File
@@ -56,9 +56,10 @@
#include "config/diag.h"
#include "config/dns_client.h"
#include "config/ip6.h"
#include "config/joiner.h"
#if OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE || OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE || \
OPENTHREAD_CONFIG_COMMISSIONER_ENABLE || OPENTHREAD_ENABLE_JOINER
OPENTHREAD_CONFIG_COMMISSIONER_ENABLE || OPENTHREAD_CONFIG_JOINER_ENABLE
#define OPENTHREAD_CONFIG_DTLS_ENABLE 1
#endif
+2 -2
View File
@@ -89,9 +89,9 @@ ThreadNetif::ThreadNetif(Instance &aInstance)
#if OPENTHREAD_CONFIG_DTLS_ENABLE
, mCoapSecure(aInstance)
#endif
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
, mJoiner(aInstance)
#endif // OPENTHREAD_ENABLE_JOINER
#endif // OPENTHREAD_CONFIG_JOINER_ENABLE
#if OPENTHREAD_ENABLE_JAM_DETECTION
, mJamDetector(aInstance)
#endif // OPENTHREAD_ENABLE_JAM_DETECTION
+4 -4
View File
@@ -49,9 +49,9 @@
#include "meshcop/dataset_manager.hpp"
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
#include "meshcop/joiner.hpp"
#endif // OPENTHREAD_ENABLE_JOINER
#endif // OPENTHREAD_CONFIG_JOINER_ENABLE
#include "meshcop/joiner_router.hpp"
#include "meshcop/leader.hpp"
@@ -207,9 +207,9 @@ private:
Coap::CoapSecure mCoapSecure;
#endif // OPENTHREAD_CONFIG_DTLS_ENABLE
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
MeshCoP::Joiner mJoiner;
#endif // OPENTHREAD_ENABLE_JOINER
#endif // OPENTHREAD_CONFIG_JOINER_ENABLE
#if OPENTHREAD_ENABLE_JAM_DETECTION
Utils::JamDetector mJamDetector;
+1 -1
View File
@@ -85,7 +85,7 @@ const ChangedPropsSet::Entry ChangedPropsSet::mSupportedProps[] = {
#if OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
{SPINEL_PROP_CHANNEL_MANAGER_NEW_CHANNEL, SPINEL_STATUS_OK, true},
#endif
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_NO_PEERS, false},
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_SECURITY, false},
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_RSP_TIMEOUT, false},
+1 -1
View File
@@ -1811,7 +1811,7 @@ template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_CAPS>(void)
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_THREAD_COMMISSIONER));
#endif
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_THREAD_JOINER));
#endif
+1 -1
View File
@@ -315,7 +315,7 @@ protected:
void HandleCommissionerPanIdConflict(uint16_t aPanId, uint32_t aChannelMask);
#endif
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
static void HandleJoinerCallback_Jump(otError aError, void *aContext);
void HandleJoinerCallback(otError aError);
#endif
+2 -2
View File
@@ -584,7 +584,7 @@ NcpBase::PropertyHandler NcpBase::FindGetPropertyHandler(spinel_prop_key_t aKey)
case SPINEL_PROP_THREAD_NEW_DATASET:
handler = &NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_NEW_DATASET>;
break;
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
case SPINEL_PROP_MESHCOP_JOINER_STATE:
handler = &NcpBase::HandlePropertyGet<SPINEL_PROP_MESHCOP_JOINER_STATE>;
break;
@@ -769,7 +769,7 @@ NcpBase::PropertyHandler NcpBase::FindSetPropertyHandler(spinel_prop_key_t aKey)
case SPINEL_PROP_THREAD_CHILD_TIMEOUT:
handler = &NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_CHILD_TIMEOUT>;
break;
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
case SPINEL_PROP_MESHCOP_JOINER_COMMISSIONING:
handler = &NcpBase::HandlePropertySet<SPINEL_PROP_MESHCOP_JOINER_COMMISSIONING>;
break;
+2 -2
View File
@@ -1448,7 +1448,7 @@ template <> otError NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_MGMT_GET_PENDI
exit:
return error;
}
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_MESHCOP_JOINER_STATE>(void)
{
spinel_meshcop_joiner_state_t state = SPINEL_MESHCOP_JOINER_STATE_IDLE;
@@ -3316,7 +3316,7 @@ exit:
}
}
#if OPENTHREAD_ENABLE_JOINER
#if OPENTHREAD_CONFIG_JOINER_ENABLE
void NcpBase::HandleJoinerCallback_Jump(otError aError, void *aContext)
{
static_cast<NcpBase *>(aContext)->HandleJoinerCallback(aError);
-1
View File
@@ -80,7 +80,6 @@ configure_options=" \
--enable-coverage=$coverage \
--enable-ftd \
--enable-jam-detection \
--enable-joiner \
--enable-legacy \
--enable-mac-filter \
--enable-ncp \
@@ -72,6 +72,14 @@
*/
#define OPENTHREAD_CONFIG_DIAG_ENABLE 1
/**
* @def OPENTHREAD_CONFIG_JOINER_ENABLE
*
* Define to 1 to enable Joiner support.
*
*/
#define OPENTHREAD_CONFIG_JOINER_ENABLE 1
/**
* @def OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS
*
@@ -60,7 +60,7 @@
* used by Header IE related features.
*
*/
#if OPENTHREAD_CONFIG_COMMISSIONER_ENABLE || OPENTHREAD_ENABLE_JOINER || OPENTHREAD_CONFIG_HEADER_IE_SUPPORT
#if OPENTHREAD_CONFIG_COMMISSIONER_ENABLE || OPENTHREAD_CONFIG_JOINER_ENABLE || OPENTHREAD_CONFIG_HEADER_IE_SUPPORT
#define NRF_MBEDTLS_AES_ALT_INTERRUPT_CONTEXT 1
#else
#define NRF_MBEDTLS_AES_ALT_INTERRUPT_CONTEXT 0