From 5baba6fea8de3df529f2794a94182c5bda9ab593 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Thu, 15 Nov 2018 15:53:18 -0800 Subject: [PATCH] [ncp] add new spinel capability SPINEL_CAP_THREAD_BORDER_ROUTER (#3305) This capability mirrors `OPENTHREAD_ENABLE_BORDER_ROUTER` feature informing host that on-mesh prefix or off-mesh routes can be added on NCP. --- src/ncp/ncp_base.cpp | 4 ++++ src/ncp/spinel.c | 4 ++++ src/ncp/spinel.h | 13 +++++++------ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/ncp/ncp_base.cpp b/src/ncp/ncp_base.cpp index e9a9261d2..b45452f66 100644 --- a/src/ncp/ncp_base.cpp +++ b/src/ncp/ncp_base.cpp @@ -1798,6 +1798,10 @@ template <> otError NcpBase::HandlePropertyGet(void) SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_THREAD_JOINER)); #endif +#if OPENTHREAD_ENABLE_BORDER_ROUTER + SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_THREAD_BORDER_ROUTER)); +#endif + #if OPENTHREAD_ENABLE_UDP_FORWARD SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_THREAD_UDP_FORWARD)); #endif diff --git a/src/ncp/spinel.c b/src/ncp/spinel.c index e89c4a77e..ef1d51720 100644 --- a/src/ncp/spinel.c +++ b/src/ncp/spinel.c @@ -2483,6 +2483,10 @@ const char *spinel_capability_to_cstr(unsigned int capability) ret = "THREAD_JOINER"; break; + case SPINEL_CAP_THREAD_BORDER_ROUTER: + ret = "THREAD_BORDER_ROUTER"; + break; + case SPINEL_CAP_NEST_LEGACY_INTERFACE: ret = "NEST_LEGACY_INTERFACE"; break; diff --git a/src/ncp/spinel.h b/src/ncp/spinel.h index ac73aa49f..80abf99bf 100644 --- a/src/ncp/spinel.h +++ b/src/ncp/spinel.h @@ -763,12 +763,13 @@ enum SPINEL_CAP_POSIX_APP = (SPINEL_CAP_OPENTHREAD__BEGIN + 9), SPINEL_CAP_OPENTHREAD__END = 640, - SPINEL_CAP_THREAD__BEGIN = 1024, - SPINEL_CAP_THREAD_COMMISSIONER = (SPINEL_CAP_THREAD__BEGIN + 0), - SPINEL_CAP_THREAD_TMF_PROXY = (SPINEL_CAP_THREAD__BEGIN + 1), - SPINEL_CAP_THREAD_UDP_FORWARD = (SPINEL_CAP_THREAD__BEGIN + 2), - SPINEL_CAP_THREAD_JOINER = (SPINEL_CAP_THREAD__BEGIN + 3), - SPINEL_CAP_THREAD__END = 1152, + SPINEL_CAP_THREAD__BEGIN = 1024, + SPINEL_CAP_THREAD_COMMISSIONER = (SPINEL_CAP_THREAD__BEGIN + 0), + SPINEL_CAP_THREAD_TMF_PROXY = (SPINEL_CAP_THREAD__BEGIN + 1), + SPINEL_CAP_THREAD_UDP_FORWARD = (SPINEL_CAP_THREAD__BEGIN + 2), + SPINEL_CAP_THREAD_JOINER = (SPINEL_CAP_THREAD__BEGIN + 3), + SPINEL_CAP_THREAD_BORDER_ROUTER = (SPINEL_CAP_THREAD__BEGIN + 4), + SPINEL_CAP_THREAD__END = 1152, SPINEL_CAP_NEST__BEGIN = 15296, SPINEL_CAP_NEST_LEGACY_INTERFACE = (SPINEL_CAP_NEST__BEGIN + 0),