Rahul Dahiya / Mbed OS STM32F7 Ethernet
Committer:
rahul_dahiya
Date:
Wed Jan 15 15:57:15 2020 +0530
Revision:
0:fb8047b156bb
STM32F7 LWIP

Who changed what in which revision?

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