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_IP6_BR_COUNTERS_ENABLE 1 61 62 #define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1 63 64 #define OPENTHREAD_CONFIG_MESH_DIAG_ENABLE 1 65 66 #define OPENTHREAD_CONFIG_BLE_TCAT_ENABLE 1 67 68 #define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 1 69 70 #define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 4 71 72 #define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 1 73 74 #define OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE 1 75 76 #define OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE 1 77 78 #define OPENTHREAD_CONFIG_DIAG_ENABLE 1 79 80 #define OPENTHREAD_CONFIG_JOINER_ENABLE 1 81 82 #define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 1 83 84 #define OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE 1 85 86 #define OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE 1 87 88 #define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 89 90 #define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1 91 92 #define OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 256 93 94 #define OPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE 0 95 96 #define OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_ENTRIES 16 97 98 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_TIMEOUT 6 99 100 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_INITIAL_RETRY_DELAY 4 101 102 #define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_MAX_RETRY_DELAY 120 103 104 #define OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_MAX_SNOOP_ENTRIES 2 105 106 #define OPENTHREAD_CONFIG_TMF_SNOOP_CACHE_ENTRY_TIMEOUT 3 107 108 #define OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE 1 109 110 #define OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 32 111 112 #define OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT 120 113 114 #define OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD 10 115 116 #define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 8 117 118 #define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 4 119 120 #define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 121 122 #define OPENTHREAD_CONFIG_IP6_SLAAC_NUM_ADDRESSES 4 123 124 #define OPENTHREAD_CONFIG_IP6_SLAAC_DEPRECATION_INTERVAL 30 125 126 #define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 1 127 128 #define OPENTHREAD_CONFIG_MAC_FILTER_SIZE 80 129 130 #define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_INFO 131 132 #define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 1 133 134 #define OPENTHREAD_CONFIG_LOG_PREPEND_UPTIME 1 135 136 #define OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL 1 137 138 #define OPENTHREAD_CONFIG_LOG_SUFFIX "" 139 140 #define OPENTHREAD_CONFIG_LOG_PLATFORM 1 141 142 #define OPENTHREAD_CONFIG_NCP_HDLC_ENABLE 1 143 144 #define OPENTHREAD_CONFIG_NCP_TX_BUFFER_SIZE 4096 145 146 #define OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE 1 147 148 #define OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH 1 149 150 #define OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 1 151 152 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 1 153 154 #define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 1 155 156 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_MINIMUM_DELAY 2 157 158 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_SKIP_FAVORED (0xffff * 7 / 100) 159 160 #define OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_CHANGE_CHANNEL (0xffff * 10 / 100) 161 162 // For `toranj` test script the value is decreased so that the tests can be run faster. 163 #define OPENTHREAD_CONFIG_TMF_PENDING_DATASET_MINIMUM_DELAY 1000 164 165 #define OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL 1 166 167 #define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 168 169 #define OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE 1 170 171 #define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 172 173 #define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 1 174 175 #define OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE 1 176 177 #define OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE 1 178 179 #define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 1 180 181 #define OPENTHREAD_CONFIG_DELAY_AWARE_QUEUE_MANAGEMENT_ENABLE 1 182 183 #define OPENTHREAD_CONFIG_CLI_REGISTER_IP6_RECV_CALLBACK 1 184 185 #define OPENTHREAD_CONFIG_MLE_PARENT_RESPONSE_CALLBACK_API_ENABLE 1 186 187 #ifndef OPENTHREAD_CONFIG_NET_DIAG_VENDOR_NAME 188 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_NAME "OpenThread by Google Nest" 189 #endif 190 191 #ifndef OPENTHREAD_CONFIG_NET_DIAG_VENDOR_MODEL 192 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_MODEL "Toranj Simulation" 193 #endif 194 195 #ifndef OPENTHREAD_CONFIG_NET_DIAG_VENDOR_SW_VERSION 196 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_SW_VERSION "OT-simul-toranj" 197 #endif 198 199 #define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE OPENTHREAD_FTD 200 201 #if OPENTHREAD_RADIO 202 203 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE 1 204 205 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_RETRANSMIT_ENABLE 1 206 207 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE 1 208 209 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE 1 210 211 #define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_TIMING_ENABLE 1 212 213 #endif 214