RTC auf true

Committer:
kevman
Date:
Wed Mar 13 11:03:24 2019 +0000
Revision:
2:7aab896b1a3b
Parent:
0:38ceb79fef03
2019-03-13

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevman 0:38ceb79fef03 1 /* Copyright (C) 2012 mbed.org, MIT License
kevman 0:38ceb79fef03 2 *
kevman 0:38ceb79fef03 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
kevman 0:38ceb79fef03 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
kevman 0:38ceb79fef03 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
kevman 0:38ceb79fef03 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
kevman 0:38ceb79fef03 7 * furnished to do so, subject to the following conditions:
kevman 0:38ceb79fef03 8 *
kevman 0:38ceb79fef03 9 * The above copyright notice and this permission notice shall be included in all copies or
kevman 0:38ceb79fef03 10 * substantial portions of the Software.
kevman 0:38ceb79fef03 11 *
kevman 0:38ceb79fef03 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
kevman 0:38ceb79fef03 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
kevman 0:38ceb79fef03 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
kevman 0:38ceb79fef03 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
kevman 0:38ceb79fef03 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
kevman 0:38ceb79fef03 17 */
kevman 0:38ceb79fef03 18
kevman 0:38ceb79fef03 19 #ifndef LWIPOPTS_H
kevman 0:38ceb79fef03 20 #define LWIPOPTS_H
kevman 0:38ceb79fef03 21
kevman 0:38ceb79fef03 22 // Workaround for Linux timeval
kevman 0:38ceb79fef03 23 #if defined (TOOLCHAIN_GCC)
kevman 0:38ceb79fef03 24 #define LWIP_TIMEVAL_PRIVATE 0
kevman 0:38ceb79fef03 25 #include <sys/time.h>
kevman 0:38ceb79fef03 26 #endif
kevman 0:38ceb79fef03 27
kevman 0:38ceb79fef03 28 // Operating System
kevman 0:38ceb79fef03 29 #define NO_SYS 0
kevman 0:38ceb79fef03 30
kevman 0:38ceb79fef03 31 #if MBED_CONF_LWIP_IPV4_ENABLED
kevman 0:38ceb79fef03 32 #define LWIP_IPV4 1
kevman 0:38ceb79fef03 33 #else
kevman 0:38ceb79fef03 34 #define LWIP_IPV4 0
kevman 0:38ceb79fef03 35 #endif
kevman 0:38ceb79fef03 36 #if MBED_CONF_LWIP_IPV6_ENABLED
kevman 0:38ceb79fef03 37 #define LWIP_IPV6 1
kevman 0:38ceb79fef03 38 #else
kevman 0:38ceb79fef03 39 #define LWIP_IPV6 0
kevman 0:38ceb79fef03 40 #endif
kevman 0:38ceb79fef03 41 #if !MBED_CONF_LWIP_IPV4_ENABLED && !MBED_CONF_LWIP_IPV6_ENABLED
kevman 0:38ceb79fef03 42 #error "Either IPv4 or IPv6 must be enabled."
kevman 0:38ceb79fef03 43 #endif
kevman 0:38ceb79fef03 44
kevman 0:38ceb79fef03 45 // On dual stack configuration how long to wait for both or preferred stack
kevman 0:38ceb79fef03 46 // addresses before completing bring up.
kevman 0:38ceb79fef03 47 #if LWIP_IPV4 && LWIP_IPV6
kevman 0:38ceb79fef03 48 #if MBED_CONF_LWIP_ADDR_TIMEOUT_MODE
kevman 0:38ceb79fef03 49 #define BOTH_ADDR_TIMEOUT MBED_CONF_LWIP_ADDR_TIMEOUT
kevman 0:38ceb79fef03 50 #define PREF_ADDR_TIMEOUT 0
kevman 0:38ceb79fef03 51 #else
kevman 0:38ceb79fef03 52 #define PREF_ADDR_TIMEOUT MBED_CONF_LWIP_ADDR_TIMEOUT
kevman 0:38ceb79fef03 53 #define BOTH_ADDR_TIMEOUT 0
kevman 0:38ceb79fef03 54 #endif
kevman 0:38ceb79fef03 55 #else
kevman 0:38ceb79fef03 56 #define PREF_ADDR_TIMEOUT 0
kevman 0:38ceb79fef03 57 #define BOTH_ADDR_TIMEOUT 0
kevman 0:38ceb79fef03 58 #endif
kevman 0:38ceb79fef03 59
kevman 0:38ceb79fef03 60 #define DHCP_TIMEOUT 60
kevman 0:38ceb79fef03 61
kevman 0:38ceb79fef03 62 #define PREF_IPV4 1
kevman 0:38ceb79fef03 63 #define PREF_IPV6 2
kevman 0:38ceb79fef03 64
kevman 0:38ceb79fef03 65 #if MBED_CONF_LWIP_IP_VER_PREF == 4
kevman 0:38ceb79fef03 66 #define IP_VERSION_PREF PREF_IPV4
kevman 0:38ceb79fef03 67 #endif
kevman 0:38ceb79fef03 68 #if MBED_CONF_LWIP_IP_VER_PREF == 6
kevman 0:38ceb79fef03 69 #define IP_VERSION_PREF PREF_IPV6
kevman 0:38ceb79fef03 70 #endif
kevman 0:38ceb79fef03 71 #ifndef IP_VERSION_PREF
kevman 0:38ceb79fef03 72 #error "Either IPv4 or IPv6 must be preferred."
kevman 0:38ceb79fef03 73 #endif
kevman 0:38ceb79fef03 74
kevman 0:38ceb79fef03 75 #undef LWIP_DEBUG
kevman 0:38ceb79fef03 76 #if MBED_CONF_LWIP_DEBUG_ENABLED
kevman 0:38ceb79fef03 77 #define LWIP_DEBUG 1
kevman 0:38ceb79fef03 78 #endif
kevman 0:38ceb79fef03 79
kevman 0:38ceb79fef03 80 #if NO_SYS == 0
kevman 0:38ceb79fef03 81 #include "cmsis_os2.h"
kevman 0:38ceb79fef03 82
kevman 0:38ceb79fef03 83 #define SYS_LIGHTWEIGHT_PROT 1
kevman 0:38ceb79fef03 84
kevman 0:38ceb79fef03 85 #define LWIP_RAW 0
kevman 0:38ceb79fef03 86
kevman 0:38ceb79fef03 87 #define TCPIP_MBOX_SIZE 8
kevman 0:38ceb79fef03 88 #define DEFAULT_TCP_RECVMBOX_SIZE 8
kevman 0:38ceb79fef03 89 #define DEFAULT_UDP_RECVMBOX_SIZE 8
kevman 0:38ceb79fef03 90 #define DEFAULT_RAW_RECVMBOX_SIZE 8
kevman 0:38ceb79fef03 91 #define DEFAULT_ACCEPTMBOX_SIZE 8
kevman 0:38ceb79fef03 92
kevman 0:38ceb79fef03 93 // Thread stacks use 8-byte alignment
kevman 0:38ceb79fef03 94 #define LWIP_ALIGN_UP(pos, align) ((pos) % (align) ? (pos) + ((align) - (pos) % (align)) : (pos))
kevman 0:38ceb79fef03 95
kevman 0:38ceb79fef03 96 // Thread stack size for lwip tcpip thread
kevman 0:38ceb79fef03 97 #ifndef MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE
kevman 0:38ceb79fef03 98 #define MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE 1200
kevman 0:38ceb79fef03 99 #endif
kevman 0:38ceb79fef03 100
kevman 0:38ceb79fef03 101 #ifdef LWIP_DEBUG
kevman 0:38ceb79fef03 102 // For LWIP debug, double the stack
kevman 0:38ceb79fef03 103 #define TCPIP_THREAD_STACKSIZE LWIP_ALIGN_UP(MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE*2, 8)
kevman 0:38ceb79fef03 104 #elif MBED_DEBUG
kevman 0:38ceb79fef03 105 // When debug is enabled on the build increase stack 25 percent
kevman 0:38ceb79fef03 106 #define TCPIP_THREAD_STACKSIZE LWIP_ALIGN_UP(MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE + MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE / 4, 8)
kevman 0:38ceb79fef03 107 #else
kevman 0:38ceb79fef03 108 #define TCPIP_THREAD_STACKSIZE LWIP_ALIGN_UP(MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE, 8)
kevman 0:38ceb79fef03 109 #endif
kevman 0:38ceb79fef03 110
kevman 0:38ceb79fef03 111 #define TCPIP_THREAD_PRIO (osPriorityNormal)
kevman 0:38ceb79fef03 112
kevman 0:38ceb79fef03 113 // Thread stack size for lwip system threads
kevman 0:38ceb79fef03 114 #ifndef MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE
kevman 0:38ceb79fef03 115 #define MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE 512
kevman 0:38ceb79fef03 116 #endif
kevman 0:38ceb79fef03 117
kevman 0:38ceb79fef03 118 // Thread stack size for private PPP thread
kevman 0:38ceb79fef03 119 #ifndef MBED_CONF_LWIP_PPP_THREAD_STACKSIZE
kevman 0:38ceb79fef03 120 #define MBED_CONF_LWIP_PPP_THREAD_STACKSIZE 768
kevman 0:38ceb79fef03 121 #endif
kevman 0:38ceb79fef03 122
kevman 0:38ceb79fef03 123 #ifdef LWIP_DEBUG
kevman 0:38ceb79fef03 124 #define DEFAULT_THREAD_STACKSIZE LWIP_ALIGN_UP(MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE*2, 8)
kevman 0:38ceb79fef03 125 #define PPP_THREAD_STACK_SIZE LWIP_ALIGN_UP(MBED_CONF_LWIP_PPP_THREAD_STACKSIZE*2, 8)
kevman 0:38ceb79fef03 126 #else
kevman 0:38ceb79fef03 127 #define DEFAULT_THREAD_STACKSIZE LWIP_ALIGN_UP(MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE, 8)
kevman 0:38ceb79fef03 128 #define PPP_THREAD_STACK_SIZE LWIP_ALIGN_UP(MBED_CONF_LWIP_PPP_THREAD_STACKSIZE, 8)
kevman 0:38ceb79fef03 129 #endif
kevman 0:38ceb79fef03 130
kevman 0:38ceb79fef03 131 #define MEMP_NUM_SYS_TIMEOUT 16
kevman 0:38ceb79fef03 132
kevman 0:38ceb79fef03 133 #define sys_msleep(ms) sys_msleep(ms)
kevman 0:38ceb79fef03 134
kevman 0:38ceb79fef03 135 #endif
kevman 0:38ceb79fef03 136
kevman 0:38ceb79fef03 137 // 32-bit alignment
kevman 0:38ceb79fef03 138 #define MEM_ALIGNMENT 4
kevman 0:38ceb79fef03 139
kevman 0:38ceb79fef03 140 #define LWIP_RAM_HEAP_POINTER lwip_ram_heap
kevman 0:38ceb79fef03 141
kevman 0:38ceb79fef03 142 // Number of simultaneously queued TCP segments.
kevman 0:38ceb79fef03 143 #ifdef MBED_CONF_LWIP_MEMP_NUM_TCP_SEG
kevman 0:38ceb79fef03 144 #define MEMP_NUM_TCP_SEG MBED_CONF_LWIP_MEMP_NUM_TCP_SEG
kevman 0:38ceb79fef03 145 #endif
kevman 0:38ceb79fef03 146
kevman 0:38ceb79fef03 147 // TCP Maximum segment size.
kevman 0:38ceb79fef03 148 #ifdef MBED_CONF_LWIP_TCP_MSS
kevman 0:38ceb79fef03 149 #define TCP_MSS MBED_CONF_LWIP_TCP_MSS
kevman 0:38ceb79fef03 150 #endif
kevman 0:38ceb79fef03 151
kevman 0:38ceb79fef03 152 // TCP sender buffer space (bytes).
kevman 0:38ceb79fef03 153 #ifdef MBED_CONF_LWIP_TCP_SND_BUF
kevman 0:38ceb79fef03 154 #define TCP_SND_BUF MBED_CONF_LWIP_TCP_SND_BUF
kevman 0:38ceb79fef03 155 #endif
kevman 0:38ceb79fef03 156
kevman 0:38ceb79fef03 157 // TCP sender buffer space (bytes).
kevman 0:38ceb79fef03 158 #ifdef MBED_CONF_LWIP_TCP_WND
kevman 0:38ceb79fef03 159 #define TCP_WND MBED_CONF_LWIP_TCP_WND
kevman 0:38ceb79fef03 160 #endif
kevman 0:38ceb79fef03 161
kevman 0:38ceb79fef03 162 // Number of pool pbufs.
kevman 0:38ceb79fef03 163 // Each requires 684 bytes of RAM (if MSS=536 and PBUF_POOL_BUFSIZE defaulting to be based on MSS)
kevman 0:38ceb79fef03 164 #ifdef MBED_CONF_LWIP_PBUF_POOL_SIZE
kevman 0:38ceb79fef03 165 #undef PBUF_POOL_SIZE
kevman 0:38ceb79fef03 166 #define PBUF_POOL_SIZE MBED_CONF_LWIP_PBUF_POOL_SIZE
kevman 0:38ceb79fef03 167 #else
kevman 0:38ceb79fef03 168 #ifndef PBUF_POOL_SIZE
kevman 0:38ceb79fef03 169 #define PBUF_POOL_SIZE 5
kevman 0:38ceb79fef03 170 #endif
kevman 0:38ceb79fef03 171 #endif
kevman 0:38ceb79fef03 172
kevman 0:38ceb79fef03 173 #ifdef MBED_CONF_LWIP_PBUF_POOL_BUFSIZE
kevman 0:38ceb79fef03 174 #undef PBUF_POOL_BUFSIZE
kevman 0:38ceb79fef03 175 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(MBED_CONF_LWIP_PBUF_POOL_BUFSIZE)
kevman 0:38ceb79fef03 176 #else
kevman 0:38ceb79fef03 177 #ifndef PBUF_POOL_BUFSIZE
kevman 0:38ceb79fef03 178 #if LWIP_IPV6
kevman 0:38ceb79fef03 179 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+20+40+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN)
kevman 0:38ceb79fef03 180 #elif LWIP_IPV4
kevman 0:38ceb79fef03 181 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+20+20+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN)
kevman 0:38ceb79fef03 182 #endif
kevman 0:38ceb79fef03 183 #endif
kevman 0:38ceb79fef03 184 #endif
kevman 0:38ceb79fef03 185
kevman 0:38ceb79fef03 186 #ifdef MBED_CONF_LWIP_MEM_SIZE
kevman 0:38ceb79fef03 187 #undef MEM_SIZE
kevman 0:38ceb79fef03 188 #define MEM_SIZE MBED_CONF_LWIP_MEM_SIZE
kevman 0:38ceb79fef03 189 #endif
kevman 0:38ceb79fef03 190
kevman 0:38ceb79fef03 191 // One tcp_pcb_listen is needed for each TCPServer.
kevman 0:38ceb79fef03 192 // Each requires 72 bytes of RAM.
kevman 0:38ceb79fef03 193 #ifdef MBED_CONF_LWIP_TCP_SERVER_MAX
kevman 0:38ceb79fef03 194 #define MEMP_NUM_TCP_PCB_LISTEN MBED_CONF_LWIP_TCP_SERVER_MAX
kevman 0:38ceb79fef03 195 #else
kevman 0:38ceb79fef03 196 #define MEMP_NUM_TCP_PCB_LISTEN 4
kevman 0:38ceb79fef03 197 #endif
kevman 0:38ceb79fef03 198
kevman 0:38ceb79fef03 199 // One is tcp_pcb needed for each TCPSocket.
kevman 0:38ceb79fef03 200 // Each requires 196 bytes of RAM.
kevman 0:38ceb79fef03 201 #ifdef MBED_CONF_LWIP_TCP_SOCKET_MAX
kevman 0:38ceb79fef03 202 #define MEMP_NUM_TCP_PCB MBED_CONF_LWIP_TCP_SOCKET_MAX
kevman 0:38ceb79fef03 203 #else
kevman 0:38ceb79fef03 204 #define MEMP_NUM_TCP_PCB 4
kevman 0:38ceb79fef03 205 #endif
kevman 0:38ceb79fef03 206
kevman 0:38ceb79fef03 207 // One udp_pcb is needed for each UDPSocket.
kevman 0:38ceb79fef03 208 // Each requires 84 bytes of RAM (total rounded to multiple of 512).
kevman 0:38ceb79fef03 209 #ifdef MBED_CONF_LWIP_UDP_SOCKET_MAX
kevman 0:38ceb79fef03 210 #define MEMP_NUM_UDP_PCB MBED_CONF_LWIP_UDP_SOCKET_MAX
kevman 0:38ceb79fef03 211 #else
kevman 0:38ceb79fef03 212 #define MEMP_NUM_UDP_PCB 4
kevman 0:38ceb79fef03 213 #endif
kevman 0:38ceb79fef03 214
kevman 0:38ceb79fef03 215 // Number of non-pool pbufs.
kevman 0:38ceb79fef03 216 // Each requires 92 bytes of RAM.
kevman 0:38ceb79fef03 217 #ifndef MEMP_NUM_PBUF
kevman 0:38ceb79fef03 218 #define MEMP_NUM_PBUF 8
kevman 0:38ceb79fef03 219 #endif
kevman 0:38ceb79fef03 220
kevman 0:38ceb79fef03 221 // Each netbuf requires 64 bytes of RAM.
kevman 0:38ceb79fef03 222 #ifndef MEMP_NUM_NETBUF
kevman 0:38ceb79fef03 223 #define MEMP_NUM_NETBUF 8
kevman 0:38ceb79fef03 224 #endif
kevman 0:38ceb79fef03 225
kevman 0:38ceb79fef03 226 // One netconn is needed for each UDPSocket, TCPSocket or TCPServer.
kevman 0:38ceb79fef03 227 // Each requires 236 bytes of RAM (total rounded to multiple of 512).
kevman 0:38ceb79fef03 228 #ifdef MBED_CONF_LWIP_SOCKET_MAX
kevman 0:38ceb79fef03 229 #define MEMP_NUM_NETCONN MBED_CONF_LWIP_SOCKET_MAX
kevman 0:38ceb79fef03 230 #else
kevman 0:38ceb79fef03 231 #define MEMP_NUM_NETCONN 4
kevman 0:38ceb79fef03 232 #endif
kevman 0:38ceb79fef03 233
kevman 0:38ceb79fef03 234 #if MBED_CONF_LWIP_TCP_ENABLED
kevman 0:38ceb79fef03 235 #define LWIP_TCP 1
kevman 0:38ceb79fef03 236 #define TCP_OVERSIZE 0
kevman 0:38ceb79fef03 237 #define LWIP_TCP_KEEPALIVE 1
kevman 0:38ceb79fef03 238 #else
kevman 0:38ceb79fef03 239 #define LWIP_TCP 0
kevman 0:38ceb79fef03 240 #endif
kevman 0:38ceb79fef03 241
kevman 0:38ceb79fef03 242 #define LWIP_DNS 1
kevman 0:38ceb79fef03 243 // Only DNS address storage is enabled
kevman 0:38ceb79fef03 244 #define LWIP_FULL_DNS 0
kevman 0:38ceb79fef03 245 #define LWIP_SOCKET 0
kevman 0:38ceb79fef03 246
kevman 0:38ceb79fef03 247 #define SO_REUSE 1
kevman 0:38ceb79fef03 248
kevman 0:38ceb79fef03 249 // Support Multicast
kevman 0:38ceb79fef03 250 #include "stdlib.h"
kevman 0:38ceb79fef03 251 #define LWIP_IGMP LWIP_IPV4
kevman 0:38ceb79fef03 252 #define LWIP_RAND() lwip_get_random()
kevman 0:38ceb79fef03 253
kevman 0:38ceb79fef03 254 #define LWIP_COMPAT_SOCKETS 0
kevman 0:38ceb79fef03 255 #define LWIP_POSIX_SOCKETS_IO_NAMES 0
kevman 0:38ceb79fef03 256 #define LWIP_SO_RCVTIMEO 1
kevman 0:38ceb79fef03 257
kevman 0:38ceb79fef03 258 #define LWIP_BROADCAST_PING 1
kevman 0:38ceb79fef03 259
kevman 0:38ceb79fef03 260 // Fragmentation on, as per IPv4 default
kevman 0:38ceb79fef03 261 #define LWIP_IPV6_FRAG LWIP_IPV6
kevman 0:38ceb79fef03 262
kevman 0:38ceb79fef03 263 // Queuing "disabled", as per IPv4 default (so actually queues 1)
kevman 0:38ceb79fef03 264 #define LWIP_ND6_QUEUEING 0
kevman 0:38ceb79fef03 265
kevman 0:38ceb79fef03 266 // Debug Options
kevman 0:38ceb79fef03 267 #define NETIF_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 268 #define PBUF_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 269 #define API_LIB_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 270 #define API_MSG_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 271 #define SOCKETS_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 272 #define ICMP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 273 #define IGMP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 274 #define INET_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 275 #define IP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 276 #define IP_REASS_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 277 #define RAW_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 278 #define MEM_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 279 #define MEMP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 280 #define SYS_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 281 #define TIMERS_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 282 #define TCP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 283 #define TCP_INPUT_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 284 #define TCP_FR_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 285 #define TCP_RTO_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 286 #define TCP_CWND_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 287 #define TCP_WND_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 288 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 289 #define TCP_RST_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 290 #define TCP_QLEN_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 291 #define UDP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 292 #define TCPIP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 293 #define SLIP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 294 #define DHCP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 295 #define AUTOIP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 296 #define DNS_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 297 #define IP6_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 298
kevman 0:38ceb79fef03 299 #if MBED_CONF_LWIP_ENABLE_PPP_TRACE
kevman 0:38ceb79fef03 300 #define PPP_DEBUG LWIP_DBG_ON
kevman 0:38ceb79fef03 301 #else
kevman 0:38ceb79fef03 302 #define PPP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 303 #endif //MBED_CONF_LWIP_ENABLE_PPP_TRACE
kevman 0:38ceb79fef03 304 #define ETHARP_DEBUG LWIP_DBG_OFF
kevman 0:38ceb79fef03 305 #define UDP_LPC_EMAC LWIP_DBG_OFF
kevman 0:38ceb79fef03 306
kevman 0:38ceb79fef03 307 #ifdef LWIP_DEBUG
kevman 0:38ceb79fef03 308 #define MEMP_OVERFLOW_CHECK 1
kevman 0:38ceb79fef03 309 #define MEMP_SANITY_CHECK 1
kevman 0:38ceb79fef03 310 #define LWIP_DBG_TYPES_ON LWIP_DBG_ON
kevman 0:38ceb79fef03 311 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL
kevman 0:38ceb79fef03 312 #else
kevman 0:38ceb79fef03 313 #define LWIP_NOASSERT 1
kevman 0:38ceb79fef03 314 #define LWIP_STATS 0
kevman 0:38ceb79fef03 315 #endif
kevman 0:38ceb79fef03 316
kevman 0:38ceb79fef03 317 #define TRACE_TO_ASCII_HEX_DUMP 0
kevman 0:38ceb79fef03 318
kevman 0:38ceb79fef03 319 #define LWIP_PLATFORM_BYTESWAP 1
kevman 0:38ceb79fef03 320
kevman 0:38ceb79fef03 321 #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 1
kevman 0:38ceb79fef03 322
kevman 0:38ceb79fef03 323 // Interface type configuration
kevman 0:38ceb79fef03 324
kevman 0:38ceb79fef03 325 #if MBED_CONF_LWIP_ETHERNET_ENABLED
kevman 0:38ceb79fef03 326 #define LWIP_ARP 1
kevman 0:38ceb79fef03 327 #define LWIP_ETHERNET 1
kevman 0:38ceb79fef03 328 #define LWIP_DHCP LWIP_IPV4
kevman 0:38ceb79fef03 329 #else
kevman 0:38ceb79fef03 330 #define LWIP_ARP 0
kevman 0:38ceb79fef03 331 #define LWIP_ETHERNET 0
kevman 0:38ceb79fef03 332 #endif // MBED_CONF_LWIP_ETHERNET_ENABLED
kevman 0:38ceb79fef03 333
kevman 0:38ceb79fef03 334 // Note generic macro name used rather than MBED_CONF_LWIP_PPP_ENABLED
kevman 0:38ceb79fef03 335 // to allow users like PPPCellularInterface to detect that nsapi_ppp.h is available.
kevman 0:38ceb79fef03 336 #if NSAPI_PPP_AVAILABLE
kevman 0:38ceb79fef03 337 #define PPP_SUPPORT 1
kevman 0:38ceb79fef03 338 #if MBED_CONF_LWIP_IPV6_ENABLED
kevman 0:38ceb79fef03 339 #define PPP_IPV6_SUPPORT 1
kevman 0:38ceb79fef03 340 // Disable DAD for PPP
kevman 0:38ceb79fef03 341 #define LWIP_IPV6_DUP_DETECT_ATTEMPTS 0
kevman 0:38ceb79fef03 342 #endif
kevman 0:38ceb79fef03 343 #define CHAP_SUPPORT 1
kevman 0:38ceb79fef03 344 #define PPP_INPROC_IRQ_SAFE 1
kevman 0:38ceb79fef03 345 // Save RAM
kevman 0:38ceb79fef03 346 #define PAP_SUPPORT 0
kevman 0:38ceb79fef03 347 #define VJ_SUPPORT 0
kevman 0:38ceb79fef03 348 #define PRINTPKT_SUPPORT 0
kevman 0:38ceb79fef03 349
kevman 0:38ceb79fef03 350 // Broadcast
kevman 0:38ceb79fef03 351 #define IP_SOF_BROADCAST 0
kevman 0:38ceb79fef03 352 #define IP_SOF_BROADCAST_RECV 0
kevman 0:38ceb79fef03 353
kevman 0:38ceb79fef03 354 #define MAXNAMELEN 64 /* max length of hostname or name for auth */
kevman 0:38ceb79fef03 355 #define MAXSECRETLEN 64
kevman 0:38ceb79fef03 356 #endif // NSAPI_PPP_AVAILABLE
kevman 0:38ceb79fef03 357
kevman 0:38ceb79fef03 358 // Make sure we default these to off, so
kevman 0:38ceb79fef03 359 // LWIP doesn't default to on
kevman 0:38ceb79fef03 360 #ifndef LWIP_ARP
kevman 0:38ceb79fef03 361 #define LWIP_ARP 0
kevman 0:38ceb79fef03 362 #endif
kevman 0:38ceb79fef03 363 // Checksum-on-copy disabled due to https://savannah.nongnu.org/bugs/?50914
kevman 0:38ceb79fef03 364 #define LWIP_CHECKSUM_ON_COPY 0
kevman 0:38ceb79fef03 365
kevman 0:38ceb79fef03 366 #define LWIP_NETIF_HOSTNAME 1
kevman 0:38ceb79fef03 367 #define LWIP_NETIF_STATUS_CALLBACK 1
kevman 0:38ceb79fef03 368 #define LWIP_NETIF_LINK_CALLBACK 1
kevman 0:38ceb79fef03 369
kevman 0:38ceb79fef03 370 #define DNS_TABLE_SIZE 2
kevman 0:38ceb79fef03 371 #define DNS_MAX_NAME_LENGTH 128
kevman 0:38ceb79fef03 372
kevman 0:38ceb79fef03 373 #include "lwip_random.h"
kevman 0:38ceb79fef03 374 #include "lwip_tcp_isn.h"
kevman 0:38ceb79fef03 375 #define LWIP_HOOK_TCP_ISN lwip_hook_tcp_isn
kevman 0:38ceb79fef03 376 #ifdef MBEDTLS_MD5_C
kevman 0:38ceb79fef03 377 #include "mbedtls/inc/mbedtls/md5.h"
kevman 0:38ceb79fef03 378 #define LWIP_USE_EXTERNAL_MBEDTLS 1
kevman 0:38ceb79fef03 379 #endif
kevman 0:38ceb79fef03 380
kevman 0:38ceb79fef03 381 #endif /* LWIPOPTS_H_ */