From aa3e5d983267d278cfd9577b585881f614d82518 Mon Sep 17 00:00:00 2001 From: Xu Si Yu Date: Fri, 22 Nov 2024 13:59:01 +0800 Subject: [PATCH] feat(openthread): adjusted the default macro configurations of openthread --- .../openthread-core-esp32x-ftd-config.h | 334 ++++++++---------- .../openthread-core-esp32x-mtd-config.h | 20 +- .../openthread-core-esp32x-radio-config.h | 27 +- 3 files changed, 180 insertions(+), 201 deletions(-) diff --git a/components/openthread/private_include/openthread-core-esp32x-ftd-config.h b/components/openthread/private_include/openthread-core-esp32x-ftd-config.h index 56e7d0c0cb..8f0ffdc996 100644 --- a/components/openthread/private_include/openthread-core-esp32x-ftd-config.h +++ b/components/openthread/private_include/openthread-core-esp32x-ftd-config.h @@ -84,109 +84,6 @@ #endif #define OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS CONFIG_OPENTHREAD_NUM_MESSAGE_BUFFERS - -#if CONFIG_OPENTHREAD_BORDER_ROUTER - -/** - * @def OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE - * - * Define to 1 to enable Border Agent support. - * - */ -#ifdef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE -#error `OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE` is redefined. -#endif -#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 1 - -/** - * @def OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE - * - * Define to 1 to enable Border Agent ID support. - * - */ -#ifdef OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE -#error `OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE` is redefined. -#endif -#define OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE 1 - -/** - * @def OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE - * - * Define to 1 to enable Border Routing support. - * - */ -#ifdef OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE -#error `OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE` is redefined. -#endif -#define OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 1 - -/** - * @def OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE - * - * Define to 1 to enable platform UDP support. - * - */ -#ifdef OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE -#error `OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE` is redefined. -#endif -#define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 1 - -/** - * @def OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE - * - * Define to 1 to enable Border Routing NAT64 support. - * - */ -#ifdef OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE -#error `OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE` is redefined. -#endif -#define OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE 1 - -/** - * @def OPENTHREAD_CONFIG_SRP_SERVER_ENABLE - * - * Define to 1 to enable SRP Server support. - * - */ -#ifdef OPENTHREAD_CONFIG_SRP_SERVER_ENABLE -#error `OPENTHREAD_CONFIG_SRP_SERVER_ENABLE` is redefined. -#endif -#define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 1 - -/** - * @def OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE - * - * Define to 1 to enable DNS-SD Server support. - * - */ -#ifdef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE -#error `OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE` is redefined. -#endif -#define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 1 - -/** - * @def OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE - * - * Define to 1 to enable Backbone Router support. - * - */ -#ifdef OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE -#error `OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE` is redefined. -#endif -#define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 1 - -/** - * @def OPENTHREAD_SPINEL_CONFIG_COMPATIBILITY_ERROR_CALLBACK_ENABLE - * - * Enables compatibility error callback in Spinel - */ -#ifdef OPENTHREAD_SPINEL_CONFIG_COMPATIBILITY_ERROR_CALLBACK_ENABLE -#error `OPENTHREAD_SPINEL_CONFIG_COMPATIBILITY_ERROR_CALLBACK_ENABLE` is redefined. -#endif -#define OPENTHREAD_SPINEL_CONFIG_COMPATIBILITY_ERROR_CALLBACK_ENABLE 1 - -#endif // CONFIG_OPENTHREAD_BORDER_ROUTER - /** * @def OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE * @@ -198,6 +95,8 @@ #endif #if CONFIG_OPENTHREAD_RADIO_TREL #define OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE 1 +#else +#define OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE 0 #endif // CONFIG_OPENTHREAD_RADIO_TREL /** @@ -215,34 +114,6 @@ #define OPENTHREAD_CONFIG_RADIO_LINK_IEEE_802_15_4_ENABLE 1 #endif -#if !CONFIG_OPENTHREAD_RADIO_NATIVE -/** - * @def OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT - * - * Defines the max count of RCP failures allowed to be recovered. - * 0 means to disable RCP failure recovering. - * - */ -#ifdef OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT -#error `OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT` is redefined. -#endif -#define OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT 3 - -/** - * @def OPENTHREAD_POSIX_CONFIG_RCP_TIME_SYNC_INTERVAL - * - * This setting configures the interval (in units of microseconds) for host-rcp - * time sync. The host will recalculate the time offset between host and RCP - * every interval. - * - */ -#ifdef OPENTHREAD_POSIX_CONFIG_RCP_TIME_SYNC_INTERVAL -#error `OPENTHREAD_POSIX_CONFIG_RCP_TIME_SYNC_INTERVAL` is redefined. -#endif -#define OPENTHREAD_POSIX_CONFIG_RCP_TIME_SYNC_INTERVAL (60 * 1000 * 1000) - -#endif // !CONFIG_OPENTHREAD_RADIO_NATIVE - /** * @def OPENTHREAD_LIB_SPINEL_RX_FRAME_BUFFER_SIZE * @@ -397,34 +268,6 @@ #define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 0 #endif // CONFIG_OPENTHREAD_CSL_ENABLE -#ifdef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE -#error `OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE` is redefined. -#endif -#ifdef OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE -#error `OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE` is redefined. -#endif -#if CONFIG_OPENTHREAD_LINK_METRICS -/** - * @def OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE - * - * Define as 1 to support Thread 1.2 Link Metrics Subject feature. - * - */ -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 - -/** - * @def OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE - * - * Define as 1 to support Thread 1.2 Link Metrics feature. - * - */ -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 1 - -#else -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 0 -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 0 -#endif //CONFIG_OPENTHREAD_LINK_METRICS - /** * * Define as 1 to enable support for allocating message pool buffer in PSRAM @@ -524,32 +367,80 @@ #endif #define OPENTHREAD_CONFIG_MAC_MAX_CSMA_BACKOFFS_DIRECT CONFIG_OPENTHREAD_MAC_MAX_CSMA_BACKOFFS_DIRECT -/** - * @def OPENTHREAD_CONFIG_ECDSA_ENABLE - * - * Define to 1 to enable ECDSA support. - * - */ -#ifdef OPENTHREAD_CONFIG_ECDSA_ENABLE -#error `OPENTHREAD_CONFIG_ECDSA_ENABLE` is redefined. -#endif -#if CONFIG_OPENTHREAD_BORDER_ROUTER || CONFIG_OPENTHREAD_SRP_CLIENT -#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 -#else -#define OPENTHREAD_CONFIG_ECDSA_ENABLE 0 -#endif - /*----The following options set fixed default values but can be overridden by the user header file.----*/ +#if CONFIG_OPENTHREAD_BORDER_ROUTER /** - * @def OPENTHREAD_CONFIG_DUA_ENABLE + * @def OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE + * + * Define to 1 to enable Border Agent ID support. * - * Define as 1 to support Thread 1.2 Domain Unicast Address feature. */ -#ifndef OPENTHREAD_CONFIG_DUA_ENABLE -#define OPENTHREAD_CONFIG_DUA_ENABLE 1 +#ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE +#define OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE 1 #endif +/** + * @def OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE + * + * Define to 1 to enable Border Routing support. + * + */ +#ifndef OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE +#define OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE + * + * Define to 1 to enable platform UDP support. + * + */ +#ifndef OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE +#define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE + * + * Define to 1 to enable Border Routing NAT64 support. + * + */ +#ifndef OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE +#define OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_CONFIG_SRP_SERVER_ENABLE + * + * Define to 1 to enable SRP Server support. + * + */ +#ifndef OPENTHREAD_CONFIG_SRP_SERVER_ENABLE +#define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE + * + * Define to 1 to enable DNS-SD Server support. + * + */ +#ifndef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE +#define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE + * + * Define to 1 to enable Backbone Router support. + * + */ +#ifndef OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE +#define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 1 +#endif +#endif // CONFIG_OPENTHREAD_BORDER_ROUTER + /** * @def OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE * @@ -570,6 +461,83 @@ #define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 1 #endif +#if !CONFIG_OPENTHREAD_RADIO_NATIVE +/** + * @def OPENTHREAD_SPINEL_CONFIG_COMPATIBILITY_ERROR_CALLBACK_ENABLE + * + * Enables compatibility error callback in Spinel + */ +#ifndef OPENTHREAD_SPINEL_CONFIG_COMPATIBILITY_ERROR_CALLBACK_ENABLE +#define OPENTHREAD_SPINEL_CONFIG_COMPATIBILITY_ERROR_CALLBACK_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT + * + * Defines the max count of RCP failures allowed to be recovered. + * 0 means to disable RCP failure recovering. + * + */ +#ifndef OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT +#define OPENTHREAD_SPINEL_CONFIG_RCP_RESTORATION_MAX_COUNT 3 +#endif + +/** + * @def OPENTHREAD_POSIX_CONFIG_RCP_TIME_SYNC_INTERVAL + * + * This setting configures the interval (in units of microseconds) for host-rcp + * time sync. The host will recalculate the time offset between host and RCP + * every interval. + * + */ +#ifndef OPENTHREAD_POSIX_CONFIG_RCP_TIME_SYNC_INTERVAL +#define OPENTHREAD_POSIX_CONFIG_RCP_TIME_SYNC_INTERVAL (60 * 1000 * 1000) +#endif +#endif // !CONFIG_OPENTHREAD_RADIO_NATIVE + +#if CONFIG_OPENTHREAD_LINK_METRICS +/** + * @def OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE + * + * Define as 1 to support Thread 1.2 Link Metrics Subject feature. + * + */ +#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE +#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE + * + * Define as 1 to support Thread 1.2 Link Metrics feature. + * + */ +#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE +#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 1 +#endif +#endif //CONFIG_OPENTHREAD_LINK_METRICS + +/** + * @def OPENTHREAD_CONFIG_ECDSA_ENABLE + * + * Define to 1 to enable ECDSA support. + * + */ +#if CONFIG_OPENTHREAD_BORDER_ROUTER || CONFIG_OPENTHREAD_SRP_CLIENT +#ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE +#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 +#endif +#endif + +/** + * @def OPENTHREAD_CONFIG_DUA_ENABLE + * + * Define as 1 to support Thread 1.2 Domain Unicast Address feature. + */ +#ifndef OPENTHREAD_CONFIG_DUA_ENABLE +#define OPENTHREAD_CONFIG_DUA_ENABLE 1 +#endif + /** * @def OPENTHREAD_CONFIG_LOG_OUTPUT * @@ -774,6 +742,16 @@ #define OPENTHREAD_CONFIG_OPERATIONAL_DATASET_AUTO_INIT 1 #endif +/** + * @OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_MARK_ECN_INTERVAL + * + * Specifies the time-in-queue threshold interval in milliseconds to mark ECN on a message if it is ECN-capable or + * drop the message if not ECN-capable. + */ +#ifndef OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_MARK_ECN_INTERVAL +#define OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_MARK_ECN_INTERVAL 1000 +#endif + #ifndef OPENTHREAD_CONFIG_THREAD_VERSION #define OPENTHREAD_CONFIG_THREAD_VERSION OT_THREAD_VERSION_1_4 #endif diff --git a/components/openthread/private_include/openthread-core-esp32x-mtd-config.h b/components/openthread/private_include/openthread-core-esp32x-mtd-config.h index aa937b6868..2bad19b27e 100644 --- a/components/openthread/private_include/openthread-core-esp32x-mtd-config.h +++ b/components/openthread/private_include/openthread-core-esp32x-mtd-config.h @@ -137,10 +137,9 @@ #endif #if CONFIG_OPENTHREAD_SRP_CLIENT -#ifdef OPENTHREAD_CONFIG_ECDSA_ENABLE -#error `OPENTHREAD_CONFIG_ECDSA_ENABLE` is redefined. -#endif +#ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE #define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 +#endif #define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 @@ -156,11 +155,6 @@ #error `OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_MAX_SERVICES` is redefined. #endif #define OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_MAX_SERVICES CONFIG_OPENTHREAD_SRP_CLIENT_MAX_SERVICES - -#else - -#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 0 - #endif // CONFIG_OPENTHREAD_SRP_CLIENT /** @@ -396,3 +390,13 @@ #ifndef OPENTHREAD_CONFIG_DTLS_MAX_CONTENT_LEN #define OPENTHREAD_CONFIG_DTLS_MAX_CONTENT_LEN 768 #endif + +/** + * @OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_MARK_ECN_INTERVAL + * + * Specifies the time-in-queue threshold interval in milliseconds to mark ECN on a message if it is ECN-capable or + * drop the message if not ECN-capable. + */ +#ifndef OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_MARK_ECN_INTERVAL +#define OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_MARK_ECN_INTERVAL 1000 +#endif diff --git a/components/openthread/private_include/openthread-core-esp32x-radio-config.h b/components/openthread/private_include/openthread-core-esp32x-radio-config.h index f98c28ed92..009635bac7 100644 --- a/components/openthread/private_include/openthread-core-esp32x-radio-config.h +++ b/components/openthread/private_include/openthread-core-esp32x-radio-config.h @@ -122,21 +122,6 @@ #define OPENTHREAD_CONFIG_DIAG_ENABLE 0 #endif -#ifdef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE -#error `OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE` is redefined. -#endif -#if CONFIG_OPENTHREAD_LINK_METRICS -/** - * @def OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE - * - * Define as 1 to support Thread 1.2 Link Metrics Subject feature. - * - */ -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 -#else -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 0 -#endif //CONFIG_OPENTHREAD_LINK_METRICS - #ifdef OPENTHREAD_ENABLE_NCP_VENDOR_HOOK #error `OPENTHREAD_ENABLE_NCP_VENDOR_HOOK` is redefined. #endif @@ -182,6 +167,18 @@ /*----The following options set fixed default values but can be overridden by the user header file.----*/ +#if CONFIG_OPENTHREAD_LINK_METRICS +/** + * @def OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE + * + * Define as 1 to support Thread 1.2 Link Metrics Subject feature. + * + */ +#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE +#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 +#endif +#endif //CONFIG_OPENTHREAD_LINK_METRICS + /** * @def OPENTHREAD_CONFIG_PLATFORM_ASSERT_MANAGEMENT *