1 /* 2 * Copyright (c) 2018, 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 options used in NCP build for `toranj` test framework. 31 * 32 */ 33 34 #if !defined(OPENTHREAD_CORE_TORANJ_CONFIG_SIMULATION_H_) && !defined(OPENTHREAD_CORE_TORANJ_CONFIG_POSIX_H_) 35 #error "This header file should only be included through the platform-specific one" 36 #endif 37 38 #ifndef OPENTHREAD_RADIO 39 #define OPENTHREAD_RADIO 0 40 #endif 41 42 #ifndef OPENTHREAD_RADIO 43 #define OPENTHREAD_RADIO_CLI 0 44 #endif 45 46 #define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 1 47 48 #define OPENTHREAD_CONFIG_UPTIME_ENABLE 1 49 50 #define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 1 51 52 #ifndef OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 53 #define OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 1 54 #endif 55 56 #define OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 57 58 #define OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE 1 59 60 #define OPENTHREAD_CONFIG_BORDER_ROUTING_TESTING_API_ENABLE 1 61 62 #define OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE 1 63 64 #define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1 65 66 #define OPENTHREAD_CONFIG_MESH_DIAG_ENABLE 1 67 68 #define OPENTHREAD_CONFIG_BLE_TCAT_ENABLE 1 69 70 #define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 1 71 72 #define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 4 73 74 #define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 1 75 76 #define OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE 1 77 78 #define OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE 1 79 80 #define OPENTHREAD_CONFIG_DIAG_ENABLE 1 81 82 #define OPENTHREAD_CONFIG_JOINER_ENABLE 1 83 84 #define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 1 85 86 #define OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE 1 87 88 #define OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE 1 89 90 #define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 91 92 #define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1 93 94 #define OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 256 95 96 #define OPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE 0 97 98 #define OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_ENTRIES 16 99 100 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_TIMEOUT 6 101 102 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_INITIAL_RETRY_DELAY 4 103 104 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_MAX_RETRY_DELAY 120 105 106 #define OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_MAX_SNOOP_ENTRIES 2 107 108 #define OPENTHREAD_CONFIG_TMF_SNOOP_CACHE_ENTRY_TIMEOUT 3 109 110 #define OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE 1 111 112 #define OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 32 113 114 #define OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT 120 115 116 #define OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD 10 117 118 #define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 8 119 120 #define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 4 121 122 #define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 123 124 #define OPENTHREAD_CONFIG_IP6_SLAAC_NUM_ADDRESSES 4 125 126 #define OPENTHREAD_CONFIG_IP6_SLAAC_DEPRECATION_INTERVAL 30 127 128 #define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 1 129 130 #define OPENTHREAD_CONFIG_MAC_FILTER_SIZE 80 131 132 #define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_INFO 133 134 #define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 1 135 136 #define OPENTHREAD_CONFIG_LOG_PREPEND_UPTIME 1 137 138 #define OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL 1 139 140 #define OPENTHREAD_CONFIG_LOG_SUFFIX "" 141 142 #define OPENTHREAD_CONFIG_LOG_PLATFORM 1 143 144 #define OPENTHREAD_CONFIG_NCP_HDLC_ENABLE 1 145 146 #define OPENTHREAD_CONFIG_NCP_TX_BUFFER_SIZE 4096 147 148 #define OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE 1 149 150 #define OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH 1 151 152 #define OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 1 153 154 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 1 155 156 #define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 1 157 158 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_MINIMUM_DELAY 2 159 160 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_SKIP_FAVORED (0xffff * 7 / 100) 161 162 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_CHANGE_CHANNEL (0xffff * 10 / 100) 163 164 // For `toranj` test script the value is decreased so that the tests can be run faster. 165 #define OPENTHREAD_CONFIG_TMF_PENDING_DATASET_MINIMUM_DELAY 1000 166 #define OPENTHREAD_CONFIG_TMF_PENDING_DATASET_DEFAULT_DELAY 1000 167 168 #define OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL 1 169 170 #define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 171 172 #define OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE 1 173 174 #define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 175 176 #define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 1 177 178 #define OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE 1 179 180 #define OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE 0 181 182 #define OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE 1 183 184 #define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 1 185 186 #define OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_ENABLE 1 187 188 #define OPENTHREAD_CONFIG_CLI_REGISTER_IP6_RECV_CALLBACK 1 189 190 #define OPENTHREAD_CONFIG_MLE_PARENT_RESPONSE_CALLBACK_API_ENABLE 1 191 192 #ifndef OPENTHREAD_CONFIG_NET_DIAG_VENDOR_NAME 193 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_NAME "OpenThread by Google Nest" 194 #endif 195 196 #ifndef OPENTHREAD_CONFIG_NET_DIAG_VENDOR_MODEL 197 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_MODEL "Toranj Simulation" 198 #endif 199 200 #ifndef OPENTHREAD_CONFIG_NET_DIAG_VENDOR_SW_VERSION 201 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_SW_VERSION "OT-simul-toranj" 202 #endif 203 204 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE OPENTHREAD_FTD 205 206 #if OPENTHREAD_RADIO 207 208 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE 1 209 210 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_RETRANSMIT_ENABLE 1 211 212 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE 1 213 214 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE 1 215 216 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_TIMING_ENABLE 1 217 218 #endif 219