1 /*
2  *  Copyright (c) 2024, The OpenThread Authors.
3  *  All rights reserved.
4  *
5  *  Redistribution and use in source and binary forms, with or without
6  *  modification, are permitted provided that the following conditions are met:
7  *  1. Redistributions of source code must retain the above copyright
8  *     notice, this list of conditions and the following disclaimer.
9  *  2. Redistributions in binary form must reproduce the above copyright
10  *     notice, this list of conditions and the following disclaimer in the
11  *     documentation and/or other materials provided with the distribution.
12  *  3. Neither the name of the copyright holder nor the
13  *     names of its contributors may be used to endorse or promote products
14  *     derived from this software without specific prior written permission.
15  *
16  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20  *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  *  POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 /**
30  * This header file defines the OpenThread core configuration for Nexus simulation
31  */
32 
33 #ifndef OT_CORE_NEXUS_CONFIG_H_
34 #define OT_CORE_NEXUS_CONFIG_H_
35 
36 #ifndef OPENTHREAD_RADIO
37 #define OPENTHREAD_RADIO 0
38 #endif
39 
40 #ifndef OPENTHREAD_RADIO
41 #define OPENTHREAD_RADIO_CLI 0
42 #endif
43 
44 #define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 1
45 #define OPENTHREAD_CONFIG_BLE_TCAT_ENABLE 0
46 #define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 1
47 #define OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE 1
48 #define OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE 1
49 #define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 1
50 #define OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE 0
51 #define OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 0
52 #define OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE 0
53 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 1
54 #define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 1
55 #define OPENTHREAD_CONFIG_COAP_API_ENABLE 1
56 #define OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 1
57 #define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 1
58 #define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 4
59 #define OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 1
60 #define OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_ENABLE 1
61 #define OPENTHREAD_CONFIG_DIAG_ENABLE 0
62 #define OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE 1
63 #define OPENTHREAD_CONFIG_DNS_DSO_ENABLE 0
64 #define OPENTHREAD_CONFIG_DNSSD_DISCOVERY_PROXY_ENABLE 0
65 #define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 1
66 #define OPENTHREAD_CONFIG_ECDSA_ENABLE 1
67 #define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 1
68 #define OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE 1
69 #define OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE 1
70 #define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 4
71 #define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 8
72 #define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1
73 #define OPENTHREAD_CONFIG_IP6_SLAAC_NUM_ADDRESSES 4
74 #define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
75 #define OPENTHREAD_CONFIG_JOINER_ENABLE 1
76 #define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_INFO
77 #define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 1
78 #define OPENTHREAD_CONFIG_LOG_LEVEL_INIT OT_LOG_LEVEL_CRIT
79 #define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED
80 #define OPENTHREAD_CONFIG_LOG_PLATFORM 0
81 #define OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL 1
82 #define OPENTHREAD_CONFIG_LOG_PREPEND_UPTIME 0
83 #define OPENTHREAD_CONFIG_LOG_SUFFIX ""
84 #define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 0
85 #define OPENTHREAD_CONFIG_MAC_CSL_TRANSMITTER_ENABLE 0
86 #define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 1
87 #define OPENTHREAD_CONFIG_MAC_FILTER_SIZE 80
88 #define OPENTHREAD_CONFIG_MESH_DIAG_ENABLE 1
89 #define OPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE 1
90 #define OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE 1
91 #define OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH 1
92 #define OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD 10
93 #define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 0
94 #define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 0
95 #define OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 128
96 #define OPENTHREAD_CONFIG_MULTICAST_DNS_AUTO_ENABLE_ON_INFRA_IF 0
97 #define OPENTHREAD_CONFIG_MULTICAST_DNS_ENABLE 0
98 #define OPENTHREAD_CONFIG_MULTICAST_DNS_ENTRY_ITERATION_API_ENABLE 0
99 #define OPENTHREAD_CONFIG_MULTICAST_DNS_PUBLIC_API_ENABLE 0
100 #define OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE 0
101 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE OPENTHREAD_FTD
102 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_MODEL "Nexus Simulation"
103 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_NAME "OpenThread by Google Nest"
104 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_SW_VERSION "OT-simul-nexus"
105 #define OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE 1
106 #define OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 256
107 #define OPENTHREAD_CONFIG_PLATFORM_DNSSD_ALLOW_RUN_TIME_SELECTION 0
108 #define OPENTHREAD_CONFIG_PLATFORM_DNSSD_ENABLE 0
109 #define OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE 0
110 #define OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE 0
111 #define OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE 0
112 #define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 0
113 #define OPENTHREAD_CONFIG_RADIO_STATS_ENABLE 0
114 #define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 1
115 #define OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE 0
116 #define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1
117 #define OPENTHREAD_CONFIG_SRP_SERVER_ADVERTISING_PROXY_ENABLE 0
118 #define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 1
119 #define OPENTHREAD_CONFIG_TCP_ENABLE 0
120 #define OPENTHREAD_CONFIG_TLS_ENABLE 0
121 #define OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_ENTRIES 256
122 #define OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_MAX_SNOOP_ENTRIES 16
123 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_INITIAL_RETRY_DELAY 4
124 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_MAX_RETRY_DELAY 120
125 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_TIMEOUT 6
126 #define OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE 1
127 #define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 1
128 #define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1
129 #define OPENTHREAD_CONFIG_TMF_SNOOP_CACHE_ENTRY_TIMEOUT 3
130 #define OPENTHREAD_CONFIG_UPTIME_ENABLE 1
131 
132 #endif /* OT_CORE_NEXUS_CONFIG_H_ */
133