[config] border router (#4020)
diff --git a/.travis/script.sh b/.travis/script.sh
index 6b7e2f2..dc77d05 100755
--- a/.travis/script.sh
+++ b/.travis/script.sh
@@ -55,11 +55,13 @@
export CPPFLAGS="${CPPFLAGS} -DMBEDTLS_CONFIG_FILE=\\\"mbedtls-config.h\\\""
# UART transport
+ export CPPFLAGS="${CPPFLAGS} \
+ -DOPENTHREAD_CONFIG_BORDER_AGENT_ENABLE=1 \
+ -DOPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1"
+
scan-build ./configure \
--enable-application-coap \
--enable-application-coap-secure \
- --enable-border-agent \
- --enable-border-router \
--enable-builtin-mbedtls=no \
--enable-cert-log \
--enable-channel-manager \
@@ -95,8 +97,6 @@
scan-build ./configure \
--enable-application-coap \
--enable-application-coap-secure \
- --enable-border-agent \
- --enable-border-router \
--enable-builtin-mbedtls=no \
--enable-cert-log \
--enable-channel-manager \
@@ -362,6 +362,9 @@
./bootstrap || die
CPPFLAGS=-DOPENTHREAD_CONFIG_LOG_LEVEL=OT_LOG_LEVEL_DEBG make -f examples/Makefile-posix || die
+ export CPPFLAGS=" \
+ -DOPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1"
+
git checkout -- . || die
git clean -xfd || die
./bootstrap || die
@@ -371,7 +374,6 @@
--enable-mtd \
--with-ncp-bus=spi \
--with-examples=posix \
- --enable-border-router \
--enable-child-supervision \
--enable-diag \
--enable-jam-detection \
@@ -393,7 +395,6 @@
--enable-mtd \
--with-ncp-bus=spi \
--with-examples=posix \
- --enable-border-router \
--enable-child-supervision \
--enable-legacy \
--enable-mac-filter \
diff --git a/Makefile.am b/Makefile.am
index 840eba4..3700e40 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,7 +34,6 @@
--enable-address-sanitizer \
--enable-application-coap \
--enable-application-coap-secure \
- --enable-border-router \
--enable-cert-log \
--enable-cli \
--enable-commissioner \
diff --git a/configure.ac b/configure.ac
index 581fa4d..e0e5ae8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -808,38 +808,6 @@
AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_UDP_FORWARD], [${OPENTHREAD_ENABLE_UDP_FORWARD}], [Define to 1 to enable the UDP forward feature.])
#
-# Thread Border Agent
-#
-
-AC_MSG_CHECKING([whether to enable border agent])
-AC_ARG_ENABLE(border_agent,
- [AS_HELP_STRING([--enable-border-agent], [Enable border agent support @<:@default=no@:>@.])],
- [
- case "${enableval}" in
-
- no|yes)
- enable_border_agent=${enableval}
- ;;
-
- *)
- AC_MSG_ERROR([Invalid value ${enable_border_agent} for --enable-border-agent])
- ;;
- esac
- ],
- [enable_border_agent=no])
-
-if test "${enable_border_agent}" = "yes"; then
- OPENTHREAD_ENABLE_BORDER_AGENT=1
-else
- OPENTHREAD_ENABLE_BORDER_AGENT=0
-fi
-
-AC_MSG_RESULT(${enable_border_agent})
-AC_SUBST(OPENTHREAD_ENABLE_BORDER_AGENT)
-AM_CONDITIONAL([OPENTHREAD_ENABLE_BORDER_AGENT], [test "${enable_border_agent}" = "yes"])
-AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_BORDER_AGENT], [${OPENTHREAD_ENABLE_BORDER_AGENT}], [Define to 1 to enable the border agent feature.])
-
-#
# Thread Network Diagnostic for MTD
#
@@ -1514,36 +1482,6 @@
AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_RAW_LINK_API],[${OPENTHREAD_ENABLE_RAW_LINK_API}],[Define to 1 if you want to enable raw link-layer API])
#
-# Border Router
-#
-
-AC_ARG_ENABLE(border_router,
- [AS_HELP_STRING([--enable-border-router],[Enable Border Router support @<:@default=no@:>@.])],
- [
- case "${enableval}" in
-
- no|yes)
- enable_border_router=${enableval}
- ;;
-
- *)
- AC_MSG_ERROR([Invalid value ${enable_border_router} for --enable-border-router])
- ;;
- esac
- ],
- [enable_border_router=no])
-
-if test "$enable_border_router" = "yes"; then
- OPENTHREAD_ENABLE_BORDER_ROUTER=1
-else
- OPENTHREAD_ENABLE_BORDER_ROUTER=0
-fi
-
-AC_SUBST(OPENTHREAD_ENABLE_BORDER_ROUTER)
-AM_CONDITIONAL([OPENTHREAD_ENABLE_BORDER_ROUTER], [test "${enable_border_router}" = "yes"])
-AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_BORDER_ROUTER],[${OPENTHREAD_ENABLE_BORDER_ROUTER}],[Define to 1 if you want to enable Border Router])
-
-#
# Service
#
@@ -2048,8 +1986,6 @@
OpenThread Application CoAP support : ${enable_application_coap}
OpenThread Application CoAP Secure support: ${enable_application_coap_secure}
OpenThread Raw Link-Layer support : ${enable_raw_link_api}
- OpenThread Border Agent support : ${enable_border_agent}
- OpenThread Border Router support : ${enable_border_router}
OpenThread Service support : ${enable_service}
OpenThread ECDSA support : ${enable_ecdsa}
OpenThread Examples : ${with_examples}
diff --git a/examples/common-switches.mk b/examples/common-switches.mk
index d7b75ac..f2fdbf9 100644
--- a/examples/common-switches.mk
+++ b/examples/common-switches.mk
@@ -67,11 +67,11 @@
endif
ifeq ($(BORDER_AGENT),1)
-configure_OPTIONS += --enable-border-agent
+COMMONCFLAGS += -DOPENTHREAD_CONFIG_BORDER_AGENT_ENABLE=1
endif
ifeq ($(BORDER_ROUTER),1)
-configure_OPTIONS += --enable-border-router
+COMMONCFLAGS += -DOPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1
endif
ifeq ($(COAP),1)
diff --git a/include/openthread-config-android.h b/include/openthread-config-android.h
index c0a093e..deb8e56 100644
--- a/include/openthread-config-android.h
+++ b/include/openthread-config-android.h
@@ -27,10 +27,10 @@
*/
/* Define to 1 to enable the border agent feature. */
-#define OPENTHREAD_ENABLE_BORDER_AGENT 1
+#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 1
/* Define to 1 if you want to enable Border Router */
-#define OPENTHREAD_ENABLE_BORDER_ROUTER 1
+#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 1
/* Define to 1 if you want to enable channel manager feature */
#define OPENTHREAD_ENABLE_CHANNEL_MANAGER 0
diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp
index ff9453d..1a65253 100644
--- a/src/cli/cli.cpp
+++ b/src/cli/cli.cpp
@@ -52,7 +52,7 @@
#include <openthread/thread_ftd.h>
#endif
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
#include <openthread/border_router.h>
#endif
#if OPENTHREAD_ENABLE_SERVICE
@@ -160,7 +160,7 @@
#if OPENTHREAD_FTD
{"neighbor", &Interpreter::ProcessNeighbor},
#endif
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
{"netdataregister", &Interpreter::ProcessNetworkDataRegister},
#endif
#if OPENTHREAD_ENABLE_SERVICE
@@ -184,7 +184,7 @@
{"ping", &Interpreter::ProcessPing},
{"pollperiod", &Interpreter::ProcessPollPeriod},
{"promiscuous", &Interpreter::ProcessPromiscuous},
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
{"prefix", &Interpreter::ProcessPrefix},
#endif
#if OPENTHREAD_FTD
@@ -193,7 +193,7 @@
#endif
{"reset", &Interpreter::ProcessReset},
{"rloc16", &Interpreter::ProcessRloc16},
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
{"route", &Interpreter::ProcessRoute},
#endif
#if OPENTHREAD_FTD
@@ -1699,14 +1699,14 @@
}
#endif
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
void Interpreter::ProcessNetworkDataRegister(int argc, char *argv[])
{
OT_UNUSED_VARIABLE(argc);
OT_UNUSED_VARIABLE(argv);
otError error = OT_ERROR_NONE;
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
SuccessOrExit(error = otBorderRouterRegister(mInstance));
#else
SuccessOrExit(error = otServerRegister(mInstance));
@@ -1715,7 +1715,7 @@
exit:
AppendResult(error);
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
#if OPENTHREAD_FTD
void Interpreter::ProcessNetworkIdTimeout(int argc, char *argv[])
@@ -2138,7 +2138,7 @@
mServer->OutputFormat("\r\n");
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
otError Interpreter::ProcessPrefixAdd(int argc, char *argv[])
{
otError error = OT_ERROR_NONE;
@@ -2358,7 +2358,7 @@
exit:
AppendResult(error);
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
#if OPENTHREAD_FTD
void Interpreter::ProcessReleaseRouterId(int argc, char *argv[])
@@ -2393,7 +2393,7 @@
mServer->OutputFormat("Done\r\n");
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
otError Interpreter::ProcessRouteAdd(int argc, char *argv[])
{
otError error = OT_ERROR_NONE;
@@ -2549,7 +2549,7 @@
exit:
AppendResult(error);
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
#if OPENTHREAD_FTD
void Interpreter::ProcessRouter(int argc, char *argv[])
diff --git a/src/cli/cli.hpp b/src/cli/cli.hpp
index c27f418..818ebfe 100644
--- a/src/cli/cli.hpp
+++ b/src/cli/cli.hpp
@@ -261,7 +261,7 @@
#if OPENTHREAD_FTD
void ProcessNeighbor(int argc, char *argv[]);
#endif
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
void ProcessNetworkDataRegister(int argc, char *argv[]);
#endif
#if OPENTHREAD_ENABLE_SERVICE
@@ -285,7 +285,7 @@
#endif
void ProcessPing(int argc, char *argv[]);
void ProcessPollPeriod(int argc, char *argv[]);
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
void ProcessPrefix(int argc, char *argv[]);
otError ProcessPrefixAdd(int argc, char *argv[]);
otError ProcessPrefixRemove(int argc, char *argv[]);
@@ -297,7 +297,7 @@
void ProcessReleaseRouterId(int argc, char *argv[]);
#endif
void ProcessReset(int argc, char *argv[]);
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
void ProcessRoute(int argc, char *argv[]);
otError ProcessRouteAdd(int argc, char *argv[]);
otError ProcessRouteRemove(int argc, char *argv[]);
diff --git a/src/core/Makefile.am b/src/core/Makefile.am
index 6561cda..c3cce7f 100644
--- a/src/core/Makefile.am
+++ b/src/core/Makefile.am
@@ -319,6 +319,7 @@
common/tlvs.hpp \
common/trickle_timer.hpp \
config/announce_sender.h \
+ config/border_router.h \
config/openthread-core-config-check.h \
config/openthread-core-default-config.h \
crypto/aes_ccm.hpp \
diff --git a/src/core/api/border_agent_api.cpp b/src/core/api/border_agent_api.cpp
index 641f4e8..7edce84 100644
--- a/src/core/api/border_agent_api.cpp
+++ b/src/core/api/border_agent_api.cpp
@@ -38,7 +38,7 @@
#include "common/instance.hpp"
#include "common/locator-getters.hpp"
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
using namespace ot;
@@ -49,4 +49,4 @@
return instance.Get<MeshCoP::BorderAgent>().GetState();
}
-#endif // OPENTHREAD_ENABLE_BORDER_AGENT
+#endif // OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
diff --git a/src/core/api/border_router_api.cpp b/src/core/api/border_router_api.cpp
index 90d0ac5..dd8dd2f 100644
--- a/src/core/api/border_router_api.cpp
+++ b/src/core/api/border_router_api.cpp
@@ -33,7 +33,7 @@
#include "openthread-core-config.h"
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
#include <openthread/border_router.h>
@@ -153,4 +153,4 @@
return instance.Get<NetworkData::Local>().SendServerDataNotification();
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
diff --git a/src/core/api/commissioner_api.cpp b/src/core/api/commissioner_api.cpp
index 487fb71..2fd5965 100644
--- a/src/core/api/commissioner_api.cpp
+++ b/src/core/api/commissioner_api.cpp
@@ -50,7 +50,7 @@
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast<Instance *>(aInstance);
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
SuccessOrExit(error = instance.Get<MeshCoP::BorderAgent>().Stop());
#endif
SuccessOrExit(error =
@@ -76,7 +76,7 @@
Instance &instance = *static_cast<Instance *>(aInstance);
SuccessOrExit(error = instance.Get<MeshCoP::Commissioner>().Stop());
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
SuccessOrExit(error = instance.Get<MeshCoP::BorderAgent>().Start());
#endif
exit:
diff --git a/src/core/common/instance.hpp b/src/core/common/instance.hpp
index 6f9ffc0..89e2f0f 100644
--- a/src/core/common/instance.hpp
+++ b/src/core/common/instance.hpp
@@ -514,7 +514,7 @@
return mThreadNetif.mPanIdQuery;
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
template <> inline NetworkData::Local &Instance::Get(void)
{
return mThreadNetif.mNetworkDataLocal;
@@ -657,7 +657,7 @@
}
#endif
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
template <> inline MeshCoP::BorderAgent &Instance::Get(void)
{
return mThreadNetif.mBorderAgent;
diff --git a/src/core/config/border_router.h b/src/core/config/border_router.h
new file mode 100644
index 0000000..2284367
--- /dev/null
+++ b/src/core/config/border_router.h
@@ -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 Border Router services.
+ *
+ */
+
+#ifndef CONFIG_BORDER_ROUTER_H_
+#define CONFIG_BORDER_ROUTER_H_
+
+/**
+ * @def OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
+ *
+ * Define to 1 to enable Border Agent support.
+ *
+ */
+#ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
+#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 0
+#endif
+
+/**
+ * @def OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
+ *
+ * Define to 1 to enable Border Router support.
+ *
+ */
+#ifndef OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
+#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0
+#endif
+
+#endif // CONFIG_BORDER_ROUTER_H_
diff --git a/src/core/meshcop/border_agent.cpp b/src/core/meshcop/border_agent.cpp
index 77281d5..6bee30f 100644
--- a/src/core/meshcop/border_agent.cpp
+++ b/src/core/meshcop/border_agent.cpp
@@ -44,7 +44,7 @@
#include "thread/thread_tlvs.hpp"
#include "thread/thread_uri_paths.hpp"
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
namespace ot {
namespace MeshCoP {
@@ -727,4 +727,4 @@
} // namespace MeshCoP
} // namespace ot
-#endif // OPENTHREAD_ENABLE_BORDER_AGENT
+#endif // OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
diff --git a/src/core/openthread-core-config.h b/src/core/openthread-core-config.h
index 981040d..d0242f0 100644
--- a/src/core/openthread-core-config.h
+++ b/src/core/openthread-core-config.h
@@ -45,9 +45,10 @@
#include "config/openthread-core-default-config.h"
#include "config/announce_sender.h"
+#include "config/border_router.h"
-#if OPENTHREAD_ENABLE_APPLICATION_COAP_SECURE || OPENTHREAD_ENABLE_BORDER_AGENT || OPENTHREAD_ENABLE_COMMISSIONER || \
- OPENTHREAD_ENABLE_JOINER
+#if OPENTHREAD_ENABLE_APPLICATION_COAP_SECURE || OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE || \
+ OPENTHREAD_ENABLE_COMMISSIONER || OPENTHREAD_ENABLE_JOINER
#define OPENTHREAD_CONFIG_DTLS_ENABLE 1
#endif
diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp
index 5a5ed5e..35e98f5 100644
--- a/src/core/thread/mle.cpp
+++ b/src/core/thread/mle.cpp
@@ -329,7 +329,7 @@
break;
}
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
if (IsAttached())
{
SuccessOrExit(Get<MeshCoP::BorderAgent>().Start());
@@ -760,7 +760,7 @@
Get<MleRouter>().HandleChildStart(mParentRequestMode);
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
Get<NetworkData::Local>().ClearResubmitDelayTimer();
#endif
Get<Ip6::Ip6>().SetForwardingEnabled(false);
@@ -1548,7 +1548,7 @@
ScheduleMessageTransmissionTimer();
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
Get<NetworkData::Local>().SendServerDataNotification();
#if OPENTHREAD_ENABLE_SERVICE
this->UpdateServiceAlocs();
diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp
index d9b1cbe..8207e72 100644
--- a/src/core/thread/mle_router.cpp
+++ b/src/core/thread/mle_router.cpp
@@ -1405,7 +1405,7 @@
UpdateRoutes(route, routerId);
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
Get<NetworkData::Local>().SendServerDataNotification();
#endif
diff --git a/src/core/thread/network_data_local.cpp b/src/core/thread/network_data_local.cpp
index dda16e4..87472fd 100644
--- a/src/core/thread/network_data_local.cpp
+++ b/src/core/thread/network_data_local.cpp
@@ -41,7 +41,7 @@
#include "mac/mac_frame.hpp"
#include "thread/thread_netif.hpp"
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
namespace ot {
namespace NetworkData {
@@ -387,4 +387,4 @@
} // namespace NetworkData
} // namespace ot
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
diff --git a/src/core/thread/thread_netif.cpp b/src/core/thread/thread_netif.cpp
index 7092143..6dc4988 100644
--- a/src/core/thread/thread_netif.cpp
+++ b/src/core/thread/thread_netif.cpp
@@ -72,7 +72,7 @@
, mMac(aInstance)
, mMeshForwarder(aInstance)
, mMleRouter(aInstance)
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
, mNetworkDataLocal(aInstance)
#endif
, mNetworkDataLeader(aInstance)
@@ -80,7 +80,7 @@
, mNetworkDiagnostic(aInstance)
#endif
, mIsUp(false)
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
, mBorderAgent(aInstance)
#endif
#if OPENTHREAD_ENABLE_COMMISSIONER && OPENTHREAD_FTD
diff --git a/src/core/thread/thread_netif.hpp b/src/core/thread/thread_netif.hpp
index 48fe47c..f11413d 100644
--- a/src/core/thread/thread_netif.hpp
+++ b/src/core/thread/thread_netif.hpp
@@ -40,7 +40,7 @@
#include "coap/coap_secure.hpp"
#include "mac/mac.hpp"
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
#include "meshcop/border_agent.hpp"
#endif
#if OPENTHREAD_ENABLE_COMMISSIONER && OPENTHREAD_FTD
@@ -187,16 +187,16 @@
Mac::Mac mMac;
MeshForwarder mMeshForwarder;
Mle::MleRouter mMleRouter;
-#if OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
NetworkData::Local mNetworkDataLocal;
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER || OPENTHREAD_ENABLE_SERVICE
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_ENABLE_SERVICE
NetworkData::Leader mNetworkDataLeader;
#if OPENTHREAD_FTD || OPENTHREAD_ENABLE_MTD_NETWORK_DIAGNOSTIC
NetworkDiagnostic::NetworkDiagnostic mNetworkDiagnostic;
#endif // OPENTHREAD_FTD || OPENTHREAD_ENABLE_MTD_NETWORK_DIAGNOSTIC
bool mIsUp;
-#if OPENTHREAD_ENABLE_BORDER_AGENT
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
MeshCoP::BorderAgent mBorderAgent;
#endif
#if OPENTHREAD_ENABLE_COMMISSIONER && OPENTHREAD_FTD
diff --git a/src/ncp/ncp_base.cpp b/src/ncp/ncp_base.cpp
index ccf4982..b766ef1 100644
--- a/src/ncp/ncp_base.cpp
+++ b/src/ncp/ncp_base.cpp
@@ -1815,7 +1815,7 @@
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_THREAD_JOINER));
#endif
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_THREAD_BORDER_ROUTER));
#endif
diff --git a/src/ncp/ncp_base_dispatcher.cpp b/src/ncp/ncp_base_dispatcher.cpp
index 27b7dc9..f27221b 100644
--- a/src/ncp/ncp_base_dispatcher.cpp
+++ b/src/ncp/ncp_base_dispatcher.cpp
@@ -275,7 +275,7 @@
case SPINEL_PROP_THREAD_STABLE_NETWORK_DATA_VERSION:
handler = &NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_STABLE_NETWORK_DATA_VERSION>;
break;
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
case SPINEL_PROP_THREAD_NETWORK_DATA:
handler = &NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_NETWORK_DATA>;
break;
@@ -812,7 +812,7 @@
case SPINEL_PROP_THREAD_DISCOVERY_SCAN_PANID:
handler = &NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_DISCOVERY_SCAN_PANID>;
break;
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
case SPINEL_PROP_THREAD_ALLOW_LOCAL_NET_DATA_CHANGE:
handler = &NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_ALLOW_LOCAL_NET_DATA_CHANGE>;
break;
@@ -1038,7 +1038,7 @@
case SPINEL_PROP_THREAD_ASSISTING_PORTS:
handler = &NcpBase::HandlePropertyInsert<SPINEL_PROP_THREAD_ASSISTING_PORTS>;
break;
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
case SPINEL_PROP_THREAD_OFF_MESH_ROUTES:
handler = &NcpBase::HandlePropertyInsert<SPINEL_PROP_THREAD_OFF_MESH_ROUTES>;
break;
@@ -1120,7 +1120,7 @@
case SPINEL_PROP_IPV6_MULTICAST_ADDRESS_TABLE:
handler = &NcpBase::HandlePropertyRemove<SPINEL_PROP_IPV6_MULTICAST_ADDRESS_TABLE>;
break;
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
case SPINEL_PROP_THREAD_OFF_MESH_ROUTES:
handler = &NcpBase::HandlePropertyRemove<SPINEL_PROP_THREAD_OFF_MESH_ROUTES>;
break;
diff --git a/src/ncp/ncp_base_mtd.cpp b/src/ncp/ncp_base_mtd.cpp
index 20f07b2..c2f8782 100644
--- a/src/ncp/ncp_base_mtd.cpp
+++ b/src/ncp/ncp_base_mtd.cpp
@@ -34,7 +34,7 @@
#include "ncp_base.hpp"
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
#include <openthread/border_router.h>
#endif
#if OPENTHREAD_ENABLE_CHANNEL_MONITOR
@@ -485,7 +485,7 @@
return mEncoder.WriteUint8(otNetDataGetStableVersion(mInstance));
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_NETWORK_DATA>(void)
{
uint8_t networkData[255];
@@ -509,7 +509,7 @@
return mEncoder.WriteData(networkData, networkDataLen);
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_LEADER_NETWORK_DATA>(void)
{
@@ -692,7 +692,7 @@
return mEncoder.WriteBool(mAllowLocalNetworkDataChange);
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
template <> otError NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_ALLOW_LOCAL_NET_DATA_CHANGE>(void)
{
bool value = false;
@@ -715,7 +715,7 @@
return error;
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_ON_MESH_NETS>(void)
{
@@ -738,7 +738,7 @@
SuccessOrExit(error = mEncoder.CloseStruct());
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
iter = OT_NETWORK_DATA_ITERATOR_INIT;
@@ -756,13 +756,13 @@
SuccessOrExit(error = mEncoder.CloseStruct());
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
exit:
return error;
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
template <> otError NcpBase::HandlePropertyInsert<SPINEL_PROP_THREAD_ON_MESH_NETS>(void)
{
otError error = OT_ERROR_NONE;
@@ -824,7 +824,7 @@
exit:
return error;
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
#if OPENTHREAD_ENABLE_SERVICE
@@ -1845,7 +1845,7 @@
SuccessOrExit(error = mEncoder.CloseStruct());
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
iter = OT_NETWORK_DATA_ITERATOR_INIT;
@@ -1863,13 +1863,13 @@
SuccessOrExit(error = mEncoder.CloseStruct());
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
exit:
return error;
}
-#if OPENTHREAD_ENABLE_BORDER_ROUTER
+#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
static int FlagByteToExternalRoutePreference(uint8_t aFlags)
{
int route_preference = 0;
@@ -1945,7 +1945,7 @@
exit:
return error;
}
-#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
+#endif // OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
template <> otError NcpBase::HandlePropertySet<SPINEL_PROP_STREAM_NET>(void)
{
diff --git a/tests/toranj/build.sh b/tests/toranj/build.sh
index b3a54ff..dffa43f 100755
--- a/tests/toranj/build.sh
+++ b/tests/toranj/build.sh
@@ -77,7 +77,6 @@
configure_options=" \
--disable-docs \
--disable-tests \
- --enable-border-router \
--enable-channel-manager \
--enable-channel-monitor \
--enable-child-supervision \
diff --git a/tests/toranj/openthread-core-toranj-config.h b/tests/toranj/openthread-core-toranj-config.h
index 01d8527..a6ebb9d 100644
--- a/tests/toranj/openthread-core-toranj-config.h
+++ b/tests/toranj/openthread-core-toranj-config.h
@@ -49,6 +49,14 @@
#endif
/**
+ * @def OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
+ *
+ * Define to 1 to enable Border Router support.
+ *
+ */
+#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 1
+
+/**
* @def OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS
*
* The number of message buffers in the buffer pool.
diff --git a/third_party/mbedtls/mbedtls-config.h b/third_party/mbedtls/mbedtls-config.h
index c58eef6..96c195f 100644
--- a/third_party/mbedtls/mbedtls-config.h
+++ b/third_party/mbedtls/mbedtls-config.h
@@ -76,7 +76,8 @@
#define MBEDTLS_SSL_PROTO_DTLS
#define MBEDTLS_SSL_TLS_C
-#if OPENTHREAD_ENABLE_BORDER_AGENT || OPENTHREAD_ENABLE_COMMISSIONER || OPENTHREAD_ENABLE_APPLICATION_COAP_SECURE
+#if OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE || OPENTHREAD_ENABLE_COMMISSIONER || \
+ OPENTHREAD_ENABLE_APPLICATION_COAP_SECURE
#define MBEDTLS_SSL_COOKIE_C
#define MBEDTLS_SSL_SRV_C
#endif