Official mbed lwIP library (version 1.4.0)

Dependents:   LwIPNetworking NetServicesMin EthernetInterface EthernetInterface_RSF ... more

Legacy Networking Libraries

This is an mbed 2 networking library. For mbed OS 5, lwip has been integrated with built-in networking interfaces. The networking libraries have been revised to better support additional network stacks and thread safety here.

This library is based on the code of lwIP v1.4.0

Copyright (c) 2001, 2002 Swedish Institute of Computer Science.
All rights reserved. 

Redistribution and use in source and binary forms, with or without modification, 
are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
   derived from this software without specific prior written permission. 

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
OF SUCH DAMAGE.
Committer:
mbed_official
Date:
Mon Mar 14 16:15:36 2016 +0000
Revision:
20:08f08bfc3f3d
Parent:
0:51ac1d130fd4
Synchronized with git revision fec574a5ed6db26aca1b13992ff271bf527d4a0d

Full URL: https://github.com/mbedmicro/mbed/commit/fec574a5ed6db26aca1b13992ff271bf527d4a0d/

Increased allocated netbufs to handle DTLS handshakes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:51ac1d130fd4 1 /**
mbed_official 0:51ac1d130fd4 2 * @file
mbed_official 0:51ac1d130fd4 3 *
mbed_official 0:51ac1d130fd4 4 * lwIP Options Configuration
mbed_official 0:51ac1d130fd4 5 */
mbed_official 0:51ac1d130fd4 6
mbed_official 0:51ac1d130fd4 7 /*
mbed_official 0:51ac1d130fd4 8 * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
mbed_official 0:51ac1d130fd4 9 * All rights reserved.
mbed_official 0:51ac1d130fd4 10 *
mbed_official 0:51ac1d130fd4 11 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 0:51ac1d130fd4 12 * are permitted provided that the following conditions are met:
mbed_official 0:51ac1d130fd4 13 *
mbed_official 0:51ac1d130fd4 14 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 0:51ac1d130fd4 15 * this list of conditions and the following disclaimer.
mbed_official 0:51ac1d130fd4 16 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 0:51ac1d130fd4 17 * this list of conditions and the following disclaimer in the documentation
mbed_official 0:51ac1d130fd4 18 * and/or other materials provided with the distribution.
mbed_official 0:51ac1d130fd4 19 * 3. The name of the author may not be used to endorse or promote products
mbed_official 0:51ac1d130fd4 20 * derived from this software without specific prior written permission.
mbed_official 0:51ac1d130fd4 21 *
mbed_official 0:51ac1d130fd4 22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
mbed_official 0:51ac1d130fd4 23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
mbed_official 0:51ac1d130fd4 24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
mbed_official 0:51ac1d130fd4 25 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
mbed_official 0:51ac1d130fd4 26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
mbed_official 0:51ac1d130fd4 27 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
mbed_official 0:51ac1d130fd4 28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
mbed_official 0:51ac1d130fd4 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
mbed_official 0:51ac1d130fd4 30 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
mbed_official 0:51ac1d130fd4 31 * OF SUCH DAMAGE.
mbed_official 0:51ac1d130fd4 32 *
mbed_official 0:51ac1d130fd4 33 * This file is part of the lwIP TCP/IP stack.
mbed_official 0:51ac1d130fd4 34 *
mbed_official 0:51ac1d130fd4 35 * Author: Adam Dunkels <adam@sics.se>
mbed_official 0:51ac1d130fd4 36 *
mbed_official 0:51ac1d130fd4 37 */
mbed_official 0:51ac1d130fd4 38 #ifndef __LWIP_OPT_H__
mbed_official 0:51ac1d130fd4 39 #define __LWIP_OPT_H__
mbed_official 0:51ac1d130fd4 40
mbed_official 0:51ac1d130fd4 41 /*
mbed_official 0:51ac1d130fd4 42 * Include user defined options first. Anything not defined in these files
mbed_official 0:51ac1d130fd4 43 * will be set to standard values. Override anything you dont like!
mbed_official 0:51ac1d130fd4 44 */
mbed_official 0:51ac1d130fd4 45 #include "lwipopts.h"
mbed_official 0:51ac1d130fd4 46 #include "lwip/debug.h"
mbed_official 0:51ac1d130fd4 47
mbed_official 0:51ac1d130fd4 48 /*
mbed_official 0:51ac1d130fd4 49 -----------------------------------------------
mbed_official 0:51ac1d130fd4 50 ---------- Platform specific locking ----------
mbed_official 0:51ac1d130fd4 51 -----------------------------------------------
mbed_official 0:51ac1d130fd4 52 */
mbed_official 0:51ac1d130fd4 53
mbed_official 0:51ac1d130fd4 54 /**
mbed_official 0:51ac1d130fd4 55 * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain
mbed_official 0:51ac1d130fd4 56 * critical regions during buffer allocation, deallocation and memory
mbed_official 0:51ac1d130fd4 57 * allocation and deallocation.
mbed_official 0:51ac1d130fd4 58 */
mbed_official 0:51ac1d130fd4 59 #ifndef SYS_LIGHTWEIGHT_PROT
mbed_official 0:51ac1d130fd4 60 #define SYS_LIGHTWEIGHT_PROT 0
mbed_official 0:51ac1d130fd4 61 #endif
mbed_official 0:51ac1d130fd4 62
mbed_official 0:51ac1d130fd4 63 /**
mbed_official 0:51ac1d130fd4 64 * NO_SYS==1: Provides VERY minimal functionality. Otherwise,
mbed_official 0:51ac1d130fd4 65 * use lwIP facilities.
mbed_official 0:51ac1d130fd4 66 */
mbed_official 0:51ac1d130fd4 67 #ifndef NO_SYS
mbed_official 0:51ac1d130fd4 68 #define NO_SYS 0
mbed_official 0:51ac1d130fd4 69 #endif
mbed_official 0:51ac1d130fd4 70
mbed_official 0:51ac1d130fd4 71 /**
mbed_official 0:51ac1d130fd4 72 * NO_SYS_NO_TIMERS==1: Drop support for sys_timeout when NO_SYS==1
mbed_official 0:51ac1d130fd4 73 * Mainly for compatibility to old versions.
mbed_official 0:51ac1d130fd4 74 */
mbed_official 0:51ac1d130fd4 75 #ifndef NO_SYS_NO_TIMERS
mbed_official 0:51ac1d130fd4 76 #define NO_SYS_NO_TIMERS 0
mbed_official 0:51ac1d130fd4 77 #endif
mbed_official 0:51ac1d130fd4 78
mbed_official 0:51ac1d130fd4 79 /**
mbed_official 0:51ac1d130fd4 80 * MEMCPY: override this if you have a faster implementation at hand than the
mbed_official 0:51ac1d130fd4 81 * one included in your C library
mbed_official 0:51ac1d130fd4 82 */
mbed_official 0:51ac1d130fd4 83 #ifndef MEMCPY
mbed_official 0:51ac1d130fd4 84 #define MEMCPY(dst,src,len) memcpy(dst,src,len)
mbed_official 0:51ac1d130fd4 85 #endif
mbed_official 0:51ac1d130fd4 86
mbed_official 0:51ac1d130fd4 87 /**
mbed_official 0:51ac1d130fd4 88 * SMEMCPY: override this with care! Some compilers (e.g. gcc) can inline a
mbed_official 0:51ac1d130fd4 89 * call to memcpy() if the length is known at compile time and is small.
mbed_official 0:51ac1d130fd4 90 */
mbed_official 0:51ac1d130fd4 91 #ifndef SMEMCPY
mbed_official 0:51ac1d130fd4 92 #define SMEMCPY(dst,src,len) memcpy(dst,src,len)
mbed_official 0:51ac1d130fd4 93 #endif
mbed_official 0:51ac1d130fd4 94
mbed_official 0:51ac1d130fd4 95 /*
mbed_official 0:51ac1d130fd4 96 ------------------------------------
mbed_official 0:51ac1d130fd4 97 ---------- Memory options ----------
mbed_official 0:51ac1d130fd4 98 ------------------------------------
mbed_official 0:51ac1d130fd4 99 */
mbed_official 0:51ac1d130fd4 100 /**
mbed_official 0:51ac1d130fd4 101 * MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library
mbed_official 0:51ac1d130fd4 102 * instead of the lwip internal allocator. Can save code size if you
mbed_official 0:51ac1d130fd4 103 * already use it.
mbed_official 0:51ac1d130fd4 104 */
mbed_official 0:51ac1d130fd4 105 #ifndef MEM_LIBC_MALLOC
mbed_official 0:51ac1d130fd4 106 #define MEM_LIBC_MALLOC 0
mbed_official 0:51ac1d130fd4 107 #endif
mbed_official 0:51ac1d130fd4 108
mbed_official 0:51ac1d130fd4 109 /**
mbed_official 0:51ac1d130fd4 110 * MEMP_MEM_MALLOC==1: Use mem_malloc/mem_free instead of the lwip pool allocator.
mbed_official 0:51ac1d130fd4 111 * Especially useful with MEM_LIBC_MALLOC but handle with care regarding execution
mbed_official 0:51ac1d130fd4 112 * speed and usage from interrupts!
mbed_official 0:51ac1d130fd4 113 */
mbed_official 0:51ac1d130fd4 114 #ifndef MEMP_MEM_MALLOC
mbed_official 0:51ac1d130fd4 115 #define MEMP_MEM_MALLOC 0
mbed_official 0:51ac1d130fd4 116 #endif
mbed_official 0:51ac1d130fd4 117
mbed_official 0:51ac1d130fd4 118 /**
mbed_official 0:51ac1d130fd4 119 * MEM_ALIGNMENT: should be set to the alignment of the CPU
mbed_official 0:51ac1d130fd4 120 * 4 byte alignment -> #define MEM_ALIGNMENT 4
mbed_official 0:51ac1d130fd4 121 * 2 byte alignment -> #define MEM_ALIGNMENT 2
mbed_official 0:51ac1d130fd4 122 */
mbed_official 0:51ac1d130fd4 123 #ifndef MEM_ALIGNMENT
mbed_official 0:51ac1d130fd4 124 #define MEM_ALIGNMENT 1
mbed_official 0:51ac1d130fd4 125 #endif
mbed_official 0:51ac1d130fd4 126
mbed_official 0:51ac1d130fd4 127 /**
mbed_official 0:51ac1d130fd4 128 * MEM_SIZE: the size of the heap memory. If the application will send
mbed_official 0:51ac1d130fd4 129 * a lot of data that needs to be copied, this should be set high.
mbed_official 0:51ac1d130fd4 130 */
mbed_official 0:51ac1d130fd4 131 #ifndef MEM_SIZE
mbed_official 0:51ac1d130fd4 132 #define MEM_SIZE 1600
mbed_official 0:51ac1d130fd4 133 #endif
mbed_official 0:51ac1d130fd4 134
mbed_official 0:51ac1d130fd4 135 /**
mbed_official 0:51ac1d130fd4 136 * MEMP_SEPARATE_POOLS: if defined to 1, each pool is placed in its own array.
mbed_official 0:51ac1d130fd4 137 * This can be used to individually change the location of each pool.
mbed_official 0:51ac1d130fd4 138 * Default is one big array for all pools
mbed_official 0:51ac1d130fd4 139 */
mbed_official 0:51ac1d130fd4 140 #ifndef MEMP_SEPARATE_POOLS
mbed_official 0:51ac1d130fd4 141 #define MEMP_SEPARATE_POOLS 0
mbed_official 0:51ac1d130fd4 142 #endif
mbed_official 0:51ac1d130fd4 143
mbed_official 0:51ac1d130fd4 144 /**
mbed_official 0:51ac1d130fd4 145 * MEMP_OVERFLOW_CHECK: memp overflow protection reserves a configurable
mbed_official 0:51ac1d130fd4 146 * amount of bytes before and after each memp element in every pool and fills
mbed_official 0:51ac1d130fd4 147 * it with a prominent default value.
mbed_official 0:51ac1d130fd4 148 * MEMP_OVERFLOW_CHECK == 0 no checking
mbed_official 0:51ac1d130fd4 149 * MEMP_OVERFLOW_CHECK == 1 checks each element when it is freed
mbed_official 0:51ac1d130fd4 150 * MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool every time
mbed_official 0:51ac1d130fd4 151 * memp_malloc() or memp_free() is called (useful but slow!)
mbed_official 0:51ac1d130fd4 152 */
mbed_official 0:51ac1d130fd4 153 #ifndef MEMP_OVERFLOW_CHECK
mbed_official 0:51ac1d130fd4 154 #define MEMP_OVERFLOW_CHECK 0
mbed_official 0:51ac1d130fd4 155 #endif
mbed_official 0:51ac1d130fd4 156
mbed_official 0:51ac1d130fd4 157 /**
mbed_official 0:51ac1d130fd4 158 * MEMP_SANITY_CHECK==1: run a sanity check after each memp_free() to make
mbed_official 0:51ac1d130fd4 159 * sure that there are no cycles in the linked lists.
mbed_official 0:51ac1d130fd4 160 */
mbed_official 0:51ac1d130fd4 161 #ifndef MEMP_SANITY_CHECK
mbed_official 0:51ac1d130fd4 162 #define MEMP_SANITY_CHECK 0
mbed_official 0:51ac1d130fd4 163 #endif
mbed_official 0:51ac1d130fd4 164
mbed_official 0:51ac1d130fd4 165 /**
mbed_official 0:51ac1d130fd4 166 * MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set
mbed_official 0:51ac1d130fd4 167 * of memory pools of various sizes. When mem_malloc is called, an element of
mbed_official 0:51ac1d130fd4 168 * the smallest pool that can provide the length needed is returned.
mbed_official 0:51ac1d130fd4 169 * To use this, MEMP_USE_CUSTOM_POOLS also has to be enabled.
mbed_official 0:51ac1d130fd4 170 */
mbed_official 0:51ac1d130fd4 171 #ifndef MEM_USE_POOLS
mbed_official 0:51ac1d130fd4 172 #define MEM_USE_POOLS 0
mbed_official 0:51ac1d130fd4 173 #endif
mbed_official 0:51ac1d130fd4 174
mbed_official 0:51ac1d130fd4 175 /**
mbed_official 0:51ac1d130fd4 176 * MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next
mbed_official 0:51ac1d130fd4 177 * bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more
mbed_official 0:51ac1d130fd4 178 * reliable. */
mbed_official 0:51ac1d130fd4 179 #ifndef MEM_USE_POOLS_TRY_BIGGER_POOL
mbed_official 0:51ac1d130fd4 180 #define MEM_USE_POOLS_TRY_BIGGER_POOL 0
mbed_official 0:51ac1d130fd4 181 #endif
mbed_official 0:51ac1d130fd4 182
mbed_official 0:51ac1d130fd4 183 /**
mbed_official 0:51ac1d130fd4 184 * MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h
mbed_official 0:51ac1d130fd4 185 * that defines additional pools beyond the "standard" ones required
mbed_official 0:51ac1d130fd4 186 * by lwIP. If you set this to 1, you must have lwippools.h in your
mbed_official 0:51ac1d130fd4 187 * inlude path somewhere.
mbed_official 0:51ac1d130fd4 188 */
mbed_official 0:51ac1d130fd4 189 #ifndef MEMP_USE_CUSTOM_POOLS
mbed_official 0:51ac1d130fd4 190 #define MEMP_USE_CUSTOM_POOLS 0
mbed_official 0:51ac1d130fd4 191 #endif
mbed_official 0:51ac1d130fd4 192
mbed_official 0:51ac1d130fd4 193 /**
mbed_official 0:51ac1d130fd4 194 * Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from
mbed_official 0:51ac1d130fd4 195 * interrupt context (or another context that doesn't allow waiting for a
mbed_official 0:51ac1d130fd4 196 * semaphore).
mbed_official 0:51ac1d130fd4 197 * If set to 1, mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT,
mbed_official 0:51ac1d130fd4 198 * while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs
mbed_official 0:51ac1d130fd4 199 * with each loop so that mem_free can run.
mbed_official 0:51ac1d130fd4 200 *
mbed_official 0:51ac1d130fd4 201 * ATTENTION: As you can see from the above description, this leads to dis-/
mbed_official 0:51ac1d130fd4 202 * enabling interrupts often, which can be slow! Also, on low memory, mem_malloc
mbed_official 0:51ac1d130fd4 203 * can need longer.
mbed_official 0:51ac1d130fd4 204 *
mbed_official 0:51ac1d130fd4 205 * If you don't want that, at least for NO_SYS=0, you can still use the following
mbed_official 0:51ac1d130fd4 206 * functions to enqueue a deallocation call which then runs in the tcpip_thread
mbed_official 0:51ac1d130fd4 207 * context:
mbed_official 0:51ac1d130fd4 208 * - pbuf_free_callback(p);
mbed_official 0:51ac1d130fd4 209 * - mem_free_callback(m);
mbed_official 0:51ac1d130fd4 210 */
mbed_official 0:51ac1d130fd4 211 #ifndef LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
mbed_official 0:51ac1d130fd4 212 #define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0
mbed_official 0:51ac1d130fd4 213 #endif
mbed_official 0:51ac1d130fd4 214
mbed_official 0:51ac1d130fd4 215 /*
mbed_official 0:51ac1d130fd4 216 ------------------------------------------------
mbed_official 0:51ac1d130fd4 217 ---------- Internal Memory Pool Sizes ----------
mbed_official 0:51ac1d130fd4 218 ------------------------------------------------
mbed_official 0:51ac1d130fd4 219 */
mbed_official 0:51ac1d130fd4 220 /**
mbed_official 0:51ac1d130fd4 221 * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF).
mbed_official 0:51ac1d130fd4 222 * If the application sends a lot of data out of ROM (or other static memory),
mbed_official 0:51ac1d130fd4 223 * this should be set high.
mbed_official 0:51ac1d130fd4 224 */
mbed_official 0:51ac1d130fd4 225 #ifndef MEMP_NUM_PBUF
mbed_official 0:51ac1d130fd4 226 #define MEMP_NUM_PBUF 16
mbed_official 0:51ac1d130fd4 227 #endif
mbed_official 0:51ac1d130fd4 228
mbed_official 0:51ac1d130fd4 229 /**
mbed_official 0:51ac1d130fd4 230 * MEMP_NUM_RAW_PCB: Number of raw connection PCBs
mbed_official 0:51ac1d130fd4 231 * (requires the LWIP_RAW option)
mbed_official 0:51ac1d130fd4 232 */
mbed_official 0:51ac1d130fd4 233 #ifndef MEMP_NUM_RAW_PCB
mbed_official 0:51ac1d130fd4 234 #define MEMP_NUM_RAW_PCB 4
mbed_official 0:51ac1d130fd4 235 #endif
mbed_official 0:51ac1d130fd4 236
mbed_official 0:51ac1d130fd4 237 /**
mbed_official 0:51ac1d130fd4 238 * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
mbed_official 0:51ac1d130fd4 239 * per active UDP "connection".
mbed_official 0:51ac1d130fd4 240 * (requires the LWIP_UDP option)
mbed_official 0:51ac1d130fd4 241 */
mbed_official 0:51ac1d130fd4 242 #ifndef MEMP_NUM_UDP_PCB
mbed_official 0:51ac1d130fd4 243 #define MEMP_NUM_UDP_PCB 4
mbed_official 0:51ac1d130fd4 244 #endif
mbed_official 0:51ac1d130fd4 245
mbed_official 0:51ac1d130fd4 246 /**
mbed_official 0:51ac1d130fd4 247 * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections.
mbed_official 0:51ac1d130fd4 248 * (requires the LWIP_TCP option)
mbed_official 0:51ac1d130fd4 249 */
mbed_official 0:51ac1d130fd4 250 #ifndef MEMP_NUM_TCP_PCB
mbed_official 0:51ac1d130fd4 251 #define MEMP_NUM_TCP_PCB 5
mbed_official 0:51ac1d130fd4 252 #endif
mbed_official 0:51ac1d130fd4 253
mbed_official 0:51ac1d130fd4 254 /**
mbed_official 0:51ac1d130fd4 255 * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections.
mbed_official 0:51ac1d130fd4 256 * (requires the LWIP_TCP option)
mbed_official 0:51ac1d130fd4 257 */
mbed_official 0:51ac1d130fd4 258 #ifndef MEMP_NUM_TCP_PCB_LISTEN
mbed_official 0:51ac1d130fd4 259 #define MEMP_NUM_TCP_PCB_LISTEN 8
mbed_official 0:51ac1d130fd4 260 #endif
mbed_official 0:51ac1d130fd4 261
mbed_official 0:51ac1d130fd4 262 /**
mbed_official 0:51ac1d130fd4 263 * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments.
mbed_official 0:51ac1d130fd4 264 * (requires the LWIP_TCP option)
mbed_official 0:51ac1d130fd4 265 */
mbed_official 0:51ac1d130fd4 266 #ifndef MEMP_NUM_TCP_SEG
mbed_official 0:51ac1d130fd4 267 #define MEMP_NUM_TCP_SEG 16
mbed_official 0:51ac1d130fd4 268 #endif
mbed_official 0:51ac1d130fd4 269
mbed_official 0:51ac1d130fd4 270 /**
mbed_official 0:51ac1d130fd4 271 * MEMP_NUM_REASSDATA: the number of IP packets simultaneously queued for
mbed_official 0:51ac1d130fd4 272 * reassembly (whole packets, not fragments!)
mbed_official 0:51ac1d130fd4 273 */
mbed_official 0:51ac1d130fd4 274 #ifndef MEMP_NUM_REASSDATA
mbed_official 0:51ac1d130fd4 275 #define MEMP_NUM_REASSDATA 5
mbed_official 0:51ac1d130fd4 276 #endif
mbed_official 0:51ac1d130fd4 277
mbed_official 0:51ac1d130fd4 278 /**
mbed_official 0:51ac1d130fd4 279 * MEMP_NUM_FRAG_PBUF: the number of IP fragments simultaneously sent
mbed_official 0:51ac1d130fd4 280 * (fragments, not whole packets!).
mbed_official 0:51ac1d130fd4 281 * This is only used with IP_FRAG_USES_STATIC_BUF==0 and
mbed_official 0:51ac1d130fd4 282 * LWIP_NETIF_TX_SINGLE_PBUF==0 and only has to be > 1 with DMA-enabled MACs
mbed_official 0:51ac1d130fd4 283 * where the packet is not yet sent when netif->output returns.
mbed_official 0:51ac1d130fd4 284 */
mbed_official 0:51ac1d130fd4 285 #ifndef MEMP_NUM_FRAG_PBUF
mbed_official 0:51ac1d130fd4 286 #define MEMP_NUM_FRAG_PBUF 15
mbed_official 0:51ac1d130fd4 287 #endif
mbed_official 0:51ac1d130fd4 288
mbed_official 0:51ac1d130fd4 289 /**
mbed_official 0:51ac1d130fd4 290 * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing
mbed_official 0:51ac1d130fd4 291 * packets (pbufs) that are waiting for an ARP request (to resolve
mbed_official 0:51ac1d130fd4 292 * their destination address) to finish.
mbed_official 0:51ac1d130fd4 293 * (requires the ARP_QUEUEING option)
mbed_official 0:51ac1d130fd4 294 */
mbed_official 0:51ac1d130fd4 295 #ifndef MEMP_NUM_ARP_QUEUE
mbed_official 0:51ac1d130fd4 296 #define MEMP_NUM_ARP_QUEUE 30
mbed_official 0:51ac1d130fd4 297 #endif
mbed_official 0:51ac1d130fd4 298
mbed_official 0:51ac1d130fd4 299 /**
mbed_official 0:51ac1d130fd4 300 * MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces
mbed_official 0:51ac1d130fd4 301 * can be members et the same time (one per netif - allsystems group -, plus one
mbed_official 0:51ac1d130fd4 302 * per netif membership).
mbed_official 0:51ac1d130fd4 303 * (requires the LWIP_IGMP option)
mbed_official 0:51ac1d130fd4 304 */
mbed_official 0:51ac1d130fd4 305 #ifndef MEMP_NUM_IGMP_GROUP
mbed_official 0:51ac1d130fd4 306 #define MEMP_NUM_IGMP_GROUP 8
mbed_official 0:51ac1d130fd4 307 #endif
mbed_official 0:51ac1d130fd4 308
mbed_official 0:51ac1d130fd4 309 /**
mbed_official 0:51ac1d130fd4 310 * MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts.
mbed_official 0:51ac1d130fd4 311 * (requires NO_SYS==0)
mbed_official 0:51ac1d130fd4 312 */
mbed_official 0:51ac1d130fd4 313 #ifndef MEMP_NUM_SYS_TIMEOUT
mbed_official 0:51ac1d130fd4 314 #define MEMP_NUM_SYS_TIMEOUT 3
mbed_official 0:51ac1d130fd4 315 #endif
mbed_official 0:51ac1d130fd4 316
mbed_official 0:51ac1d130fd4 317 /**
mbed_official 0:51ac1d130fd4 318 * MEMP_NUM_NETBUF: the number of struct netbufs.
mbed_official 0:51ac1d130fd4 319 * (only needed if you use the sequential API, like api_lib.c)
mbed_official 0:51ac1d130fd4 320 */
mbed_official 0:51ac1d130fd4 321 #ifndef MEMP_NUM_NETBUF
mbed_official 0:51ac1d130fd4 322 #define MEMP_NUM_NETBUF 2
mbed_official 0:51ac1d130fd4 323 #endif
mbed_official 0:51ac1d130fd4 324
mbed_official 0:51ac1d130fd4 325 /**
mbed_official 0:51ac1d130fd4 326 * MEMP_NUM_NETCONN: the number of struct netconns.
mbed_official 0:51ac1d130fd4 327 * (only needed if you use the sequential API, like api_lib.c)
mbed_official 0:51ac1d130fd4 328 */
mbed_official 0:51ac1d130fd4 329 #ifndef MEMP_NUM_NETCONN
mbed_official 0:51ac1d130fd4 330 #define MEMP_NUM_NETCONN 4
mbed_official 0:51ac1d130fd4 331 #endif
mbed_official 0:51ac1d130fd4 332
mbed_official 0:51ac1d130fd4 333 /**
mbed_official 0:51ac1d130fd4 334 * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used
mbed_official 0:51ac1d130fd4 335 * for callback/timeout API communication.
mbed_official 0:51ac1d130fd4 336 * (only needed if you use tcpip.c)
mbed_official 0:51ac1d130fd4 337 */
mbed_official 0:51ac1d130fd4 338 #ifndef MEMP_NUM_TCPIP_MSG_API
mbed_official 0:51ac1d130fd4 339 #define MEMP_NUM_TCPIP_MSG_API 8
mbed_official 0:51ac1d130fd4 340 #endif
mbed_official 0:51ac1d130fd4 341
mbed_official 0:51ac1d130fd4 342 /**
mbed_official 0:51ac1d130fd4 343 * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used
mbed_official 0:51ac1d130fd4 344 * for incoming packets.
mbed_official 0:51ac1d130fd4 345 * (only needed if you use tcpip.c)
mbed_official 0:51ac1d130fd4 346 */
mbed_official 0:51ac1d130fd4 347 #ifndef MEMP_NUM_TCPIP_MSG_INPKT
mbed_official 0:51ac1d130fd4 348 #define MEMP_NUM_TCPIP_MSG_INPKT 8
mbed_official 0:51ac1d130fd4 349 #endif
mbed_official 0:51ac1d130fd4 350
mbed_official 0:51ac1d130fd4 351 /**
mbed_official 0:51ac1d130fd4 352 * MEMP_NUM_SNMP_NODE: the number of leafs in the SNMP tree.
mbed_official 0:51ac1d130fd4 353 */
mbed_official 0:51ac1d130fd4 354 #ifndef MEMP_NUM_SNMP_NODE
mbed_official 0:51ac1d130fd4 355 #define MEMP_NUM_SNMP_NODE 50
mbed_official 0:51ac1d130fd4 356 #endif
mbed_official 0:51ac1d130fd4 357
mbed_official 0:51ac1d130fd4 358 /**
mbed_official 0:51ac1d130fd4 359 * MEMP_NUM_SNMP_ROOTNODE: the number of branches in the SNMP tree.
mbed_official 0:51ac1d130fd4 360 * Every branch has one leaf (MEMP_NUM_SNMP_NODE) at least!
mbed_official 0:51ac1d130fd4 361 */
mbed_official 0:51ac1d130fd4 362 #ifndef MEMP_NUM_SNMP_ROOTNODE
mbed_official 0:51ac1d130fd4 363 #define MEMP_NUM_SNMP_ROOTNODE 30
mbed_official 0:51ac1d130fd4 364 #endif
mbed_official 0:51ac1d130fd4 365
mbed_official 0:51ac1d130fd4 366 /**
mbed_official 0:51ac1d130fd4 367 * MEMP_NUM_SNMP_VARBIND: the number of concurrent requests (does not have to
mbed_official 0:51ac1d130fd4 368 * be changed normally) - 2 of these are used per request (1 for input,
mbed_official 0:51ac1d130fd4 369 * 1 for output)
mbed_official 0:51ac1d130fd4 370 */
mbed_official 0:51ac1d130fd4 371 #ifndef MEMP_NUM_SNMP_VARBIND
mbed_official 0:51ac1d130fd4 372 #define MEMP_NUM_SNMP_VARBIND 2
mbed_official 0:51ac1d130fd4 373 #endif
mbed_official 0:51ac1d130fd4 374
mbed_official 0:51ac1d130fd4 375 /**
mbed_official 0:51ac1d130fd4 376 * MEMP_NUM_SNMP_VALUE: the number of OID or values concurrently used
mbed_official 0:51ac1d130fd4 377 * (does not have to be changed normally) - 3 of these are used per request
mbed_official 0:51ac1d130fd4 378 * (1 for the value read and 2 for OIDs - input and output)
mbed_official 0:51ac1d130fd4 379 */
mbed_official 0:51ac1d130fd4 380 #ifndef MEMP_NUM_SNMP_VALUE
mbed_official 0:51ac1d130fd4 381 #define MEMP_NUM_SNMP_VALUE 3
mbed_official 0:51ac1d130fd4 382 #endif
mbed_official 0:51ac1d130fd4 383
mbed_official 0:51ac1d130fd4 384 /**
mbed_official 0:51ac1d130fd4 385 * MEMP_NUM_NETDB: the number of concurrently running lwip_addrinfo() calls
mbed_official 0:51ac1d130fd4 386 * (before freeing the corresponding memory using lwip_freeaddrinfo()).
mbed_official 0:51ac1d130fd4 387 */
mbed_official 0:51ac1d130fd4 388 #ifndef MEMP_NUM_NETDB
mbed_official 0:51ac1d130fd4 389 #define MEMP_NUM_NETDB 1
mbed_official 0:51ac1d130fd4 390 #endif
mbed_official 0:51ac1d130fd4 391
mbed_official 0:51ac1d130fd4 392 /**
mbed_official 0:51ac1d130fd4 393 * MEMP_NUM_LOCALHOSTLIST: the number of host entries in the local host list
mbed_official 0:51ac1d130fd4 394 * if DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1.
mbed_official 0:51ac1d130fd4 395 */
mbed_official 0:51ac1d130fd4 396 #ifndef MEMP_NUM_LOCALHOSTLIST
mbed_official 0:51ac1d130fd4 397 #define MEMP_NUM_LOCALHOSTLIST 1
mbed_official 0:51ac1d130fd4 398 #endif
mbed_official 0:51ac1d130fd4 399
mbed_official 0:51ac1d130fd4 400 /**
mbed_official 0:51ac1d130fd4 401 * MEMP_NUM_PPPOE_INTERFACES: the number of concurrently active PPPoE
mbed_official 0:51ac1d130fd4 402 * interfaces (only used with PPPOE_SUPPORT==1)
mbed_official 0:51ac1d130fd4 403 */
mbed_official 0:51ac1d130fd4 404 #ifndef MEMP_NUM_PPPOE_INTERFACES
mbed_official 0:51ac1d130fd4 405 #define MEMP_NUM_PPPOE_INTERFACES 1
mbed_official 0:51ac1d130fd4 406 #endif
mbed_official 0:51ac1d130fd4 407
mbed_official 0:51ac1d130fd4 408 /**
mbed_official 0:51ac1d130fd4 409 * PBUF_POOL_SIZE: the number of buffers in the pbuf pool.
mbed_official 0:51ac1d130fd4 410 */
mbed_official 0:51ac1d130fd4 411 #ifndef PBUF_POOL_SIZE
mbed_official 0:51ac1d130fd4 412 #define PBUF_POOL_SIZE 16
mbed_official 0:51ac1d130fd4 413 #endif
mbed_official 0:51ac1d130fd4 414
mbed_official 0:51ac1d130fd4 415 /*
mbed_official 0:51ac1d130fd4 416 ---------------------------------
mbed_official 0:51ac1d130fd4 417 ---------- ARP options ----------
mbed_official 0:51ac1d130fd4 418 ---------------------------------
mbed_official 0:51ac1d130fd4 419 */
mbed_official 0:51ac1d130fd4 420 /**
mbed_official 0:51ac1d130fd4 421 * LWIP_ARP==1: Enable ARP functionality.
mbed_official 0:51ac1d130fd4 422 */
mbed_official 0:51ac1d130fd4 423 #ifndef LWIP_ARP
mbed_official 0:51ac1d130fd4 424 #define LWIP_ARP 1
mbed_official 0:51ac1d130fd4 425 #endif
mbed_official 0:51ac1d130fd4 426
mbed_official 0:51ac1d130fd4 427 /**
mbed_official 0:51ac1d130fd4 428 * ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached.
mbed_official 0:51ac1d130fd4 429 */
mbed_official 0:51ac1d130fd4 430 #ifndef ARP_TABLE_SIZE
mbed_official 0:51ac1d130fd4 431 #define ARP_TABLE_SIZE 10
mbed_official 0:51ac1d130fd4 432 #endif
mbed_official 0:51ac1d130fd4 433
mbed_official 0:51ac1d130fd4 434 /**
mbed_official 0:51ac1d130fd4 435 * ARP_QUEUEING==1: Multiple outgoing packets are queued during hardware address
mbed_official 0:51ac1d130fd4 436 * resolution. By default, only the most recent packet is queued per IP address.
mbed_official 0:51ac1d130fd4 437 * This is sufficient for most protocols and mainly reduces TCP connection
mbed_official 0:51ac1d130fd4 438 * startup time. Set this to 1 if you know your application sends more than one
mbed_official 0:51ac1d130fd4 439 * packet in a row to an IP address that is not in the ARP cache.
mbed_official 0:51ac1d130fd4 440 */
mbed_official 0:51ac1d130fd4 441 #ifndef ARP_QUEUEING
mbed_official 0:51ac1d130fd4 442 #define ARP_QUEUEING 0
mbed_official 0:51ac1d130fd4 443 #endif
mbed_official 0:51ac1d130fd4 444
mbed_official 0:51ac1d130fd4 445 /**
mbed_official 0:51ac1d130fd4 446 * ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be
mbed_official 0:51ac1d130fd4 447 * updated with the source MAC and IP addresses supplied in the packet.
mbed_official 0:51ac1d130fd4 448 * You may want to disable this if you do not trust LAN peers to have the
mbed_official 0:51ac1d130fd4 449 * correct addresses, or as a limited approach to attempt to handle
mbed_official 0:51ac1d130fd4 450 * spoofing. If disabled, lwIP will need to make a new ARP request if
mbed_official 0:51ac1d130fd4 451 * the peer is not already in the ARP table, adding a little latency.
mbed_official 0:51ac1d130fd4 452 * The peer *is* in the ARP table if it requested our address before.
mbed_official 0:51ac1d130fd4 453 * Also notice that this slows down input processing of every IP packet!
mbed_official 0:51ac1d130fd4 454 */
mbed_official 0:51ac1d130fd4 455 #ifndef ETHARP_TRUST_IP_MAC
mbed_official 0:51ac1d130fd4 456 #define ETHARP_TRUST_IP_MAC 0
mbed_official 0:51ac1d130fd4 457 #endif
mbed_official 0:51ac1d130fd4 458
mbed_official 0:51ac1d130fd4 459 /**
mbed_official 0:51ac1d130fd4 460 * ETHARP_SUPPORT_VLAN==1: support receiving ethernet packets with VLAN header.
mbed_official 0:51ac1d130fd4 461 * Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check.
mbed_official 0:51ac1d130fd4 462 * If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted.
mbed_official 0:51ac1d130fd4 463 * If ETHARP_VLAN_CHECK is not defined, all traffic is accepted.
mbed_official 0:51ac1d130fd4 464 */
mbed_official 0:51ac1d130fd4 465 #ifndef ETHARP_SUPPORT_VLAN
mbed_official 0:51ac1d130fd4 466 #define ETHARP_SUPPORT_VLAN 0
mbed_official 0:51ac1d130fd4 467 #endif
mbed_official 0:51ac1d130fd4 468
mbed_official 0:51ac1d130fd4 469 /** LWIP_ETHERNET==1: enable ethernet support for PPPoE even though ARP
mbed_official 0:51ac1d130fd4 470 * might be disabled
mbed_official 0:51ac1d130fd4 471 */
mbed_official 0:51ac1d130fd4 472 #ifndef LWIP_ETHERNET
mbed_official 0:51ac1d130fd4 473 #define LWIP_ETHERNET (LWIP_ARP || PPPOE_SUPPORT)
mbed_official 0:51ac1d130fd4 474 #endif
mbed_official 0:51ac1d130fd4 475
mbed_official 0:51ac1d130fd4 476 /** ETH_PAD_SIZE: number of bytes added before the ethernet header to ensure
mbed_official 0:51ac1d130fd4 477 * alignment of payload after that header. Since the header is 14 bytes long,
mbed_official 0:51ac1d130fd4 478 * without this padding e.g. addresses in the IP header will not be aligned
mbed_official 0:51ac1d130fd4 479 * on a 32-bit boundary, so setting this to 2 can speed up 32-bit-platforms.
mbed_official 0:51ac1d130fd4 480 */
mbed_official 0:51ac1d130fd4 481 #ifndef ETH_PAD_SIZE
mbed_official 0:51ac1d130fd4 482 #define ETH_PAD_SIZE 0
mbed_official 0:51ac1d130fd4 483 #endif
mbed_official 0:51ac1d130fd4 484
mbed_official 0:51ac1d130fd4 485 /** ETHARP_SUPPORT_STATIC_ENTRIES==1: enable code to support static ARP table
mbed_official 0:51ac1d130fd4 486 * entries (using etharp_add_static_entry/etharp_remove_static_entry).
mbed_official 0:51ac1d130fd4 487 */
mbed_official 0:51ac1d130fd4 488 #ifndef ETHARP_SUPPORT_STATIC_ENTRIES
mbed_official 0:51ac1d130fd4 489 #define ETHARP_SUPPORT_STATIC_ENTRIES 0
mbed_official 0:51ac1d130fd4 490 #endif
mbed_official 0:51ac1d130fd4 491
mbed_official 0:51ac1d130fd4 492
mbed_official 0:51ac1d130fd4 493 /*
mbed_official 0:51ac1d130fd4 494 --------------------------------
mbed_official 0:51ac1d130fd4 495 ---------- IP options ----------
mbed_official 0:51ac1d130fd4 496 --------------------------------
mbed_official 0:51ac1d130fd4 497 */
mbed_official 0:51ac1d130fd4 498 /**
mbed_official 0:51ac1d130fd4 499 * IP_FORWARD==1: Enables the ability to forward IP packets across network
mbed_official 0:51ac1d130fd4 500 * interfaces. If you are going to run lwIP on a device with only one network
mbed_official 0:51ac1d130fd4 501 * interface, define this to 0.
mbed_official 0:51ac1d130fd4 502 */
mbed_official 0:51ac1d130fd4 503 #ifndef IP_FORWARD
mbed_official 0:51ac1d130fd4 504 #define IP_FORWARD 0
mbed_official 0:51ac1d130fd4 505 #endif
mbed_official 0:51ac1d130fd4 506
mbed_official 0:51ac1d130fd4 507 /**
mbed_official 0:51ac1d130fd4 508 * IP_OPTIONS_ALLOWED: Defines the behavior for IP options.
mbed_official 0:51ac1d130fd4 509 * IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped.
mbed_official 0:51ac1d130fd4 510 * IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed).
mbed_official 0:51ac1d130fd4 511 */
mbed_official 0:51ac1d130fd4 512 #ifndef IP_OPTIONS_ALLOWED
mbed_official 0:51ac1d130fd4 513 #define IP_OPTIONS_ALLOWED 1
mbed_official 0:51ac1d130fd4 514 #endif
mbed_official 0:51ac1d130fd4 515
mbed_official 0:51ac1d130fd4 516 /**
mbed_official 0:51ac1d130fd4 517 * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that
mbed_official 0:51ac1d130fd4 518 * this option does not affect outgoing packet sizes, which can be controlled
mbed_official 0:51ac1d130fd4 519 * via IP_FRAG.
mbed_official 0:51ac1d130fd4 520 */
mbed_official 0:51ac1d130fd4 521 #ifndef IP_REASSEMBLY
mbed_official 0:51ac1d130fd4 522 #define IP_REASSEMBLY 1
mbed_official 0:51ac1d130fd4 523 #endif
mbed_official 0:51ac1d130fd4 524
mbed_official 0:51ac1d130fd4 525 /**
mbed_official 0:51ac1d130fd4 526 * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note
mbed_official 0:51ac1d130fd4 527 * that this option does not affect incoming packet sizes, which can be
mbed_official 0:51ac1d130fd4 528 * controlled via IP_REASSEMBLY.
mbed_official 0:51ac1d130fd4 529 */
mbed_official 0:51ac1d130fd4 530 #ifndef IP_FRAG
mbed_official 0:51ac1d130fd4 531 #define IP_FRAG 1
mbed_official 0:51ac1d130fd4 532 #endif
mbed_official 0:51ac1d130fd4 533
mbed_official 0:51ac1d130fd4 534 /**
mbed_official 0:51ac1d130fd4 535 * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally)
mbed_official 0:51ac1d130fd4 536 * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived
mbed_official 0:51ac1d130fd4 537 * in this time, the whole packet is discarded.
mbed_official 0:51ac1d130fd4 538 */
mbed_official 0:51ac1d130fd4 539 #ifndef IP_REASS_MAXAGE
mbed_official 0:51ac1d130fd4 540 #define IP_REASS_MAXAGE 3
mbed_official 0:51ac1d130fd4 541 #endif
mbed_official 0:51ac1d130fd4 542
mbed_official 0:51ac1d130fd4 543 /**
mbed_official 0:51ac1d130fd4 544 * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled.
mbed_official 0:51ac1d130fd4 545 * Since the received pbufs are enqueued, be sure to configure
mbed_official 0:51ac1d130fd4 546 * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive
mbed_official 0:51ac1d130fd4 547 * packets even if the maximum amount of fragments is enqueued for reassembly!
mbed_official 0:51ac1d130fd4 548 */
mbed_official 0:51ac1d130fd4 549 #ifndef IP_REASS_MAX_PBUFS
mbed_official 0:51ac1d130fd4 550 #define IP_REASS_MAX_PBUFS 10
mbed_official 0:51ac1d130fd4 551 #endif
mbed_official 0:51ac1d130fd4 552
mbed_official 0:51ac1d130fd4 553 /**
mbed_official 0:51ac1d130fd4 554 * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP
mbed_official 0:51ac1d130fd4 555 * fragmentation. Otherwise pbufs are allocated and reference the original
mbed_official 0:51ac1d130fd4 556 * packet data to be fragmented (or with LWIP_NETIF_TX_SINGLE_PBUF==1,
mbed_official 0:51ac1d130fd4 557 * new PBUF_RAM pbufs are used for fragments).
mbed_official 0:51ac1d130fd4 558 * ATTENTION: IP_FRAG_USES_STATIC_BUF==1 may not be used for DMA-enabled MACs!
mbed_official 0:51ac1d130fd4 559 */
mbed_official 0:51ac1d130fd4 560 #ifndef IP_FRAG_USES_STATIC_BUF
mbed_official 0:51ac1d130fd4 561 #define IP_FRAG_USES_STATIC_BUF 0
mbed_official 0:51ac1d130fd4 562 #endif
mbed_official 0:51ac1d130fd4 563
mbed_official 0:51ac1d130fd4 564 /**
mbed_official 0:51ac1d130fd4 565 * IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer
mbed_official 0:51ac1d130fd4 566 * (requires IP_FRAG_USES_STATIC_BUF==1)
mbed_official 0:51ac1d130fd4 567 */
mbed_official 0:51ac1d130fd4 568 #if IP_FRAG_USES_STATIC_BUF && !defined(IP_FRAG_MAX_MTU)
mbed_official 0:51ac1d130fd4 569 #define IP_FRAG_MAX_MTU 1500
mbed_official 0:51ac1d130fd4 570 #endif
mbed_official 0:51ac1d130fd4 571
mbed_official 0:51ac1d130fd4 572 /**
mbed_official 0:51ac1d130fd4 573 * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers.
mbed_official 0:51ac1d130fd4 574 */
mbed_official 0:51ac1d130fd4 575 #ifndef IP_DEFAULT_TTL
mbed_official 0:51ac1d130fd4 576 #define IP_DEFAULT_TTL 255
mbed_official 0:51ac1d130fd4 577 #endif
mbed_official 0:51ac1d130fd4 578
mbed_official 0:51ac1d130fd4 579 /**
mbed_official 0:51ac1d130fd4 580 * IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast
mbed_official 0:51ac1d130fd4 581 * filter per pcb on udp and raw send operations. To enable broadcast filter
mbed_official 0:51ac1d130fd4 582 * on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1.
mbed_official 0:51ac1d130fd4 583 */
mbed_official 0:51ac1d130fd4 584 #ifndef IP_SOF_BROADCAST
mbed_official 0:51ac1d130fd4 585 #define IP_SOF_BROADCAST 0
mbed_official 0:51ac1d130fd4 586 #endif
mbed_official 0:51ac1d130fd4 587
mbed_official 0:51ac1d130fd4 588 /**
mbed_official 0:51ac1d130fd4 589 * IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast
mbed_official 0:51ac1d130fd4 590 * filter on recv operations.
mbed_official 0:51ac1d130fd4 591 */
mbed_official 0:51ac1d130fd4 592 #ifndef IP_SOF_BROADCAST_RECV
mbed_official 0:51ac1d130fd4 593 #define IP_SOF_BROADCAST_RECV 0
mbed_official 0:51ac1d130fd4 594 #endif
mbed_official 0:51ac1d130fd4 595
mbed_official 0:51ac1d130fd4 596 /*
mbed_official 0:51ac1d130fd4 597 ----------------------------------
mbed_official 0:51ac1d130fd4 598 ---------- ICMP options ----------
mbed_official 0:51ac1d130fd4 599 ----------------------------------
mbed_official 0:51ac1d130fd4 600 */
mbed_official 0:51ac1d130fd4 601 /**
mbed_official 0:51ac1d130fd4 602 * LWIP_ICMP==1: Enable ICMP module inside the IP stack.
mbed_official 0:51ac1d130fd4 603 * Be careful, disable that make your product non-compliant to RFC1122
mbed_official 0:51ac1d130fd4 604 */
mbed_official 0:51ac1d130fd4 605 #ifndef LWIP_ICMP
mbed_official 0:51ac1d130fd4 606 #define LWIP_ICMP 1
mbed_official 0:51ac1d130fd4 607 #endif
mbed_official 0:51ac1d130fd4 608
mbed_official 0:51ac1d130fd4 609 /**
mbed_official 0:51ac1d130fd4 610 * ICMP_TTL: Default value for Time-To-Live used by ICMP packets.
mbed_official 0:51ac1d130fd4 611 */
mbed_official 0:51ac1d130fd4 612 #ifndef ICMP_TTL
mbed_official 0:51ac1d130fd4 613 #define ICMP_TTL (IP_DEFAULT_TTL)
mbed_official 0:51ac1d130fd4 614 #endif
mbed_official 0:51ac1d130fd4 615
mbed_official 0:51ac1d130fd4 616 /**
mbed_official 0:51ac1d130fd4 617 * LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only)
mbed_official 0:51ac1d130fd4 618 */
mbed_official 0:51ac1d130fd4 619 #ifndef LWIP_BROADCAST_PING
mbed_official 0:51ac1d130fd4 620 #define LWIP_BROADCAST_PING 0
mbed_official 0:51ac1d130fd4 621 #endif
mbed_official 0:51ac1d130fd4 622
mbed_official 0:51ac1d130fd4 623 /**
mbed_official 0:51ac1d130fd4 624 * LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only)
mbed_official 0:51ac1d130fd4 625 */
mbed_official 0:51ac1d130fd4 626 #ifndef LWIP_MULTICAST_PING
mbed_official 0:51ac1d130fd4 627 #define LWIP_MULTICAST_PING 0
mbed_official 0:51ac1d130fd4 628 #endif
mbed_official 0:51ac1d130fd4 629
mbed_official 0:51ac1d130fd4 630 /*
mbed_official 0:51ac1d130fd4 631 ---------------------------------
mbed_official 0:51ac1d130fd4 632 ---------- RAW options ----------
mbed_official 0:51ac1d130fd4 633 ---------------------------------
mbed_official 0:51ac1d130fd4 634 */
mbed_official 0:51ac1d130fd4 635 /**
mbed_official 0:51ac1d130fd4 636 * LWIP_RAW==1: Enable application layer to hook into the IP layer itself.
mbed_official 0:51ac1d130fd4 637 */
mbed_official 0:51ac1d130fd4 638 #ifndef LWIP_RAW
mbed_official 0:51ac1d130fd4 639 #define LWIP_RAW 1
mbed_official 0:51ac1d130fd4 640 #endif
mbed_official 0:51ac1d130fd4 641
mbed_official 0:51ac1d130fd4 642 /**
mbed_official 0:51ac1d130fd4 643 * LWIP_RAW==1: Enable application layer to hook into the IP layer itself.
mbed_official 0:51ac1d130fd4 644 */
mbed_official 0:51ac1d130fd4 645 #ifndef RAW_TTL
mbed_official 0:51ac1d130fd4 646 #define RAW_TTL (IP_DEFAULT_TTL)
mbed_official 0:51ac1d130fd4 647 #endif
mbed_official 0:51ac1d130fd4 648
mbed_official 0:51ac1d130fd4 649 /*
mbed_official 0:51ac1d130fd4 650 ----------------------------------
mbed_official 0:51ac1d130fd4 651 ---------- DHCP options ----------
mbed_official 0:51ac1d130fd4 652 ----------------------------------
mbed_official 0:51ac1d130fd4 653 */
mbed_official 0:51ac1d130fd4 654 /**
mbed_official 0:51ac1d130fd4 655 * LWIP_DHCP==1: Enable DHCP module.
mbed_official 0:51ac1d130fd4 656 */
mbed_official 0:51ac1d130fd4 657 #ifndef LWIP_DHCP
mbed_official 0:51ac1d130fd4 658 #define LWIP_DHCP 0
mbed_official 0:51ac1d130fd4 659 #endif
mbed_official 0:51ac1d130fd4 660
mbed_official 0:51ac1d130fd4 661 /**
mbed_official 0:51ac1d130fd4 662 * DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address.
mbed_official 0:51ac1d130fd4 663 */
mbed_official 0:51ac1d130fd4 664 #ifndef DHCP_DOES_ARP_CHECK
mbed_official 0:51ac1d130fd4 665 #define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP))
mbed_official 0:51ac1d130fd4 666 #endif
mbed_official 0:51ac1d130fd4 667
mbed_official 0:51ac1d130fd4 668 /*
mbed_official 0:51ac1d130fd4 669 ------------------------------------
mbed_official 0:51ac1d130fd4 670 ---------- AUTOIP options ----------
mbed_official 0:51ac1d130fd4 671 ------------------------------------
mbed_official 0:51ac1d130fd4 672 */
mbed_official 0:51ac1d130fd4 673 /**
mbed_official 0:51ac1d130fd4 674 * LWIP_AUTOIP==1: Enable AUTOIP module.
mbed_official 0:51ac1d130fd4 675 */
mbed_official 0:51ac1d130fd4 676 #ifndef LWIP_AUTOIP
mbed_official 0:51ac1d130fd4 677 #define LWIP_AUTOIP 0
mbed_official 0:51ac1d130fd4 678 #endif
mbed_official 0:51ac1d130fd4 679
mbed_official 0:51ac1d130fd4 680 /**
mbed_official 0:51ac1d130fd4 681 * LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on
mbed_official 0:51ac1d130fd4 682 * the same interface at the same time.
mbed_official 0:51ac1d130fd4 683 */
mbed_official 0:51ac1d130fd4 684 #ifndef LWIP_DHCP_AUTOIP_COOP
mbed_official 0:51ac1d130fd4 685 #define LWIP_DHCP_AUTOIP_COOP 0
mbed_official 0:51ac1d130fd4 686 #endif
mbed_official 0:51ac1d130fd4 687
mbed_official 0:51ac1d130fd4 688 /**
mbed_official 0:51ac1d130fd4 689 * LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes
mbed_official 0:51ac1d130fd4 690 * that should be sent before falling back on AUTOIP. This can be set
mbed_official 0:51ac1d130fd4 691 * as low as 1 to get an AutoIP address very quickly, but you should
mbed_official 0:51ac1d130fd4 692 * be prepared to handle a changing IP address when DHCP overrides
mbed_official 0:51ac1d130fd4 693 * AutoIP.
mbed_official 0:51ac1d130fd4 694 */
mbed_official 0:51ac1d130fd4 695 #ifndef LWIP_DHCP_AUTOIP_COOP_TRIES
mbed_official 0:51ac1d130fd4 696 #define LWIP_DHCP_AUTOIP_COOP_TRIES 9
mbed_official 0:51ac1d130fd4 697 #endif
mbed_official 0:51ac1d130fd4 698
mbed_official 0:51ac1d130fd4 699 /*
mbed_official 0:51ac1d130fd4 700 ----------------------------------
mbed_official 0:51ac1d130fd4 701 ---------- SNMP options ----------
mbed_official 0:51ac1d130fd4 702 ----------------------------------
mbed_official 0:51ac1d130fd4 703 */
mbed_official 0:51ac1d130fd4 704 /**
mbed_official 0:51ac1d130fd4 705 * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP
mbed_official 0:51ac1d130fd4 706 * transport.
mbed_official 0:51ac1d130fd4 707 */
mbed_official 0:51ac1d130fd4 708 #ifndef LWIP_SNMP
mbed_official 0:51ac1d130fd4 709 #define LWIP_SNMP 0
mbed_official 0:51ac1d130fd4 710 #endif
mbed_official 0:51ac1d130fd4 711
mbed_official 0:51ac1d130fd4 712 /**
mbed_official 0:51ac1d130fd4 713 * SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will
mbed_official 0:51ac1d130fd4 714 * allow. At least one request buffer is required.
mbed_official 0:51ac1d130fd4 715 * Does not have to be changed unless external MIBs answer request asynchronously
mbed_official 0:51ac1d130fd4 716 */
mbed_official 0:51ac1d130fd4 717 #ifndef SNMP_CONCURRENT_REQUESTS
mbed_official 0:51ac1d130fd4 718 #define SNMP_CONCURRENT_REQUESTS 1
mbed_official 0:51ac1d130fd4 719 #endif
mbed_official 0:51ac1d130fd4 720
mbed_official 0:51ac1d130fd4 721 /**
mbed_official 0:51ac1d130fd4 722 * SNMP_TRAP_DESTINATIONS: Number of trap destinations. At least one trap
mbed_official 0:51ac1d130fd4 723 * destination is required
mbed_official 0:51ac1d130fd4 724 */
mbed_official 0:51ac1d130fd4 725 #ifndef SNMP_TRAP_DESTINATIONS
mbed_official 0:51ac1d130fd4 726 #define SNMP_TRAP_DESTINATIONS 1
mbed_official 0:51ac1d130fd4 727 #endif
mbed_official 0:51ac1d130fd4 728
mbed_official 0:51ac1d130fd4 729 /**
mbed_official 0:51ac1d130fd4 730 * SNMP_PRIVATE_MIB:
mbed_official 0:51ac1d130fd4 731 * When using a private MIB, you have to create a file 'private_mib.h' that contains
mbed_official 0:51ac1d130fd4 732 * a 'struct mib_array_node mib_private' which contains your MIB.
mbed_official 0:51ac1d130fd4 733 */
mbed_official 0:51ac1d130fd4 734 #ifndef SNMP_PRIVATE_MIB
mbed_official 0:51ac1d130fd4 735 #define SNMP_PRIVATE_MIB 0
mbed_official 0:51ac1d130fd4 736 #endif
mbed_official 0:51ac1d130fd4 737
mbed_official 0:51ac1d130fd4 738 /**
mbed_official 0:51ac1d130fd4 739 * Only allow SNMP write actions that are 'safe' (e.g. disabeling netifs is not
mbed_official 0:51ac1d130fd4 740 * a safe action and disabled when SNMP_SAFE_REQUESTS = 1).
mbed_official 0:51ac1d130fd4 741 * Unsafe requests are disabled by default!
mbed_official 0:51ac1d130fd4 742 */
mbed_official 0:51ac1d130fd4 743 #ifndef SNMP_SAFE_REQUESTS
mbed_official 0:51ac1d130fd4 744 #define SNMP_SAFE_REQUESTS 1
mbed_official 0:51ac1d130fd4 745 #endif
mbed_official 0:51ac1d130fd4 746
mbed_official 0:51ac1d130fd4 747 /**
mbed_official 0:51ac1d130fd4 748 * The maximum length of strings used. This affects the size of
mbed_official 0:51ac1d130fd4 749 * MEMP_SNMP_VALUE elements.
mbed_official 0:51ac1d130fd4 750 */
mbed_official 0:51ac1d130fd4 751 #ifndef SNMP_MAX_OCTET_STRING_LEN
mbed_official 0:51ac1d130fd4 752 #define SNMP_MAX_OCTET_STRING_LEN 127
mbed_official 0:51ac1d130fd4 753 #endif
mbed_official 0:51ac1d130fd4 754
mbed_official 0:51ac1d130fd4 755 /**
mbed_official 0:51ac1d130fd4 756 * The maximum depth of the SNMP tree.
mbed_official 0:51ac1d130fd4 757 * With private MIBs enabled, this depends on your MIB!
mbed_official 0:51ac1d130fd4 758 * This affects the size of MEMP_SNMP_VALUE elements.
mbed_official 0:51ac1d130fd4 759 */
mbed_official 0:51ac1d130fd4 760 #ifndef SNMP_MAX_TREE_DEPTH
mbed_official 0:51ac1d130fd4 761 #define SNMP_MAX_TREE_DEPTH 15
mbed_official 0:51ac1d130fd4 762 #endif
mbed_official 0:51ac1d130fd4 763
mbed_official 0:51ac1d130fd4 764 /**
mbed_official 0:51ac1d130fd4 765 * The size of the MEMP_SNMP_VALUE elements, normally calculated from
mbed_official 0:51ac1d130fd4 766 * SNMP_MAX_OCTET_STRING_LEN and SNMP_MAX_TREE_DEPTH.
mbed_official 0:51ac1d130fd4 767 */
mbed_official 0:51ac1d130fd4 768 #ifndef SNMP_MAX_VALUE_SIZE
mbed_official 0:51ac1d130fd4 769 #define SNMP_MAX_VALUE_SIZE LWIP_MAX((SNMP_MAX_OCTET_STRING_LEN)+1, sizeof(s32_t)*(SNMP_MAX_TREE_DEPTH))
mbed_official 0:51ac1d130fd4 770 #endif
mbed_official 0:51ac1d130fd4 771
mbed_official 0:51ac1d130fd4 772 /*
mbed_official 0:51ac1d130fd4 773 ----------------------------------
mbed_official 0:51ac1d130fd4 774 ---------- IGMP options ----------
mbed_official 0:51ac1d130fd4 775 ----------------------------------
mbed_official 0:51ac1d130fd4 776 */
mbed_official 0:51ac1d130fd4 777 /**
mbed_official 0:51ac1d130fd4 778 * LWIP_IGMP==1: Turn on IGMP module.
mbed_official 0:51ac1d130fd4 779 */
mbed_official 0:51ac1d130fd4 780 #ifndef LWIP_IGMP
mbed_official 0:51ac1d130fd4 781 #define LWIP_IGMP 0
mbed_official 0:51ac1d130fd4 782 #endif
mbed_official 0:51ac1d130fd4 783
mbed_official 0:51ac1d130fd4 784 /*
mbed_official 0:51ac1d130fd4 785 ----------------------------------
mbed_official 0:51ac1d130fd4 786 ---------- DNS options -----------
mbed_official 0:51ac1d130fd4 787 ----------------------------------
mbed_official 0:51ac1d130fd4 788 */
mbed_official 0:51ac1d130fd4 789 /**
mbed_official 0:51ac1d130fd4 790 * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS
mbed_official 0:51ac1d130fd4 791 * transport.
mbed_official 0:51ac1d130fd4 792 */
mbed_official 0:51ac1d130fd4 793 #ifndef LWIP_DNS
mbed_official 0:51ac1d130fd4 794 #define LWIP_DNS 0
mbed_official 0:51ac1d130fd4 795 #endif
mbed_official 0:51ac1d130fd4 796
mbed_official 0:51ac1d130fd4 797 /** DNS maximum number of entries to maintain locally. */
mbed_official 0:51ac1d130fd4 798 #ifndef DNS_TABLE_SIZE
mbed_official 0:51ac1d130fd4 799 #define DNS_TABLE_SIZE 4
mbed_official 0:51ac1d130fd4 800 #endif
mbed_official 0:51ac1d130fd4 801
mbed_official 0:51ac1d130fd4 802 /** DNS maximum host name length supported in the name table. */
mbed_official 0:51ac1d130fd4 803 #ifndef DNS_MAX_NAME_LENGTH
mbed_official 0:51ac1d130fd4 804 #define DNS_MAX_NAME_LENGTH 256
mbed_official 0:51ac1d130fd4 805 #endif
mbed_official 0:51ac1d130fd4 806
mbed_official 0:51ac1d130fd4 807 /** The maximum of DNS servers */
mbed_official 0:51ac1d130fd4 808 #ifndef DNS_MAX_SERVERS
mbed_official 0:51ac1d130fd4 809 #define DNS_MAX_SERVERS 2
mbed_official 0:51ac1d130fd4 810 #endif
mbed_official 0:51ac1d130fd4 811
mbed_official 0:51ac1d130fd4 812 /** DNS do a name checking between the query and the response. */
mbed_official 0:51ac1d130fd4 813 #ifndef DNS_DOES_NAME_CHECK
mbed_official 0:51ac1d130fd4 814 #define DNS_DOES_NAME_CHECK 1
mbed_official 0:51ac1d130fd4 815 #endif
mbed_official 0:51ac1d130fd4 816
mbed_official 0:51ac1d130fd4 817 /** DNS message max. size. Default value is RFC compliant. */
mbed_official 0:51ac1d130fd4 818 #ifndef DNS_MSG_SIZE
mbed_official 0:51ac1d130fd4 819 #define DNS_MSG_SIZE 512
mbed_official 0:51ac1d130fd4 820 #endif
mbed_official 0:51ac1d130fd4 821
mbed_official 0:51ac1d130fd4 822 /** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled,
mbed_official 0:51ac1d130fd4 823 * you have to define
mbed_official 0:51ac1d130fd4 824 * #define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}}
mbed_official 0:51ac1d130fd4 825 * (an array of structs name/address, where address is an u32_t in network
mbed_official 0:51ac1d130fd4 826 * byte order).
mbed_official 0:51ac1d130fd4 827 *
mbed_official 0:51ac1d130fd4 828 * Instead, you can also use an external function:
mbed_official 0:51ac1d130fd4 829 * #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name)
mbed_official 0:51ac1d130fd4 830 * that returns the IP address or INADDR_NONE if not found.
mbed_official 0:51ac1d130fd4 831 */
mbed_official 0:51ac1d130fd4 832 #ifndef DNS_LOCAL_HOSTLIST
mbed_official 0:51ac1d130fd4 833 #define DNS_LOCAL_HOSTLIST 0
mbed_official 0:51ac1d130fd4 834 #endif /* DNS_LOCAL_HOSTLIST */
mbed_official 0:51ac1d130fd4 835
mbed_official 0:51ac1d130fd4 836 /** If this is turned on, the local host-list can be dynamically changed
mbed_official 0:51ac1d130fd4 837 * at runtime. */
mbed_official 0:51ac1d130fd4 838 #ifndef DNS_LOCAL_HOSTLIST_IS_DYNAMIC
mbed_official 0:51ac1d130fd4 839 #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0
mbed_official 0:51ac1d130fd4 840 #endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */
mbed_official 0:51ac1d130fd4 841
mbed_official 0:51ac1d130fd4 842 /*
mbed_official 0:51ac1d130fd4 843 ---------------------------------
mbed_official 0:51ac1d130fd4 844 ---------- UDP options ----------
mbed_official 0:51ac1d130fd4 845 ---------------------------------
mbed_official 0:51ac1d130fd4 846 */
mbed_official 0:51ac1d130fd4 847 /**
mbed_official 0:51ac1d130fd4 848 * LWIP_UDP==1: Turn on UDP.
mbed_official 0:51ac1d130fd4 849 */
mbed_official 0:51ac1d130fd4 850 #ifndef LWIP_UDP
mbed_official 0:51ac1d130fd4 851 #define LWIP_UDP 1
mbed_official 0:51ac1d130fd4 852 #endif
mbed_official 0:51ac1d130fd4 853
mbed_official 0:51ac1d130fd4 854 /**
mbed_official 0:51ac1d130fd4 855 * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP)
mbed_official 0:51ac1d130fd4 856 */
mbed_official 0:51ac1d130fd4 857 #ifndef LWIP_UDPLITE
mbed_official 0:51ac1d130fd4 858 #define LWIP_UDPLITE 0
mbed_official 0:51ac1d130fd4 859 #endif
mbed_official 0:51ac1d130fd4 860
mbed_official 0:51ac1d130fd4 861 /**
mbed_official 0:51ac1d130fd4 862 * UDP_TTL: Default Time-To-Live value.
mbed_official 0:51ac1d130fd4 863 */
mbed_official 0:51ac1d130fd4 864 #ifndef UDP_TTL
mbed_official 0:51ac1d130fd4 865 #define UDP_TTL (IP_DEFAULT_TTL)
mbed_official 0:51ac1d130fd4 866 #endif
mbed_official 0:51ac1d130fd4 867
mbed_official 0:51ac1d130fd4 868 /**
mbed_official 0:51ac1d130fd4 869 * LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf.
mbed_official 0:51ac1d130fd4 870 */
mbed_official 0:51ac1d130fd4 871 #ifndef LWIP_NETBUF_RECVINFO
mbed_official 0:51ac1d130fd4 872 #define LWIP_NETBUF_RECVINFO 0
mbed_official 0:51ac1d130fd4 873 #endif
mbed_official 0:51ac1d130fd4 874
mbed_official 0:51ac1d130fd4 875 /*
mbed_official 0:51ac1d130fd4 876 ---------------------------------
mbed_official 0:51ac1d130fd4 877 ---------- TCP options ----------
mbed_official 0:51ac1d130fd4 878 ---------------------------------
mbed_official 0:51ac1d130fd4 879 */
mbed_official 0:51ac1d130fd4 880 /**
mbed_official 0:51ac1d130fd4 881 * LWIP_TCP==1: Turn on TCP.
mbed_official 0:51ac1d130fd4 882 */
mbed_official 0:51ac1d130fd4 883 #ifndef LWIP_TCP
mbed_official 0:51ac1d130fd4 884 #define LWIP_TCP 1
mbed_official 0:51ac1d130fd4 885 #endif
mbed_official 0:51ac1d130fd4 886
mbed_official 0:51ac1d130fd4 887 /**
mbed_official 0:51ac1d130fd4 888 * TCP_TTL: Default Time-To-Live value.
mbed_official 0:51ac1d130fd4 889 */
mbed_official 0:51ac1d130fd4 890 #ifndef TCP_TTL
mbed_official 0:51ac1d130fd4 891 #define TCP_TTL (IP_DEFAULT_TTL)
mbed_official 0:51ac1d130fd4 892 #endif
mbed_official 0:51ac1d130fd4 893
mbed_official 0:51ac1d130fd4 894 /**
mbed_official 0:51ac1d130fd4 895 * TCP_WND: The size of a TCP window. This must be at least
mbed_official 0:51ac1d130fd4 896 * (2 * TCP_MSS) for things to work well
mbed_official 0:51ac1d130fd4 897 */
mbed_official 0:51ac1d130fd4 898 #ifndef TCP_WND
mbed_official 0:51ac1d130fd4 899 #define TCP_WND (4 * TCP_MSS)
mbed_official 0:51ac1d130fd4 900 #endif
mbed_official 0:51ac1d130fd4 901
mbed_official 0:51ac1d130fd4 902 /**
mbed_official 0:51ac1d130fd4 903 * TCP_MAXRTX: Maximum number of retransmissions of data segments.
mbed_official 0:51ac1d130fd4 904 */
mbed_official 0:51ac1d130fd4 905 #ifndef TCP_MAXRTX
mbed_official 0:51ac1d130fd4 906 #define TCP_MAXRTX 12
mbed_official 0:51ac1d130fd4 907 #endif
mbed_official 0:51ac1d130fd4 908
mbed_official 0:51ac1d130fd4 909 /**
mbed_official 0:51ac1d130fd4 910 * TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments.
mbed_official 0:51ac1d130fd4 911 */
mbed_official 0:51ac1d130fd4 912 #ifndef TCP_SYNMAXRTX
mbed_official 0:51ac1d130fd4 913 #define TCP_SYNMAXRTX 6
mbed_official 0:51ac1d130fd4 914 #endif
mbed_official 0:51ac1d130fd4 915
mbed_official 0:51ac1d130fd4 916 /**
mbed_official 0:51ac1d130fd4 917 * TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order.
mbed_official 0:51ac1d130fd4 918 * Define to 0 if your device is low on memory.
mbed_official 0:51ac1d130fd4 919 */
mbed_official 0:51ac1d130fd4 920 #ifndef TCP_QUEUE_OOSEQ
mbed_official 0:51ac1d130fd4 921 #define TCP_QUEUE_OOSEQ (LWIP_TCP)
mbed_official 0:51ac1d130fd4 922 #endif
mbed_official 0:51ac1d130fd4 923
mbed_official 0:51ac1d130fd4 924 /**
mbed_official 0:51ac1d130fd4 925 * TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default,
mbed_official 0:51ac1d130fd4 926 * you might want to increase this.)
mbed_official 0:51ac1d130fd4 927 * For the receive side, this MSS is advertised to the remote side
mbed_official 0:51ac1d130fd4 928 * when opening a connection. For the transmit size, this MSS sets
mbed_official 0:51ac1d130fd4 929 * an upper limit on the MSS advertised by the remote host.
mbed_official 0:51ac1d130fd4 930 */
mbed_official 0:51ac1d130fd4 931 #ifndef TCP_MSS
mbed_official 0:51ac1d130fd4 932 #define TCP_MSS 536
mbed_official 0:51ac1d130fd4 933 #endif
mbed_official 0:51ac1d130fd4 934
mbed_official 0:51ac1d130fd4 935 /**
mbed_official 0:51ac1d130fd4 936 * TCP_CALCULATE_EFF_SEND_MSS: "The maximum size of a segment that TCP really
mbed_official 0:51ac1d130fd4 937 * sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which
mbed_official 0:51ac1d130fd4 938 * reflects the available reassembly buffer size at the remote host) and the
mbed_official 0:51ac1d130fd4 939 * largest size permitted by the IP layer" (RFC 1122)
mbed_official 0:51ac1d130fd4 940 * Setting this to 1 enables code that checks TCP_MSS against the MTU of the
mbed_official 0:51ac1d130fd4 941 * netif used for a connection and limits the MSS if it would be too big otherwise.
mbed_official 0:51ac1d130fd4 942 */
mbed_official 0:51ac1d130fd4 943 #ifndef TCP_CALCULATE_EFF_SEND_MSS
mbed_official 0:51ac1d130fd4 944 #define TCP_CALCULATE_EFF_SEND_MSS 1
mbed_official 0:51ac1d130fd4 945 #endif
mbed_official 0:51ac1d130fd4 946
mbed_official 0:51ac1d130fd4 947
mbed_official 0:51ac1d130fd4 948 /**
mbed_official 0:51ac1d130fd4 949 * TCP_SND_BUF: TCP sender buffer space (bytes).
mbed_official 0:51ac1d130fd4 950 */
mbed_official 0:51ac1d130fd4 951 #ifndef TCP_SND_BUF
mbed_official 0:51ac1d130fd4 952 #define TCP_SND_BUF 256
mbed_official 0:51ac1d130fd4 953 #endif
mbed_official 0:51ac1d130fd4 954
mbed_official 0:51ac1d130fd4 955 /**
mbed_official 0:51ac1d130fd4 956 * TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least
mbed_official 0:51ac1d130fd4 957 * as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work.
mbed_official 0:51ac1d130fd4 958 */
mbed_official 0:51ac1d130fd4 959 #ifndef TCP_SND_QUEUELEN
mbed_official 0:51ac1d130fd4 960 #define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))
mbed_official 0:51ac1d130fd4 961 #endif
mbed_official 0:51ac1d130fd4 962
mbed_official 0:51ac1d130fd4 963 /**
mbed_official 0:51ac1d130fd4 964 * TCP_SNDLOWAT: TCP writable space (bytes). This must be less than
mbed_official 0:51ac1d130fd4 965 * TCP_SND_BUF. It is the amount of space which must be available in the
mbed_official 0:51ac1d130fd4 966 * TCP snd_buf for select to return writable (combined with TCP_SNDQUEUELOWAT).
mbed_official 0:51ac1d130fd4 967 */
mbed_official 0:51ac1d130fd4 968 #ifndef TCP_SNDLOWAT
mbed_official 0:51ac1d130fd4 969 #define TCP_SNDLOWAT ((TCP_SND_BUF)/2)
mbed_official 0:51ac1d130fd4 970 #endif
mbed_official 0:51ac1d130fd4 971
mbed_official 0:51ac1d130fd4 972 /**
mbed_official 0:51ac1d130fd4 973 * TCP_SNDQUEUELOWAT: TCP writable bufs (pbuf count). This must be grater
mbed_official 0:51ac1d130fd4 974 * than TCP_SND_QUEUELEN. If the number of pbufs queued on a pcb drops below
mbed_official 0:51ac1d130fd4 975 * this number, select returns writable (combined with TCP_SNDLOWAT).
mbed_official 0:51ac1d130fd4 976 */
mbed_official 0:51ac1d130fd4 977 #ifndef TCP_SNDQUEUELOWAT
mbed_official 0:51ac1d130fd4 978 #define TCP_SNDQUEUELOWAT ((TCP_SND_QUEUELEN)/2)
mbed_official 0:51ac1d130fd4 979 #endif
mbed_official 0:51ac1d130fd4 980
mbed_official 0:51ac1d130fd4 981 /**
mbed_official 0:51ac1d130fd4 982 * TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb.
mbed_official 0:51ac1d130fd4 983 */
mbed_official 0:51ac1d130fd4 984 #ifndef TCP_LISTEN_BACKLOG
mbed_official 0:51ac1d130fd4 985 #define TCP_LISTEN_BACKLOG 0
mbed_official 0:51ac1d130fd4 986 #endif
mbed_official 0:51ac1d130fd4 987
mbed_official 0:51ac1d130fd4 988 /**
mbed_official 0:51ac1d130fd4 989 * The maximum allowed backlog for TCP listen netconns.
mbed_official 0:51ac1d130fd4 990 * This backlog is used unless another is explicitly specified.
mbed_official 0:51ac1d130fd4 991 * 0xff is the maximum (u8_t).
mbed_official 0:51ac1d130fd4 992 */
mbed_official 0:51ac1d130fd4 993 #ifndef TCP_DEFAULT_LISTEN_BACKLOG
mbed_official 0:51ac1d130fd4 994 #define TCP_DEFAULT_LISTEN_BACKLOG 0xff
mbed_official 0:51ac1d130fd4 995 #endif
mbed_official 0:51ac1d130fd4 996
mbed_official 0:51ac1d130fd4 997 /**
mbed_official 0:51ac1d130fd4 998 * TCP_OVERSIZE: The maximum number of bytes that tcp_write may
mbed_official 0:51ac1d130fd4 999 * allocate ahead of time in an attempt to create shorter pbuf chains
mbed_official 0:51ac1d130fd4 1000 * for transmission. The meaningful range is 0 to TCP_MSS. Some
mbed_official 0:51ac1d130fd4 1001 * suggested values are:
mbed_official 0:51ac1d130fd4 1002 *
mbed_official 0:51ac1d130fd4 1003 * 0: Disable oversized allocation. Each tcp_write() allocates a new
mbed_official 0:51ac1d130fd4 1004 pbuf (old behaviour).
mbed_official 0:51ac1d130fd4 1005 * 1: Allocate size-aligned pbufs with minimal excess. Use this if your
mbed_official 0:51ac1d130fd4 1006 * scatter-gather DMA requires aligned fragments.
mbed_official 0:51ac1d130fd4 1007 * 128: Limit the pbuf/memory overhead to 20%.
mbed_official 0:51ac1d130fd4 1008 * TCP_MSS: Try to create unfragmented TCP packets.
mbed_official 0:51ac1d130fd4 1009 * TCP_MSS/4: Try to create 4 fragments or less per TCP packet.
mbed_official 0:51ac1d130fd4 1010 */
mbed_official 0:51ac1d130fd4 1011 #ifndef TCP_OVERSIZE
mbed_official 0:51ac1d130fd4 1012 #define TCP_OVERSIZE TCP_MSS
mbed_official 0:51ac1d130fd4 1013 #endif
mbed_official 0:51ac1d130fd4 1014
mbed_official 0:51ac1d130fd4 1015 /**
mbed_official 0:51ac1d130fd4 1016 * LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option.
mbed_official 0:51ac1d130fd4 1017 */
mbed_official 0:51ac1d130fd4 1018 #ifndef LWIP_TCP_TIMESTAMPS
mbed_official 0:51ac1d130fd4 1019 #define LWIP_TCP_TIMESTAMPS 0
mbed_official 0:51ac1d130fd4 1020 #endif
mbed_official 0:51ac1d130fd4 1021
mbed_official 0:51ac1d130fd4 1022 /**
mbed_official 0:51ac1d130fd4 1023 * TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an
mbed_official 0:51ac1d130fd4 1024 * explicit window update
mbed_official 0:51ac1d130fd4 1025 */
mbed_official 0:51ac1d130fd4 1026 #ifndef TCP_WND_UPDATE_THRESHOLD
mbed_official 0:51ac1d130fd4 1027 #define TCP_WND_UPDATE_THRESHOLD (TCP_WND / 4)
mbed_official 0:51ac1d130fd4 1028 #endif
mbed_official 0:51ac1d130fd4 1029
mbed_official 0:51ac1d130fd4 1030 /**
mbed_official 0:51ac1d130fd4 1031 * LWIP_EVENT_API and LWIP_CALLBACK_API: Only one of these should be set to 1.
mbed_official 0:51ac1d130fd4 1032 * LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all
mbed_official 0:51ac1d130fd4 1033 * events (accept, sent, etc) that happen in the system.
mbed_official 0:51ac1d130fd4 1034 * LWIP_CALLBACK_API==1: The PCB callback function is called directly
mbed_official 0:51ac1d130fd4 1035 * for the event.
mbed_official 0:51ac1d130fd4 1036 */
mbed_official 0:51ac1d130fd4 1037 #ifndef LWIP_EVENT_API
mbed_official 0:51ac1d130fd4 1038 #define LWIP_EVENT_API 0
mbed_official 0:51ac1d130fd4 1039 #define LWIP_CALLBACK_API 1
mbed_official 0:51ac1d130fd4 1040 #else
mbed_official 0:51ac1d130fd4 1041 #define LWIP_EVENT_API 1
mbed_official 0:51ac1d130fd4 1042 #define LWIP_CALLBACK_API 0
mbed_official 0:51ac1d130fd4 1043 #endif
mbed_official 0:51ac1d130fd4 1044
mbed_official 0:51ac1d130fd4 1045
mbed_official 0:51ac1d130fd4 1046 /*
mbed_official 0:51ac1d130fd4 1047 ----------------------------------
mbed_official 0:51ac1d130fd4 1048 ---------- Pbuf options ----------
mbed_official 0:51ac1d130fd4 1049 ----------------------------------
mbed_official 0:51ac1d130fd4 1050 */
mbed_official 0:51ac1d130fd4 1051 /**
mbed_official 0:51ac1d130fd4 1052 * PBUF_LINK_HLEN: the number of bytes that should be allocated for a
mbed_official 0:51ac1d130fd4 1053 * link level header. The default is 14, the standard value for
mbed_official 0:51ac1d130fd4 1054 * Ethernet.
mbed_official 0:51ac1d130fd4 1055 */
mbed_official 0:51ac1d130fd4 1056 #ifndef PBUF_LINK_HLEN
mbed_official 0:51ac1d130fd4 1057 #define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE)
mbed_official 0:51ac1d130fd4 1058 #endif
mbed_official 0:51ac1d130fd4 1059
mbed_official 0:51ac1d130fd4 1060 /**
mbed_official 0:51ac1d130fd4 1061 * PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is
mbed_official 0:51ac1d130fd4 1062 * designed to accomodate single full size TCP frame in one pbuf, including
mbed_official 0:51ac1d130fd4 1063 * TCP_MSS, IP header, and link header.
mbed_official 0:51ac1d130fd4 1064 */
mbed_official 0:51ac1d130fd4 1065 #ifndef PBUF_POOL_BUFSIZE
mbed_official 0:51ac1d130fd4 1066 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
mbed_official 0:51ac1d130fd4 1067 #endif
mbed_official 0:51ac1d130fd4 1068
mbed_official 0:51ac1d130fd4 1069 /*
mbed_official 0:51ac1d130fd4 1070 ------------------------------------------------
mbed_official 0:51ac1d130fd4 1071 ---------- Network Interfaces options ----------
mbed_official 0:51ac1d130fd4 1072 ------------------------------------------------
mbed_official 0:51ac1d130fd4 1073 */
mbed_official 0:51ac1d130fd4 1074 /**
mbed_official 0:51ac1d130fd4 1075 * LWIP_NETIF_HOSTNAME==1: use DHCP_OPTION_HOSTNAME with netif's hostname
mbed_official 0:51ac1d130fd4 1076 * field.
mbed_official 0:51ac1d130fd4 1077 */
mbed_official 0:51ac1d130fd4 1078 #ifndef LWIP_NETIF_HOSTNAME
mbed_official 0:51ac1d130fd4 1079 #define LWIP_NETIF_HOSTNAME 0
mbed_official 0:51ac1d130fd4 1080 #endif
mbed_official 0:51ac1d130fd4 1081
mbed_official 0:51ac1d130fd4 1082 /**
mbed_official 0:51ac1d130fd4 1083 * LWIP_NETIF_API==1: Support netif api (in netifapi.c)
mbed_official 0:51ac1d130fd4 1084 */
mbed_official 0:51ac1d130fd4 1085 #ifndef LWIP_NETIF_API
mbed_official 0:51ac1d130fd4 1086 #define LWIP_NETIF_API 0
mbed_official 0:51ac1d130fd4 1087 #endif
mbed_official 0:51ac1d130fd4 1088
mbed_official 0:51ac1d130fd4 1089 /**
mbed_official 0:51ac1d130fd4 1090 * LWIP_NETIF_STATUS_CALLBACK==1: Support a callback function whenever an interface
mbed_official 0:51ac1d130fd4 1091 * changes its up/down status (i.e., due to DHCP IP acquistion)
mbed_official 0:51ac1d130fd4 1092 */
mbed_official 0:51ac1d130fd4 1093 #ifndef LWIP_NETIF_STATUS_CALLBACK
mbed_official 0:51ac1d130fd4 1094 #define LWIP_NETIF_STATUS_CALLBACK 0
mbed_official 0:51ac1d130fd4 1095 #endif
mbed_official 0:51ac1d130fd4 1096
mbed_official 0:51ac1d130fd4 1097 /**
mbed_official 0:51ac1d130fd4 1098 * LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface
mbed_official 0:51ac1d130fd4 1099 * whenever the link changes (i.e., link down)
mbed_official 0:51ac1d130fd4 1100 */
mbed_official 0:51ac1d130fd4 1101 #ifndef LWIP_NETIF_LINK_CALLBACK
mbed_official 0:51ac1d130fd4 1102 #define LWIP_NETIF_LINK_CALLBACK 0
mbed_official 0:51ac1d130fd4 1103 #endif
mbed_official 0:51ac1d130fd4 1104
mbed_official 0:51ac1d130fd4 1105 /**
mbed_official 0:51ac1d130fd4 1106 * LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. table
mbed_official 0:51ac1d130fd4 1107 * indices) in struct netif. TCP and UDP can make use of this to prevent
mbed_official 0:51ac1d130fd4 1108 * scanning the ARP table for every sent packet. While this is faster for big
mbed_official 0:51ac1d130fd4 1109 * ARP tables or many concurrent connections, it might be counterproductive
mbed_official 0:51ac1d130fd4 1110 * if you have a tiny ARP table or if there never are concurrent connections.
mbed_official 0:51ac1d130fd4 1111 */
mbed_official 0:51ac1d130fd4 1112 #ifndef LWIP_NETIF_HWADDRHINT
mbed_official 0:51ac1d130fd4 1113 #define LWIP_NETIF_HWADDRHINT 0
mbed_official 0:51ac1d130fd4 1114 #endif
mbed_official 0:51ac1d130fd4 1115
mbed_official 0:51ac1d130fd4 1116 /**
mbed_official 0:51ac1d130fd4 1117 * LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP
mbed_official 0:51ac1d130fd4 1118 * address equal to the netif IP address, looping them back up the stack.
mbed_official 0:51ac1d130fd4 1119 */
mbed_official 0:51ac1d130fd4 1120 #ifndef LWIP_NETIF_LOOPBACK
mbed_official 0:51ac1d130fd4 1121 #define LWIP_NETIF_LOOPBACK 0
mbed_official 0:51ac1d130fd4 1122 #endif
mbed_official 0:51ac1d130fd4 1123
mbed_official 0:51ac1d130fd4 1124 /**
mbed_official 0:51ac1d130fd4 1125 * LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback
mbed_official 0:51ac1d130fd4 1126 * sending for each netif (0 = disabled)
mbed_official 0:51ac1d130fd4 1127 */
mbed_official 0:51ac1d130fd4 1128 #ifndef LWIP_LOOPBACK_MAX_PBUFS
mbed_official 0:51ac1d130fd4 1129 #define LWIP_LOOPBACK_MAX_PBUFS 0
mbed_official 0:51ac1d130fd4 1130 #endif
mbed_official 0:51ac1d130fd4 1131
mbed_official 0:51ac1d130fd4 1132 /**
mbed_official 0:51ac1d130fd4 1133 * LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in
mbed_official 0:51ac1d130fd4 1134 * the system, as netifs must change how they behave depending on this setting
mbed_official 0:51ac1d130fd4 1135 * for the LWIP_NETIF_LOOPBACK option to work.
mbed_official 0:51ac1d130fd4 1136 * Setting this is needed to avoid reentering non-reentrant functions like
mbed_official 0:51ac1d130fd4 1137 * tcp_input().
mbed_official 0:51ac1d130fd4 1138 * LWIP_NETIF_LOOPBACK_MULTITHREADING==1: Indicates that the user is using a
mbed_official 0:51ac1d130fd4 1139 * multithreaded environment like tcpip.c. In this case, netif->input()
mbed_official 0:51ac1d130fd4 1140 * is called directly.
mbed_official 0:51ac1d130fd4 1141 * LWIP_NETIF_LOOPBACK_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup.
mbed_official 0:51ac1d130fd4 1142 * The packets are put on a list and netif_poll() must be called in
mbed_official 0:51ac1d130fd4 1143 * the main application loop.
mbed_official 0:51ac1d130fd4 1144 */
mbed_official 0:51ac1d130fd4 1145 #ifndef LWIP_NETIF_LOOPBACK_MULTITHREADING
mbed_official 0:51ac1d130fd4 1146 #define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS)
mbed_official 0:51ac1d130fd4 1147 #endif
mbed_official 0:51ac1d130fd4 1148
mbed_official 0:51ac1d130fd4 1149 /**
mbed_official 0:51ac1d130fd4 1150 * LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data
mbed_official 0:51ac1d130fd4 1151 * to be sent into one single pbuf. This is for compatibility with DMA-enabled
mbed_official 0:51ac1d130fd4 1152 * MACs that do not support scatter-gather.
mbed_official 0:51ac1d130fd4 1153 * Beware that this might involve CPU-memcpy before transmitting that would not
mbed_official 0:51ac1d130fd4 1154 * be needed without this flag! Use this only if you need to!
mbed_official 0:51ac1d130fd4 1155 *
mbed_official 0:51ac1d130fd4 1156 * @todo: TCP and IP-frag do not work with this, yet:
mbed_official 0:51ac1d130fd4 1157 */
mbed_official 0:51ac1d130fd4 1158 #ifndef LWIP_NETIF_TX_SINGLE_PBUF
mbed_official 0:51ac1d130fd4 1159 #define LWIP_NETIF_TX_SINGLE_PBUF 0
mbed_official 0:51ac1d130fd4 1160 #endif /* LWIP_NETIF_TX_SINGLE_PBUF */
mbed_official 0:51ac1d130fd4 1161
mbed_official 0:51ac1d130fd4 1162 /*
mbed_official 0:51ac1d130fd4 1163 ------------------------------------
mbed_official 0:51ac1d130fd4 1164 ---------- LOOPIF options ----------
mbed_official 0:51ac1d130fd4 1165 ------------------------------------
mbed_official 0:51ac1d130fd4 1166 */
mbed_official 0:51ac1d130fd4 1167 /**
mbed_official 0:51ac1d130fd4 1168 * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1) and loopif.c
mbed_official 0:51ac1d130fd4 1169 */
mbed_official 0:51ac1d130fd4 1170 #ifndef LWIP_HAVE_LOOPIF
mbed_official 0:51ac1d130fd4 1171 #define LWIP_HAVE_LOOPIF 0
mbed_official 0:51ac1d130fd4 1172 #endif
mbed_official 0:51ac1d130fd4 1173
mbed_official 0:51ac1d130fd4 1174 /*
mbed_official 0:51ac1d130fd4 1175 ------------------------------------
mbed_official 0:51ac1d130fd4 1176 ---------- SLIPIF options ----------
mbed_official 0:51ac1d130fd4 1177 ------------------------------------
mbed_official 0:51ac1d130fd4 1178 */
mbed_official 0:51ac1d130fd4 1179 /**
mbed_official 0:51ac1d130fd4 1180 * LWIP_HAVE_SLIPIF==1: Support slip interface and slipif.c
mbed_official 0:51ac1d130fd4 1181 */
mbed_official 0:51ac1d130fd4 1182 #ifndef LWIP_HAVE_SLIPIF
mbed_official 0:51ac1d130fd4 1183 #define LWIP_HAVE_SLIPIF 0
mbed_official 0:51ac1d130fd4 1184 #endif
mbed_official 0:51ac1d130fd4 1185
mbed_official 0:51ac1d130fd4 1186 /*
mbed_official 0:51ac1d130fd4 1187 ------------------------------------
mbed_official 0:51ac1d130fd4 1188 ---------- Thread options ----------
mbed_official 0:51ac1d130fd4 1189 ------------------------------------
mbed_official 0:51ac1d130fd4 1190 */
mbed_official 0:51ac1d130fd4 1191 /**
mbed_official 0:51ac1d130fd4 1192 * TCPIP_THREAD_NAME: The name assigned to the main tcpip thread.
mbed_official 0:51ac1d130fd4 1193 */
mbed_official 0:51ac1d130fd4 1194 #ifndef TCPIP_THREAD_NAME
mbed_official 0:51ac1d130fd4 1195 #define TCPIP_THREAD_NAME "tcpip_thread"
mbed_official 0:51ac1d130fd4 1196 #endif
mbed_official 0:51ac1d130fd4 1197
mbed_official 0:51ac1d130fd4 1198 /**
mbed_official 0:51ac1d130fd4 1199 * TCPIP_THREAD_STACKSIZE: The stack size used by the main tcpip thread.
mbed_official 0:51ac1d130fd4 1200 * The stack size value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1201 * sys_thread_new() when the thread is created.
mbed_official 0:51ac1d130fd4 1202 */
mbed_official 0:51ac1d130fd4 1203 #ifndef TCPIP_THREAD_STACKSIZE
mbed_official 0:51ac1d130fd4 1204 #define TCPIP_THREAD_STACKSIZE 0
mbed_official 0:51ac1d130fd4 1205 #endif
mbed_official 0:51ac1d130fd4 1206
mbed_official 0:51ac1d130fd4 1207 /**
mbed_official 0:51ac1d130fd4 1208 * TCPIP_THREAD_PRIO: The priority assigned to the main tcpip thread.
mbed_official 0:51ac1d130fd4 1209 * The priority value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1210 * sys_thread_new() when the thread is created.
mbed_official 0:51ac1d130fd4 1211 */
mbed_official 0:51ac1d130fd4 1212 #ifndef TCPIP_THREAD_PRIO
mbed_official 0:51ac1d130fd4 1213 #define TCPIP_THREAD_PRIO 1
mbed_official 0:51ac1d130fd4 1214 #endif
mbed_official 0:51ac1d130fd4 1215
mbed_official 0:51ac1d130fd4 1216 /**
mbed_official 0:51ac1d130fd4 1217 * TCPIP_MBOX_SIZE: The mailbox size for the tcpip thread messages
mbed_official 0:51ac1d130fd4 1218 * The queue size value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1219 * sys_mbox_new() when tcpip_init is called.
mbed_official 0:51ac1d130fd4 1220 */
mbed_official 0:51ac1d130fd4 1221 #ifndef TCPIP_MBOX_SIZE
mbed_official 0:51ac1d130fd4 1222 #define TCPIP_MBOX_SIZE 0
mbed_official 0:51ac1d130fd4 1223 #endif
mbed_official 0:51ac1d130fd4 1224
mbed_official 0:51ac1d130fd4 1225 /**
mbed_official 0:51ac1d130fd4 1226 * SLIPIF_THREAD_NAME: The name assigned to the slipif_loop thread.
mbed_official 0:51ac1d130fd4 1227 */
mbed_official 0:51ac1d130fd4 1228 #ifndef SLIPIF_THREAD_NAME
mbed_official 0:51ac1d130fd4 1229 #define SLIPIF_THREAD_NAME "slipif_loop"
mbed_official 0:51ac1d130fd4 1230 #endif
mbed_official 0:51ac1d130fd4 1231
mbed_official 0:51ac1d130fd4 1232 /**
mbed_official 0:51ac1d130fd4 1233 * SLIP_THREAD_STACKSIZE: The stack size used by the slipif_loop thread.
mbed_official 0:51ac1d130fd4 1234 * The stack size value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1235 * sys_thread_new() when the thread is created.
mbed_official 0:51ac1d130fd4 1236 */
mbed_official 0:51ac1d130fd4 1237 #ifndef SLIPIF_THREAD_STACKSIZE
mbed_official 0:51ac1d130fd4 1238 #define SLIPIF_THREAD_STACKSIZE 0
mbed_official 0:51ac1d130fd4 1239 #endif
mbed_official 0:51ac1d130fd4 1240
mbed_official 0:51ac1d130fd4 1241 /**
mbed_official 0:51ac1d130fd4 1242 * SLIPIF_THREAD_PRIO: The priority assigned to the slipif_loop thread.
mbed_official 0:51ac1d130fd4 1243 * The priority value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1244 * sys_thread_new() when the thread is created.
mbed_official 0:51ac1d130fd4 1245 */
mbed_official 0:51ac1d130fd4 1246 #ifndef SLIPIF_THREAD_PRIO
mbed_official 0:51ac1d130fd4 1247 #define SLIPIF_THREAD_PRIO 1
mbed_official 0:51ac1d130fd4 1248 #endif
mbed_official 0:51ac1d130fd4 1249
mbed_official 0:51ac1d130fd4 1250 /**
mbed_official 0:51ac1d130fd4 1251 * PPP_THREAD_NAME: The name assigned to the pppInputThread.
mbed_official 0:51ac1d130fd4 1252 */
mbed_official 0:51ac1d130fd4 1253 #ifndef PPP_THREAD_NAME
mbed_official 0:51ac1d130fd4 1254 #define PPP_THREAD_NAME "pppInputThread"
mbed_official 0:51ac1d130fd4 1255 #endif
mbed_official 0:51ac1d130fd4 1256
mbed_official 0:51ac1d130fd4 1257 /**
mbed_official 0:51ac1d130fd4 1258 * PPP_THREAD_STACKSIZE: The stack size used by the pppInputThread.
mbed_official 0:51ac1d130fd4 1259 * The stack size value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1260 * sys_thread_new() when the thread is created.
mbed_official 0:51ac1d130fd4 1261 */
mbed_official 0:51ac1d130fd4 1262 #ifndef PPP_THREAD_STACKSIZE
mbed_official 0:51ac1d130fd4 1263 #define PPP_THREAD_STACKSIZE 0
mbed_official 0:51ac1d130fd4 1264 #endif
mbed_official 0:51ac1d130fd4 1265
mbed_official 0:51ac1d130fd4 1266 /**
mbed_official 0:51ac1d130fd4 1267 * PPP_THREAD_PRIO: The priority assigned to the pppInputThread.
mbed_official 0:51ac1d130fd4 1268 * The priority value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1269 * sys_thread_new() when the thread is created.
mbed_official 0:51ac1d130fd4 1270 */
mbed_official 0:51ac1d130fd4 1271 #ifndef PPP_THREAD_PRIO
mbed_official 0:51ac1d130fd4 1272 #define PPP_THREAD_PRIO 1
mbed_official 0:51ac1d130fd4 1273 #endif
mbed_official 0:51ac1d130fd4 1274
mbed_official 0:51ac1d130fd4 1275 /**
mbed_official 0:51ac1d130fd4 1276 * DEFAULT_THREAD_NAME: The name assigned to any other lwIP thread.
mbed_official 0:51ac1d130fd4 1277 */
mbed_official 0:51ac1d130fd4 1278 #ifndef DEFAULT_THREAD_NAME
mbed_official 0:51ac1d130fd4 1279 #define DEFAULT_THREAD_NAME "lwIP"
mbed_official 0:51ac1d130fd4 1280 #endif
mbed_official 0:51ac1d130fd4 1281
mbed_official 0:51ac1d130fd4 1282 /**
mbed_official 0:51ac1d130fd4 1283 * DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread.
mbed_official 0:51ac1d130fd4 1284 * The stack size value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1285 * sys_thread_new() when the thread is created.
mbed_official 0:51ac1d130fd4 1286 */
mbed_official 0:51ac1d130fd4 1287 #ifndef DEFAULT_THREAD_STACKSIZE
mbed_official 0:51ac1d130fd4 1288 #define DEFAULT_THREAD_STACKSIZE 0
mbed_official 0:51ac1d130fd4 1289 #endif
mbed_official 0:51ac1d130fd4 1290
mbed_official 0:51ac1d130fd4 1291 /**
mbed_official 0:51ac1d130fd4 1292 * DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread.
mbed_official 0:51ac1d130fd4 1293 * The priority value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1294 * sys_thread_new() when the thread is created.
mbed_official 0:51ac1d130fd4 1295 */
mbed_official 0:51ac1d130fd4 1296 #ifndef DEFAULT_THREAD_PRIO
mbed_official 0:51ac1d130fd4 1297 #define DEFAULT_THREAD_PRIO 1
mbed_official 0:51ac1d130fd4 1298 #endif
mbed_official 0:51ac1d130fd4 1299
mbed_official 0:51ac1d130fd4 1300 /**
mbed_official 0:51ac1d130fd4 1301 * DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
mbed_official 0:51ac1d130fd4 1302 * NETCONN_RAW. The queue size value itself is platform-dependent, but is passed
mbed_official 0:51ac1d130fd4 1303 * to sys_mbox_new() when the recvmbox is created.
mbed_official 0:51ac1d130fd4 1304 */
mbed_official 0:51ac1d130fd4 1305 #ifndef DEFAULT_RAW_RECVMBOX_SIZE
mbed_official 0:51ac1d130fd4 1306 #define DEFAULT_RAW_RECVMBOX_SIZE 0
mbed_official 0:51ac1d130fd4 1307 #endif
mbed_official 0:51ac1d130fd4 1308
mbed_official 0:51ac1d130fd4 1309 /**
mbed_official 0:51ac1d130fd4 1310 * DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
mbed_official 0:51ac1d130fd4 1311 * NETCONN_UDP. The queue size value itself is platform-dependent, but is passed
mbed_official 0:51ac1d130fd4 1312 * to sys_mbox_new() when the recvmbox is created.
mbed_official 0:51ac1d130fd4 1313 */
mbed_official 0:51ac1d130fd4 1314 #ifndef DEFAULT_UDP_RECVMBOX_SIZE
mbed_official 0:51ac1d130fd4 1315 #define DEFAULT_UDP_RECVMBOX_SIZE 0
mbed_official 0:51ac1d130fd4 1316 #endif
mbed_official 0:51ac1d130fd4 1317
mbed_official 0:51ac1d130fd4 1318 /**
mbed_official 0:51ac1d130fd4 1319 * DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
mbed_official 0:51ac1d130fd4 1320 * NETCONN_TCP. The queue size value itself is platform-dependent, but is passed
mbed_official 0:51ac1d130fd4 1321 * to sys_mbox_new() when the recvmbox is created.
mbed_official 0:51ac1d130fd4 1322 */
mbed_official 0:51ac1d130fd4 1323 #ifndef DEFAULT_TCP_RECVMBOX_SIZE
mbed_official 0:51ac1d130fd4 1324 #define DEFAULT_TCP_RECVMBOX_SIZE 0
mbed_official 0:51ac1d130fd4 1325 #endif
mbed_official 0:51ac1d130fd4 1326
mbed_official 0:51ac1d130fd4 1327 /**
mbed_official 0:51ac1d130fd4 1328 * DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections.
mbed_official 0:51ac1d130fd4 1329 * The queue size value itself is platform-dependent, but is passed to
mbed_official 0:51ac1d130fd4 1330 * sys_mbox_new() when the acceptmbox is created.
mbed_official 0:51ac1d130fd4 1331 */
mbed_official 0:51ac1d130fd4 1332 #ifndef DEFAULT_ACCEPTMBOX_SIZE
mbed_official 0:51ac1d130fd4 1333 #define DEFAULT_ACCEPTMBOX_SIZE 0
mbed_official 0:51ac1d130fd4 1334 #endif
mbed_official 0:51ac1d130fd4 1335
mbed_official 0:51ac1d130fd4 1336 /*
mbed_official 0:51ac1d130fd4 1337 ----------------------------------------------
mbed_official 0:51ac1d130fd4 1338 ---------- Sequential layer options ----------
mbed_official 0:51ac1d130fd4 1339 ----------------------------------------------
mbed_official 0:51ac1d130fd4 1340 */
mbed_official 0:51ac1d130fd4 1341 /**
mbed_official 0:51ac1d130fd4 1342 * LWIP_TCPIP_CORE_LOCKING: (EXPERIMENTAL!)
mbed_official 0:51ac1d130fd4 1343 * Don't use it if you're not an active lwIP project member
mbed_official 0:51ac1d130fd4 1344 */
mbed_official 0:51ac1d130fd4 1345 #ifndef LWIP_TCPIP_CORE_LOCKING
mbed_official 0:51ac1d130fd4 1346 #define LWIP_TCPIP_CORE_LOCKING 0
mbed_official 0:51ac1d130fd4 1347 #endif
mbed_official 0:51ac1d130fd4 1348
mbed_official 0:51ac1d130fd4 1349 /**
mbed_official 0:51ac1d130fd4 1350 * LWIP_TCPIP_CORE_LOCKING_INPUT: (EXPERIMENTAL!)
mbed_official 0:51ac1d130fd4 1351 * Don't use it if you're not an active lwIP project member
mbed_official 0:51ac1d130fd4 1352 */
mbed_official 0:51ac1d130fd4 1353 #ifndef LWIP_TCPIP_CORE_LOCKING_INPUT
mbed_official 0:51ac1d130fd4 1354 #define LWIP_TCPIP_CORE_LOCKING_INPUT 0
mbed_official 0:51ac1d130fd4 1355 #endif
mbed_official 0:51ac1d130fd4 1356
mbed_official 0:51ac1d130fd4 1357 /**
mbed_official 0:51ac1d130fd4 1358 * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c)
mbed_official 0:51ac1d130fd4 1359 */
mbed_official 0:51ac1d130fd4 1360 #ifndef LWIP_NETCONN
mbed_official 0:51ac1d130fd4 1361 #define LWIP_NETCONN 1
mbed_official 0:51ac1d130fd4 1362 #endif
mbed_official 0:51ac1d130fd4 1363
mbed_official 0:51ac1d130fd4 1364 /** LWIP_TCPIP_TIMEOUT==1: Enable tcpip_timeout/tcpip_untimeout tod create
mbed_official 0:51ac1d130fd4 1365 * timers running in tcpip_thread from another thread.
mbed_official 0:51ac1d130fd4 1366 */
mbed_official 0:51ac1d130fd4 1367 #ifndef LWIP_TCPIP_TIMEOUT
mbed_official 0:51ac1d130fd4 1368 #define LWIP_TCPIP_TIMEOUT 1
mbed_official 0:51ac1d130fd4 1369 #endif
mbed_official 0:51ac1d130fd4 1370
mbed_official 0:51ac1d130fd4 1371 /*
mbed_official 0:51ac1d130fd4 1372 ------------------------------------
mbed_official 0:51ac1d130fd4 1373 ---------- Socket options ----------
mbed_official 0:51ac1d130fd4 1374 ------------------------------------
mbed_official 0:51ac1d130fd4 1375 */
mbed_official 0:51ac1d130fd4 1376 /**
mbed_official 0:51ac1d130fd4 1377 * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)
mbed_official 0:51ac1d130fd4 1378 */
mbed_official 0:51ac1d130fd4 1379 #ifndef LWIP_SOCKET
mbed_official 0:51ac1d130fd4 1380 #define LWIP_SOCKET 1
mbed_official 0:51ac1d130fd4 1381 #endif
mbed_official 0:51ac1d130fd4 1382
mbed_official 0:51ac1d130fd4 1383 /**
mbed_official 0:51ac1d130fd4 1384 * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
mbed_official 0:51ac1d130fd4 1385 * (only used if you use sockets.c)
mbed_official 0:51ac1d130fd4 1386 */
mbed_official 0:51ac1d130fd4 1387 #ifndef LWIP_COMPAT_SOCKETS
mbed_official 0:51ac1d130fd4 1388 #define LWIP_COMPAT_SOCKETS 1
mbed_official 0:51ac1d130fd4 1389 #endif
mbed_official 0:51ac1d130fd4 1390
mbed_official 0:51ac1d130fd4 1391 /**
mbed_official 0:51ac1d130fd4 1392 * LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names.
mbed_official 0:51ac1d130fd4 1393 * Disable this option if you use a POSIX operating system that uses the same
mbed_official 0:51ac1d130fd4 1394 * names (read, write & close). (only used if you use sockets.c)
mbed_official 0:51ac1d130fd4 1395 */
mbed_official 0:51ac1d130fd4 1396 #ifndef LWIP_POSIX_SOCKETS_IO_NAMES
mbed_official 0:51ac1d130fd4 1397 #define LWIP_POSIX_SOCKETS_IO_NAMES 1
mbed_official 0:51ac1d130fd4 1398 #endif
mbed_official 0:51ac1d130fd4 1399
mbed_official 0:51ac1d130fd4 1400 /**
mbed_official 0:51ac1d130fd4 1401 * LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT
mbed_official 0:51ac1d130fd4 1402 * options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set
mbed_official 0:51ac1d130fd4 1403 * in seconds. (does not require sockets.c, and will affect tcp.c)
mbed_official 0:51ac1d130fd4 1404 */
mbed_official 0:51ac1d130fd4 1405 #ifndef LWIP_TCP_KEEPALIVE
mbed_official 0:51ac1d130fd4 1406 #define LWIP_TCP_KEEPALIVE 0
mbed_official 0:51ac1d130fd4 1407 #endif
mbed_official 0:51ac1d130fd4 1408
mbed_official 0:51ac1d130fd4 1409 /**
mbed_official 0:51ac1d130fd4 1410 * LWIP_SO_RCVTIMEO==1: Enable SO_RCVTIMEO processing.
mbed_official 0:51ac1d130fd4 1411 */
mbed_official 0:51ac1d130fd4 1412 #ifndef LWIP_SO_RCVTIMEO
mbed_official 0:51ac1d130fd4 1413 #define LWIP_SO_RCVTIMEO 0
mbed_official 0:51ac1d130fd4 1414 #endif
mbed_official 0:51ac1d130fd4 1415
mbed_official 0:51ac1d130fd4 1416 /**
mbed_official 0:51ac1d130fd4 1417 * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing.
mbed_official 0:51ac1d130fd4 1418 */
mbed_official 0:51ac1d130fd4 1419 #ifndef LWIP_SO_RCVBUF
mbed_official 0:51ac1d130fd4 1420 #define LWIP_SO_RCVBUF 0
mbed_official 0:51ac1d130fd4 1421 #endif
mbed_official 0:51ac1d130fd4 1422
mbed_official 0:51ac1d130fd4 1423 /**
mbed_official 0:51ac1d130fd4 1424 * If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize.
mbed_official 0:51ac1d130fd4 1425 */
mbed_official 0:51ac1d130fd4 1426 #ifndef RECV_BUFSIZE_DEFAULT
mbed_official 0:51ac1d130fd4 1427 #define RECV_BUFSIZE_DEFAULT INT_MAX
mbed_official 0:51ac1d130fd4 1428 #endif
mbed_official 0:51ac1d130fd4 1429
mbed_official 0:51ac1d130fd4 1430 /**
mbed_official 0:51ac1d130fd4 1431 * SO_REUSE==1: Enable SO_REUSEADDR option.
mbed_official 0:51ac1d130fd4 1432 */
mbed_official 0:51ac1d130fd4 1433 #ifndef SO_REUSE
mbed_official 0:51ac1d130fd4 1434 #define SO_REUSE 0
mbed_official 0:51ac1d130fd4 1435 #endif
mbed_official 0:51ac1d130fd4 1436
mbed_official 0:51ac1d130fd4 1437 /**
mbed_official 0:51ac1d130fd4 1438 * SO_REUSE_RXTOALL==1: Pass a copy of incoming broadcast/multicast packets
mbed_official 0:51ac1d130fd4 1439 * to all local matches if SO_REUSEADDR is turned on.
mbed_official 0:51ac1d130fd4 1440 * WARNING: Adds a memcpy for every packet if passing to more than one pcb!
mbed_official 0:51ac1d130fd4 1441 */
mbed_official 0:51ac1d130fd4 1442 #ifndef SO_REUSE_RXTOALL
mbed_official 0:51ac1d130fd4 1443 #define SO_REUSE_RXTOALL 0
mbed_official 0:51ac1d130fd4 1444 #endif
mbed_official 0:51ac1d130fd4 1445
mbed_official 0:51ac1d130fd4 1446 /*
mbed_official 0:51ac1d130fd4 1447 ----------------------------------------
mbed_official 0:51ac1d130fd4 1448 ---------- Statistics options ----------
mbed_official 0:51ac1d130fd4 1449 ----------------------------------------
mbed_official 0:51ac1d130fd4 1450 */
mbed_official 0:51ac1d130fd4 1451 /**
mbed_official 0:51ac1d130fd4 1452 * LWIP_STATS==1: Enable statistics collection in lwip_stats.
mbed_official 0:51ac1d130fd4 1453 */
mbed_official 0:51ac1d130fd4 1454 #ifndef LWIP_STATS
mbed_official 0:51ac1d130fd4 1455 #define LWIP_STATS 1
mbed_official 0:51ac1d130fd4 1456 #endif
mbed_official 0:51ac1d130fd4 1457
mbed_official 0:51ac1d130fd4 1458 #if LWIP_STATS
mbed_official 0:51ac1d130fd4 1459
mbed_official 0:51ac1d130fd4 1460 /**
mbed_official 0:51ac1d130fd4 1461 * LWIP_STATS_DISPLAY==1: Compile in the statistics output functions.
mbed_official 0:51ac1d130fd4 1462 */
mbed_official 0:51ac1d130fd4 1463 #ifndef LWIP_STATS_DISPLAY
mbed_official 0:51ac1d130fd4 1464 #define LWIP_STATS_DISPLAY 0
mbed_official 0:51ac1d130fd4 1465 #endif
mbed_official 0:51ac1d130fd4 1466
mbed_official 0:51ac1d130fd4 1467 /**
mbed_official 0:51ac1d130fd4 1468 * LINK_STATS==1: Enable link stats.
mbed_official 0:51ac1d130fd4 1469 */
mbed_official 0:51ac1d130fd4 1470 #ifndef LINK_STATS
mbed_official 0:51ac1d130fd4 1471 #define LINK_STATS 1
mbed_official 0:51ac1d130fd4 1472 #endif
mbed_official 0:51ac1d130fd4 1473
mbed_official 0:51ac1d130fd4 1474 /**
mbed_official 0:51ac1d130fd4 1475 * ETHARP_STATS==1: Enable etharp stats.
mbed_official 0:51ac1d130fd4 1476 */
mbed_official 0:51ac1d130fd4 1477 #ifndef ETHARP_STATS
mbed_official 0:51ac1d130fd4 1478 #define ETHARP_STATS (LWIP_ARP)
mbed_official 0:51ac1d130fd4 1479 #endif
mbed_official 0:51ac1d130fd4 1480
mbed_official 0:51ac1d130fd4 1481 /**
mbed_official 0:51ac1d130fd4 1482 * IP_STATS==1: Enable IP stats.
mbed_official 0:51ac1d130fd4 1483 */
mbed_official 0:51ac1d130fd4 1484 #ifndef IP_STATS
mbed_official 0:51ac1d130fd4 1485 #define IP_STATS 1
mbed_official 0:51ac1d130fd4 1486 #endif
mbed_official 0:51ac1d130fd4 1487
mbed_official 0:51ac1d130fd4 1488 /**
mbed_official 0:51ac1d130fd4 1489 * IPFRAG_STATS==1: Enable IP fragmentation stats. Default is
mbed_official 0:51ac1d130fd4 1490 * on if using either frag or reass.
mbed_official 0:51ac1d130fd4 1491 */
mbed_official 0:51ac1d130fd4 1492 #ifndef IPFRAG_STATS
mbed_official 0:51ac1d130fd4 1493 #define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG)
mbed_official 0:51ac1d130fd4 1494 #endif
mbed_official 0:51ac1d130fd4 1495
mbed_official 0:51ac1d130fd4 1496 /**
mbed_official 0:51ac1d130fd4 1497 * ICMP_STATS==1: Enable ICMP stats.
mbed_official 0:51ac1d130fd4 1498 */
mbed_official 0:51ac1d130fd4 1499 #ifndef ICMP_STATS
mbed_official 0:51ac1d130fd4 1500 #define ICMP_STATS 1
mbed_official 0:51ac1d130fd4 1501 #endif
mbed_official 0:51ac1d130fd4 1502
mbed_official 0:51ac1d130fd4 1503 /**
mbed_official 0:51ac1d130fd4 1504 * IGMP_STATS==1: Enable IGMP stats.
mbed_official 0:51ac1d130fd4 1505 */
mbed_official 0:51ac1d130fd4 1506 #ifndef IGMP_STATS
mbed_official 0:51ac1d130fd4 1507 #define IGMP_STATS (LWIP_IGMP)
mbed_official 0:51ac1d130fd4 1508 #endif
mbed_official 0:51ac1d130fd4 1509
mbed_official 0:51ac1d130fd4 1510 /**
mbed_official 0:51ac1d130fd4 1511 * UDP_STATS==1: Enable UDP stats. Default is on if
mbed_official 0:51ac1d130fd4 1512 * UDP enabled, otherwise off.
mbed_official 0:51ac1d130fd4 1513 */
mbed_official 0:51ac1d130fd4 1514 #ifndef UDP_STATS
mbed_official 0:51ac1d130fd4 1515 #define UDP_STATS (LWIP_UDP)
mbed_official 0:51ac1d130fd4 1516 #endif
mbed_official 0:51ac1d130fd4 1517
mbed_official 0:51ac1d130fd4 1518 /**
mbed_official 0:51ac1d130fd4 1519 * TCP_STATS==1: Enable TCP stats. Default is on if TCP
mbed_official 0:51ac1d130fd4 1520 * enabled, otherwise off.
mbed_official 0:51ac1d130fd4 1521 */
mbed_official 0:51ac1d130fd4 1522 #ifndef TCP_STATS
mbed_official 0:51ac1d130fd4 1523 #define TCP_STATS (LWIP_TCP)
mbed_official 0:51ac1d130fd4 1524 #endif
mbed_official 0:51ac1d130fd4 1525
mbed_official 0:51ac1d130fd4 1526 /**
mbed_official 0:51ac1d130fd4 1527 * MEM_STATS==1: Enable mem.c stats.
mbed_official 0:51ac1d130fd4 1528 */
mbed_official 0:51ac1d130fd4 1529 #ifndef MEM_STATS
mbed_official 0:51ac1d130fd4 1530 #define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))
mbed_official 0:51ac1d130fd4 1531 #endif
mbed_official 0:51ac1d130fd4 1532
mbed_official 0:51ac1d130fd4 1533 /**
mbed_official 0:51ac1d130fd4 1534 * MEMP_STATS==1: Enable memp.c pool stats.
mbed_official 0:51ac1d130fd4 1535 */
mbed_official 0:51ac1d130fd4 1536 #ifndef MEMP_STATS
mbed_official 0:51ac1d130fd4 1537 #define MEMP_STATS (MEMP_MEM_MALLOC == 0)
mbed_official 0:51ac1d130fd4 1538 #endif
mbed_official 0:51ac1d130fd4 1539
mbed_official 0:51ac1d130fd4 1540 /**
mbed_official 0:51ac1d130fd4 1541 * SYS_STATS==1: Enable system stats (sem and mbox counts, etc).
mbed_official 0:51ac1d130fd4 1542 */
mbed_official 0:51ac1d130fd4 1543 #ifndef SYS_STATS
mbed_official 0:51ac1d130fd4 1544 #define SYS_STATS (NO_SYS == 0)
mbed_official 0:51ac1d130fd4 1545 #endif
mbed_official 0:51ac1d130fd4 1546
mbed_official 0:51ac1d130fd4 1547 #else
mbed_official 0:51ac1d130fd4 1548
mbed_official 0:51ac1d130fd4 1549 #define LINK_STATS 0
mbed_official 0:51ac1d130fd4 1550 #define IP_STATS 0
mbed_official 0:51ac1d130fd4 1551 #define IPFRAG_STATS 0
mbed_official 0:51ac1d130fd4 1552 #define ICMP_STATS 0
mbed_official 0:51ac1d130fd4 1553 #define IGMP_STATS 0
mbed_official 0:51ac1d130fd4 1554 #define UDP_STATS 0
mbed_official 0:51ac1d130fd4 1555 #define TCP_STATS 0
mbed_official 0:51ac1d130fd4 1556 #define MEM_STATS 0
mbed_official 0:51ac1d130fd4 1557 #define MEMP_STATS 0
mbed_official 0:51ac1d130fd4 1558 #define SYS_STATS 0
mbed_official 0:51ac1d130fd4 1559 #define LWIP_STATS_DISPLAY 0
mbed_official 0:51ac1d130fd4 1560
mbed_official 0:51ac1d130fd4 1561 #endif /* LWIP_STATS */
mbed_official 0:51ac1d130fd4 1562
mbed_official 0:51ac1d130fd4 1563 /*
mbed_official 0:51ac1d130fd4 1564 ---------------------------------
mbed_official 0:51ac1d130fd4 1565 ---------- PPP options ----------
mbed_official 0:51ac1d130fd4 1566 ---------------------------------
mbed_official 0:51ac1d130fd4 1567 */
mbed_official 0:51ac1d130fd4 1568 /**
mbed_official 0:51ac1d130fd4 1569 * PPP_SUPPORT==1: Enable PPP.
mbed_official 0:51ac1d130fd4 1570 */
mbed_official 0:51ac1d130fd4 1571 #ifndef PPP_SUPPORT
mbed_official 0:51ac1d130fd4 1572 #define PPP_SUPPORT 0
mbed_official 0:51ac1d130fd4 1573 #endif
mbed_official 0:51ac1d130fd4 1574
mbed_official 0:51ac1d130fd4 1575 /**
mbed_official 0:51ac1d130fd4 1576 * PPPOE_SUPPORT==1: Enable PPP Over Ethernet
mbed_official 0:51ac1d130fd4 1577 */
mbed_official 0:51ac1d130fd4 1578 #ifndef PPPOE_SUPPORT
mbed_official 0:51ac1d130fd4 1579 #define PPPOE_SUPPORT 0
mbed_official 0:51ac1d130fd4 1580 #endif
mbed_official 0:51ac1d130fd4 1581
mbed_official 0:51ac1d130fd4 1582 /**
mbed_official 0:51ac1d130fd4 1583 * PPPOS_SUPPORT==1: Enable PPP Over Serial
mbed_official 0:51ac1d130fd4 1584 */
mbed_official 0:51ac1d130fd4 1585 #ifndef PPPOS_SUPPORT
mbed_official 0:51ac1d130fd4 1586 #define PPPOS_SUPPORT PPP_SUPPORT
mbed_official 0:51ac1d130fd4 1587 #endif
mbed_official 0:51ac1d130fd4 1588
mbed_official 0:51ac1d130fd4 1589 #if PPP_SUPPORT
mbed_official 0:51ac1d130fd4 1590
mbed_official 0:51ac1d130fd4 1591 /**
mbed_official 0:51ac1d130fd4 1592 * NUM_PPP: Max PPP sessions.
mbed_official 0:51ac1d130fd4 1593 */
mbed_official 0:51ac1d130fd4 1594 #ifndef NUM_PPP
mbed_official 0:51ac1d130fd4 1595 #define NUM_PPP 1
mbed_official 0:51ac1d130fd4 1596 #endif
mbed_official 0:51ac1d130fd4 1597
mbed_official 0:51ac1d130fd4 1598 /**
mbed_official 0:51ac1d130fd4 1599 * PAP_SUPPORT==1: Support PAP.
mbed_official 0:51ac1d130fd4 1600 */
mbed_official 0:51ac1d130fd4 1601 #ifndef PAP_SUPPORT
mbed_official 0:51ac1d130fd4 1602 #define PAP_SUPPORT 0
mbed_official 0:51ac1d130fd4 1603 #endif
mbed_official 0:51ac1d130fd4 1604
mbed_official 0:51ac1d130fd4 1605 /**
mbed_official 0:51ac1d130fd4 1606 * CHAP_SUPPORT==1: Support CHAP.
mbed_official 0:51ac1d130fd4 1607 */
mbed_official 0:51ac1d130fd4 1608 #ifndef CHAP_SUPPORT
mbed_official 0:51ac1d130fd4 1609 #define CHAP_SUPPORT 0
mbed_official 0:51ac1d130fd4 1610 #endif
mbed_official 0:51ac1d130fd4 1611
mbed_official 0:51ac1d130fd4 1612 /**
mbed_official 0:51ac1d130fd4 1613 * MSCHAP_SUPPORT==1: Support MSCHAP. CURRENTLY NOT SUPPORTED! DO NOT SET!
mbed_official 0:51ac1d130fd4 1614 */
mbed_official 0:51ac1d130fd4 1615 #ifndef MSCHAP_SUPPORT
mbed_official 0:51ac1d130fd4 1616 #define MSCHAP_SUPPORT 0
mbed_official 0:51ac1d130fd4 1617 #endif
mbed_official 0:51ac1d130fd4 1618
mbed_official 0:51ac1d130fd4 1619 /**
mbed_official 0:51ac1d130fd4 1620 * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET!
mbed_official 0:51ac1d130fd4 1621 */
mbed_official 0:51ac1d130fd4 1622 #ifndef CBCP_SUPPORT
mbed_official 0:51ac1d130fd4 1623 #define CBCP_SUPPORT 0
mbed_official 0:51ac1d130fd4 1624 #endif
mbed_official 0:51ac1d130fd4 1625
mbed_official 0:51ac1d130fd4 1626 /**
mbed_official 0:51ac1d130fd4 1627 * CCP_SUPPORT==1: Support CCP. CURRENTLY NOT SUPPORTED! DO NOT SET!
mbed_official 0:51ac1d130fd4 1628 */
mbed_official 0:51ac1d130fd4 1629 #ifndef CCP_SUPPORT
mbed_official 0:51ac1d130fd4 1630 #define CCP_SUPPORT 0
mbed_official 0:51ac1d130fd4 1631 #endif
mbed_official 0:51ac1d130fd4 1632
mbed_official 0:51ac1d130fd4 1633 /**
mbed_official 0:51ac1d130fd4 1634 * VJ_SUPPORT==1: Support VJ header compression.
mbed_official 0:51ac1d130fd4 1635 */
mbed_official 0:51ac1d130fd4 1636 #ifndef VJ_SUPPORT
mbed_official 0:51ac1d130fd4 1637 #define VJ_SUPPORT 0
mbed_official 0:51ac1d130fd4 1638 #endif
mbed_official 0:51ac1d130fd4 1639
mbed_official 0:51ac1d130fd4 1640 /**
mbed_official 0:51ac1d130fd4 1641 * MD5_SUPPORT==1: Support MD5 (see also CHAP).
mbed_official 0:51ac1d130fd4 1642 */
mbed_official 0:51ac1d130fd4 1643 #ifndef MD5_SUPPORT
mbed_official 0:51ac1d130fd4 1644 #define MD5_SUPPORT 0
mbed_official 0:51ac1d130fd4 1645 #endif
mbed_official 0:51ac1d130fd4 1646
mbed_official 0:51ac1d130fd4 1647 /*
mbed_official 0:51ac1d130fd4 1648 * Timeouts
mbed_official 0:51ac1d130fd4 1649 */
mbed_official 0:51ac1d130fd4 1650 #ifndef FSM_DEFTIMEOUT
mbed_official 0:51ac1d130fd4 1651 #define FSM_DEFTIMEOUT 6 /* Timeout time in seconds */
mbed_official 0:51ac1d130fd4 1652 #endif
mbed_official 0:51ac1d130fd4 1653
mbed_official 0:51ac1d130fd4 1654 #ifndef FSM_DEFMAXTERMREQS
mbed_official 0:51ac1d130fd4 1655 #define FSM_DEFMAXTERMREQS 2 /* Maximum Terminate-Request transmissions */
mbed_official 0:51ac1d130fd4 1656 #endif
mbed_official 0:51ac1d130fd4 1657
mbed_official 0:51ac1d130fd4 1658 #ifndef FSM_DEFMAXCONFREQS
mbed_official 0:51ac1d130fd4 1659 #define FSM_DEFMAXCONFREQS 10 /* Maximum Configure-Request transmissions */
mbed_official 0:51ac1d130fd4 1660 #endif
mbed_official 0:51ac1d130fd4 1661
mbed_official 0:51ac1d130fd4 1662 #ifndef FSM_DEFMAXNAKLOOPS
mbed_official 0:51ac1d130fd4 1663 #define FSM_DEFMAXNAKLOOPS 5 /* Maximum number of nak loops */
mbed_official 0:51ac1d130fd4 1664 #endif
mbed_official 0:51ac1d130fd4 1665
mbed_official 0:51ac1d130fd4 1666 #ifndef UPAP_DEFTIMEOUT
mbed_official 0:51ac1d130fd4 1667 #define UPAP_DEFTIMEOUT 6 /* Timeout (seconds) for retransmitting req */
mbed_official 0:51ac1d130fd4 1668 #endif
mbed_official 0:51ac1d130fd4 1669
mbed_official 0:51ac1d130fd4 1670 #ifndef UPAP_DEFREQTIME
mbed_official 0:51ac1d130fd4 1671 #define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */
mbed_official 0:51ac1d130fd4 1672 #endif
mbed_official 0:51ac1d130fd4 1673
mbed_official 0:51ac1d130fd4 1674 #ifndef CHAP_DEFTIMEOUT
mbed_official 0:51ac1d130fd4 1675 #define CHAP_DEFTIMEOUT 6 /* Timeout time in seconds */
mbed_official 0:51ac1d130fd4 1676 #endif
mbed_official 0:51ac1d130fd4 1677
mbed_official 0:51ac1d130fd4 1678 #ifndef CHAP_DEFTRANSMITS
mbed_official 0:51ac1d130fd4 1679 #define CHAP_DEFTRANSMITS 10 /* max # times to send challenge */
mbed_official 0:51ac1d130fd4 1680 #endif
mbed_official 0:51ac1d130fd4 1681
mbed_official 0:51ac1d130fd4 1682 /* Interval in seconds between keepalive echo requests, 0 to disable. */
mbed_official 0:51ac1d130fd4 1683 #ifndef LCP_ECHOINTERVAL
mbed_official 0:51ac1d130fd4 1684 #define LCP_ECHOINTERVAL 0
mbed_official 0:51ac1d130fd4 1685 #endif
mbed_official 0:51ac1d130fd4 1686
mbed_official 0:51ac1d130fd4 1687 /* Number of unanswered echo requests before failure. */
mbed_official 0:51ac1d130fd4 1688 #ifndef LCP_MAXECHOFAILS
mbed_official 0:51ac1d130fd4 1689 #define LCP_MAXECHOFAILS 3
mbed_official 0:51ac1d130fd4 1690 #endif
mbed_official 0:51ac1d130fd4 1691
mbed_official 0:51ac1d130fd4 1692 /* Max Xmit idle time (in jiffies) before resend flag char. */
mbed_official 0:51ac1d130fd4 1693 #ifndef PPP_MAXIDLEFLAG
mbed_official 0:51ac1d130fd4 1694 #define PPP_MAXIDLEFLAG 100
mbed_official 0:51ac1d130fd4 1695 #endif
mbed_official 0:51ac1d130fd4 1696
mbed_official 0:51ac1d130fd4 1697 /*
mbed_official 0:51ac1d130fd4 1698 * Packet sizes
mbed_official 0:51ac1d130fd4 1699 *
mbed_official 0:51ac1d130fd4 1700 * Note - lcp shouldn't be allowed to negotiate stuff outside these
mbed_official 0:51ac1d130fd4 1701 * limits. See lcp.h in the pppd directory.
mbed_official 0:51ac1d130fd4 1702 * (XXX - these constants should simply be shared by lcp.c instead
mbed_official 0:51ac1d130fd4 1703 * of living in lcp.h)
mbed_official 0:51ac1d130fd4 1704 */
mbed_official 0:51ac1d130fd4 1705 #define PPP_MTU 1500 /* Default MTU (size of Info field) */
mbed_official 0:51ac1d130fd4 1706 #ifndef PPP_MAXMTU
mbed_official 0:51ac1d130fd4 1707 /* #define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) */
mbed_official 0:51ac1d130fd4 1708 #define PPP_MAXMTU 1500 /* Largest MTU we allow */
mbed_official 0:51ac1d130fd4 1709 #endif
mbed_official 0:51ac1d130fd4 1710 #define PPP_MINMTU 64
mbed_official 0:51ac1d130fd4 1711 #define PPP_MRU 1500 /* default MRU = max length of info field */
mbed_official 0:51ac1d130fd4 1712 #define PPP_MAXMRU 1500 /* Largest MRU we allow */
mbed_official 0:51ac1d130fd4 1713 #ifndef PPP_DEFMRU
mbed_official 0:51ac1d130fd4 1714 #define PPP_DEFMRU 296 /* Try for this */
mbed_official 0:51ac1d130fd4 1715 #endif
mbed_official 0:51ac1d130fd4 1716 #define PPP_MINMRU 128 /* No MRUs below this */
mbed_official 0:51ac1d130fd4 1717
mbed_official 0:51ac1d130fd4 1718 #ifndef MAXNAMELEN
mbed_official 0:51ac1d130fd4 1719 #define MAXNAMELEN 256 /* max length of hostname or name for auth */
mbed_official 0:51ac1d130fd4 1720 #endif
mbed_official 0:51ac1d130fd4 1721 #ifndef MAXSECRETLEN
mbed_official 0:51ac1d130fd4 1722 #define MAXSECRETLEN 256 /* max length of password or secret */
mbed_official 0:51ac1d130fd4 1723 #endif
mbed_official 0:51ac1d130fd4 1724
mbed_official 0:51ac1d130fd4 1725 #endif /* PPP_SUPPORT */
mbed_official 0:51ac1d130fd4 1726
mbed_official 0:51ac1d130fd4 1727 /*
mbed_official 0:51ac1d130fd4 1728 --------------------------------------
mbed_official 0:51ac1d130fd4 1729 ---------- Checksum options ----------
mbed_official 0:51ac1d130fd4 1730 --------------------------------------
mbed_official 0:51ac1d130fd4 1731 */
mbed_official 0:51ac1d130fd4 1732 /**
mbed_official 0:51ac1d130fd4 1733 * CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.
mbed_official 0:51ac1d130fd4 1734 */
mbed_official 0:51ac1d130fd4 1735 #ifndef CHECKSUM_GEN_IP
mbed_official 0:51ac1d130fd4 1736 #define CHECKSUM_GEN_IP 1
mbed_official 0:51ac1d130fd4 1737 #endif
mbed_official 0:51ac1d130fd4 1738
mbed_official 0:51ac1d130fd4 1739 /**
mbed_official 0:51ac1d130fd4 1740 * CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.
mbed_official 0:51ac1d130fd4 1741 */
mbed_official 0:51ac1d130fd4 1742 #ifndef CHECKSUM_GEN_UDP
mbed_official 0:51ac1d130fd4 1743 #define CHECKSUM_GEN_UDP 1
mbed_official 0:51ac1d130fd4 1744 #endif
mbed_official 0:51ac1d130fd4 1745
mbed_official 0:51ac1d130fd4 1746 /**
mbed_official 0:51ac1d130fd4 1747 * CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.
mbed_official 0:51ac1d130fd4 1748 */
mbed_official 0:51ac1d130fd4 1749 #ifndef CHECKSUM_GEN_TCP
mbed_official 0:51ac1d130fd4 1750 #define CHECKSUM_GEN_TCP 1
mbed_official 0:51ac1d130fd4 1751 #endif
mbed_official 0:51ac1d130fd4 1752
mbed_official 0:51ac1d130fd4 1753 /**
mbed_official 0:51ac1d130fd4 1754 * CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.
mbed_official 0:51ac1d130fd4 1755 */
mbed_official 0:51ac1d130fd4 1756 #ifndef CHECKSUM_CHECK_IP
mbed_official 0:51ac1d130fd4 1757 #define CHECKSUM_CHECK_IP 1
mbed_official 0:51ac1d130fd4 1758 #endif
mbed_official 0:51ac1d130fd4 1759
mbed_official 0:51ac1d130fd4 1760 /**
mbed_official 0:51ac1d130fd4 1761 * CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.
mbed_official 0:51ac1d130fd4 1762 */
mbed_official 0:51ac1d130fd4 1763 #ifndef CHECKSUM_CHECK_UDP
mbed_official 0:51ac1d130fd4 1764 #define CHECKSUM_CHECK_UDP 1
mbed_official 0:51ac1d130fd4 1765 #endif
mbed_official 0:51ac1d130fd4 1766
mbed_official 0:51ac1d130fd4 1767 /**
mbed_official 0:51ac1d130fd4 1768 * CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.
mbed_official 0:51ac1d130fd4 1769 */
mbed_official 0:51ac1d130fd4 1770 #ifndef CHECKSUM_CHECK_TCP
mbed_official 0:51ac1d130fd4 1771 #define CHECKSUM_CHECK_TCP 1
mbed_official 0:51ac1d130fd4 1772 #endif
mbed_official 0:51ac1d130fd4 1773
mbed_official 0:51ac1d130fd4 1774 /**
mbed_official 0:51ac1d130fd4 1775 * LWIP_CHECKSUM_ON_COPY==1: Calculate checksum when copying data from
mbed_official 0:51ac1d130fd4 1776 * application buffers to pbufs.
mbed_official 0:51ac1d130fd4 1777 */
mbed_official 0:51ac1d130fd4 1778 #ifndef LWIP_CHECKSUM_ON_COPY
mbed_official 0:51ac1d130fd4 1779 #define LWIP_CHECKSUM_ON_COPY 0
mbed_official 0:51ac1d130fd4 1780 #endif
mbed_official 0:51ac1d130fd4 1781
mbed_official 0:51ac1d130fd4 1782 /*
mbed_official 0:51ac1d130fd4 1783 ---------------------------------------
mbed_official 0:51ac1d130fd4 1784 ---------- Debugging options ----------
mbed_official 0:51ac1d130fd4 1785 ---------------------------------------
mbed_official 0:51ac1d130fd4 1786 */
mbed_official 0:51ac1d130fd4 1787 /**
mbed_official 0:51ac1d130fd4 1788 * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is
mbed_official 0:51ac1d130fd4 1789 * compared against this value. If it is smaller, then debugging
mbed_official 0:51ac1d130fd4 1790 * messages are written.
mbed_official 0:51ac1d130fd4 1791 */
mbed_official 0:51ac1d130fd4 1792 #ifndef LWIP_DBG_MIN_LEVEL
mbed_official 0:51ac1d130fd4 1793 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL
mbed_official 0:51ac1d130fd4 1794 #endif
mbed_official 0:51ac1d130fd4 1795
mbed_official 0:51ac1d130fd4 1796 /**
mbed_official 0:51ac1d130fd4 1797 * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable
mbed_official 0:51ac1d130fd4 1798 * debug messages of certain types.
mbed_official 0:51ac1d130fd4 1799 */
mbed_official 0:51ac1d130fd4 1800 #ifndef LWIP_DBG_TYPES_ON
mbed_official 0:51ac1d130fd4 1801 #define LWIP_DBG_TYPES_ON LWIP_DBG_ON
mbed_official 0:51ac1d130fd4 1802 #endif
mbed_official 0:51ac1d130fd4 1803
mbed_official 0:51ac1d130fd4 1804 /**
mbed_official 0:51ac1d130fd4 1805 * ETHARP_DEBUG: Enable debugging in etharp.c.
mbed_official 0:51ac1d130fd4 1806 */
mbed_official 0:51ac1d130fd4 1807 #ifndef ETHARP_DEBUG
mbed_official 0:51ac1d130fd4 1808 #define ETHARP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1809 #endif
mbed_official 0:51ac1d130fd4 1810
mbed_official 0:51ac1d130fd4 1811 /**
mbed_official 0:51ac1d130fd4 1812 * NETIF_DEBUG: Enable debugging in netif.c.
mbed_official 0:51ac1d130fd4 1813 */
mbed_official 0:51ac1d130fd4 1814 #ifndef NETIF_DEBUG
mbed_official 0:51ac1d130fd4 1815 #define NETIF_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1816 #endif
mbed_official 0:51ac1d130fd4 1817
mbed_official 0:51ac1d130fd4 1818 /**
mbed_official 0:51ac1d130fd4 1819 * PBUF_DEBUG: Enable debugging in pbuf.c.
mbed_official 0:51ac1d130fd4 1820 */
mbed_official 0:51ac1d130fd4 1821 #ifndef PBUF_DEBUG
mbed_official 0:51ac1d130fd4 1822 #define PBUF_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1823 #endif
mbed_official 0:51ac1d130fd4 1824
mbed_official 0:51ac1d130fd4 1825 /**
mbed_official 0:51ac1d130fd4 1826 * API_LIB_DEBUG: Enable debugging in api_lib.c.
mbed_official 0:51ac1d130fd4 1827 */
mbed_official 0:51ac1d130fd4 1828 #ifndef API_LIB_DEBUG
mbed_official 0:51ac1d130fd4 1829 #define API_LIB_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1830 #endif
mbed_official 0:51ac1d130fd4 1831
mbed_official 0:51ac1d130fd4 1832 /**
mbed_official 0:51ac1d130fd4 1833 * API_MSG_DEBUG: Enable debugging in api_msg.c.
mbed_official 0:51ac1d130fd4 1834 */
mbed_official 0:51ac1d130fd4 1835 #ifndef API_MSG_DEBUG
mbed_official 0:51ac1d130fd4 1836 #define API_MSG_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1837 #endif
mbed_official 0:51ac1d130fd4 1838
mbed_official 0:51ac1d130fd4 1839 /**
mbed_official 0:51ac1d130fd4 1840 * SOCKETS_DEBUG: Enable debugging in sockets.c.
mbed_official 0:51ac1d130fd4 1841 */
mbed_official 0:51ac1d130fd4 1842 #ifndef SOCKETS_DEBUG
mbed_official 0:51ac1d130fd4 1843 #define SOCKETS_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1844 #endif
mbed_official 0:51ac1d130fd4 1845
mbed_official 0:51ac1d130fd4 1846 /**
mbed_official 0:51ac1d130fd4 1847 * ICMP_DEBUG: Enable debugging in icmp.c.
mbed_official 0:51ac1d130fd4 1848 */
mbed_official 0:51ac1d130fd4 1849 #ifndef ICMP_DEBUG
mbed_official 0:51ac1d130fd4 1850 #define ICMP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1851 #endif
mbed_official 0:51ac1d130fd4 1852
mbed_official 0:51ac1d130fd4 1853 /**
mbed_official 0:51ac1d130fd4 1854 * IGMP_DEBUG: Enable debugging in igmp.c.
mbed_official 0:51ac1d130fd4 1855 */
mbed_official 0:51ac1d130fd4 1856 #ifndef IGMP_DEBUG
mbed_official 0:51ac1d130fd4 1857 #define IGMP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1858 #endif
mbed_official 0:51ac1d130fd4 1859
mbed_official 0:51ac1d130fd4 1860 /**
mbed_official 0:51ac1d130fd4 1861 * INET_DEBUG: Enable debugging in inet.c.
mbed_official 0:51ac1d130fd4 1862 */
mbed_official 0:51ac1d130fd4 1863 #ifndef INET_DEBUG
mbed_official 0:51ac1d130fd4 1864 #define INET_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1865 #endif
mbed_official 0:51ac1d130fd4 1866
mbed_official 0:51ac1d130fd4 1867 /**
mbed_official 0:51ac1d130fd4 1868 * IP_DEBUG: Enable debugging for IP.
mbed_official 0:51ac1d130fd4 1869 */
mbed_official 0:51ac1d130fd4 1870 #ifndef IP_DEBUG
mbed_official 0:51ac1d130fd4 1871 #define IP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1872 #endif
mbed_official 0:51ac1d130fd4 1873
mbed_official 0:51ac1d130fd4 1874 /**
mbed_official 0:51ac1d130fd4 1875 * IP_REASS_DEBUG: Enable debugging in ip_frag.c for both frag & reass.
mbed_official 0:51ac1d130fd4 1876 */
mbed_official 0:51ac1d130fd4 1877 #ifndef IP_REASS_DEBUG
mbed_official 0:51ac1d130fd4 1878 #define IP_REASS_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1879 #endif
mbed_official 0:51ac1d130fd4 1880
mbed_official 0:51ac1d130fd4 1881 /**
mbed_official 0:51ac1d130fd4 1882 * RAW_DEBUG: Enable debugging in raw.c.
mbed_official 0:51ac1d130fd4 1883 */
mbed_official 0:51ac1d130fd4 1884 #ifndef RAW_DEBUG
mbed_official 0:51ac1d130fd4 1885 #define RAW_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1886 #endif
mbed_official 0:51ac1d130fd4 1887
mbed_official 0:51ac1d130fd4 1888 /**
mbed_official 0:51ac1d130fd4 1889 * MEM_DEBUG: Enable debugging in mem.c.
mbed_official 0:51ac1d130fd4 1890 */
mbed_official 0:51ac1d130fd4 1891 #ifndef MEM_DEBUG
mbed_official 0:51ac1d130fd4 1892 #define MEM_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1893 #endif
mbed_official 0:51ac1d130fd4 1894
mbed_official 0:51ac1d130fd4 1895 /**
mbed_official 0:51ac1d130fd4 1896 * MEMP_DEBUG: Enable debugging in memp.c.
mbed_official 0:51ac1d130fd4 1897 */
mbed_official 0:51ac1d130fd4 1898 #ifndef MEMP_DEBUG
mbed_official 0:51ac1d130fd4 1899 #define MEMP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1900 #endif
mbed_official 0:51ac1d130fd4 1901
mbed_official 0:51ac1d130fd4 1902 /**
mbed_official 0:51ac1d130fd4 1903 * SYS_DEBUG: Enable debugging in sys.c.
mbed_official 0:51ac1d130fd4 1904 */
mbed_official 0:51ac1d130fd4 1905 #ifndef SYS_DEBUG
mbed_official 0:51ac1d130fd4 1906 #define SYS_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1907 #endif
mbed_official 0:51ac1d130fd4 1908
mbed_official 0:51ac1d130fd4 1909 /**
mbed_official 0:51ac1d130fd4 1910 * TIMERS_DEBUG: Enable debugging in timers.c.
mbed_official 0:51ac1d130fd4 1911 */
mbed_official 0:51ac1d130fd4 1912 #ifndef TIMERS_DEBUG
mbed_official 0:51ac1d130fd4 1913 #define TIMERS_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1914 #endif
mbed_official 0:51ac1d130fd4 1915
mbed_official 0:51ac1d130fd4 1916 /**
mbed_official 0:51ac1d130fd4 1917 * TCP_DEBUG: Enable debugging for TCP.
mbed_official 0:51ac1d130fd4 1918 */
mbed_official 0:51ac1d130fd4 1919 #ifndef TCP_DEBUG
mbed_official 0:51ac1d130fd4 1920 #define TCP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1921 #endif
mbed_official 0:51ac1d130fd4 1922
mbed_official 0:51ac1d130fd4 1923 /**
mbed_official 0:51ac1d130fd4 1924 * TCP_INPUT_DEBUG: Enable debugging in tcp_in.c for incoming debug.
mbed_official 0:51ac1d130fd4 1925 */
mbed_official 0:51ac1d130fd4 1926 #ifndef TCP_INPUT_DEBUG
mbed_official 0:51ac1d130fd4 1927 #define TCP_INPUT_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1928 #endif
mbed_official 0:51ac1d130fd4 1929
mbed_official 0:51ac1d130fd4 1930 /**
mbed_official 0:51ac1d130fd4 1931 * TCP_FR_DEBUG: Enable debugging in tcp_in.c for fast retransmit.
mbed_official 0:51ac1d130fd4 1932 */
mbed_official 0:51ac1d130fd4 1933 #ifndef TCP_FR_DEBUG
mbed_official 0:51ac1d130fd4 1934 #define TCP_FR_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1935 #endif
mbed_official 0:51ac1d130fd4 1936
mbed_official 0:51ac1d130fd4 1937 /**
mbed_official 0:51ac1d130fd4 1938 * TCP_RTO_DEBUG: Enable debugging in TCP for retransmit
mbed_official 0:51ac1d130fd4 1939 * timeout.
mbed_official 0:51ac1d130fd4 1940 */
mbed_official 0:51ac1d130fd4 1941 #ifndef TCP_RTO_DEBUG
mbed_official 0:51ac1d130fd4 1942 #define TCP_RTO_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1943 #endif
mbed_official 0:51ac1d130fd4 1944
mbed_official 0:51ac1d130fd4 1945 /**
mbed_official 0:51ac1d130fd4 1946 * TCP_CWND_DEBUG: Enable debugging for TCP congestion window.
mbed_official 0:51ac1d130fd4 1947 */
mbed_official 0:51ac1d130fd4 1948 #ifndef TCP_CWND_DEBUG
mbed_official 0:51ac1d130fd4 1949 #define TCP_CWND_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1950 #endif
mbed_official 0:51ac1d130fd4 1951
mbed_official 0:51ac1d130fd4 1952 /**
mbed_official 0:51ac1d130fd4 1953 * TCP_WND_DEBUG: Enable debugging in tcp_in.c for window updating.
mbed_official 0:51ac1d130fd4 1954 */
mbed_official 0:51ac1d130fd4 1955 #ifndef TCP_WND_DEBUG
mbed_official 0:51ac1d130fd4 1956 #define TCP_WND_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1957 #endif
mbed_official 0:51ac1d130fd4 1958
mbed_official 0:51ac1d130fd4 1959 /**
mbed_official 0:51ac1d130fd4 1960 * TCP_OUTPUT_DEBUG: Enable debugging in tcp_out.c output functions.
mbed_official 0:51ac1d130fd4 1961 */
mbed_official 0:51ac1d130fd4 1962 #ifndef TCP_OUTPUT_DEBUG
mbed_official 0:51ac1d130fd4 1963 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1964 #endif
mbed_official 0:51ac1d130fd4 1965
mbed_official 0:51ac1d130fd4 1966 /**
mbed_official 0:51ac1d130fd4 1967 * TCP_RST_DEBUG: Enable debugging for TCP with the RST message.
mbed_official 0:51ac1d130fd4 1968 */
mbed_official 0:51ac1d130fd4 1969 #ifndef TCP_RST_DEBUG
mbed_official 0:51ac1d130fd4 1970 #define TCP_RST_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1971 #endif
mbed_official 0:51ac1d130fd4 1972
mbed_official 0:51ac1d130fd4 1973 /**
mbed_official 0:51ac1d130fd4 1974 * TCP_QLEN_DEBUG: Enable debugging for TCP queue lengths.
mbed_official 0:51ac1d130fd4 1975 */
mbed_official 0:51ac1d130fd4 1976 #ifndef TCP_QLEN_DEBUG
mbed_official 0:51ac1d130fd4 1977 #define TCP_QLEN_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1978 #endif
mbed_official 0:51ac1d130fd4 1979
mbed_official 0:51ac1d130fd4 1980 /**
mbed_official 0:51ac1d130fd4 1981 * UDP_DEBUG: Enable debugging in UDP.
mbed_official 0:51ac1d130fd4 1982 */
mbed_official 0:51ac1d130fd4 1983 #ifndef UDP_DEBUG
mbed_official 0:51ac1d130fd4 1984 #define UDP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1985 #endif
mbed_official 0:51ac1d130fd4 1986
mbed_official 0:51ac1d130fd4 1987 /**
mbed_official 0:51ac1d130fd4 1988 * TCPIP_DEBUG: Enable debugging in tcpip.c.
mbed_official 0:51ac1d130fd4 1989 */
mbed_official 0:51ac1d130fd4 1990 #ifndef TCPIP_DEBUG
mbed_official 0:51ac1d130fd4 1991 #define TCPIP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1992 #endif
mbed_official 0:51ac1d130fd4 1993
mbed_official 0:51ac1d130fd4 1994 /**
mbed_official 0:51ac1d130fd4 1995 * PPP_DEBUG: Enable debugging for PPP.
mbed_official 0:51ac1d130fd4 1996 */
mbed_official 0:51ac1d130fd4 1997 #ifndef PPP_DEBUG
mbed_official 0:51ac1d130fd4 1998 #define PPP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 1999 #endif
mbed_official 0:51ac1d130fd4 2000
mbed_official 0:51ac1d130fd4 2001 /**
mbed_official 0:51ac1d130fd4 2002 * SLIP_DEBUG: Enable debugging in slipif.c.
mbed_official 0:51ac1d130fd4 2003 */
mbed_official 0:51ac1d130fd4 2004 #ifndef SLIP_DEBUG
mbed_official 0:51ac1d130fd4 2005 #define SLIP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 2006 #endif
mbed_official 0:51ac1d130fd4 2007
mbed_official 0:51ac1d130fd4 2008 /**
mbed_official 0:51ac1d130fd4 2009 * DHCP_DEBUG: Enable debugging in dhcp.c.
mbed_official 0:51ac1d130fd4 2010 */
mbed_official 0:51ac1d130fd4 2011 #ifndef DHCP_DEBUG
mbed_official 0:51ac1d130fd4 2012 #define DHCP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 2013 #endif
mbed_official 0:51ac1d130fd4 2014
mbed_official 0:51ac1d130fd4 2015 /**
mbed_official 0:51ac1d130fd4 2016 * AUTOIP_DEBUG: Enable debugging in autoip.c.
mbed_official 0:51ac1d130fd4 2017 */
mbed_official 0:51ac1d130fd4 2018 #ifndef AUTOIP_DEBUG
mbed_official 0:51ac1d130fd4 2019 #define AUTOIP_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 2020 #endif
mbed_official 0:51ac1d130fd4 2021
mbed_official 0:51ac1d130fd4 2022 /**
mbed_official 0:51ac1d130fd4 2023 * SNMP_MSG_DEBUG: Enable debugging for SNMP messages.
mbed_official 0:51ac1d130fd4 2024 */
mbed_official 0:51ac1d130fd4 2025 #ifndef SNMP_MSG_DEBUG
mbed_official 0:51ac1d130fd4 2026 #define SNMP_MSG_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 2027 #endif
mbed_official 0:51ac1d130fd4 2028
mbed_official 0:51ac1d130fd4 2029 /**
mbed_official 0:51ac1d130fd4 2030 * SNMP_MIB_DEBUG: Enable debugging for SNMP MIBs.
mbed_official 0:51ac1d130fd4 2031 */
mbed_official 0:51ac1d130fd4 2032 #ifndef SNMP_MIB_DEBUG
mbed_official 0:51ac1d130fd4 2033 #define SNMP_MIB_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 2034 #endif
mbed_official 0:51ac1d130fd4 2035
mbed_official 0:51ac1d130fd4 2036 /**
mbed_official 0:51ac1d130fd4 2037 * DNS_DEBUG: Enable debugging for DNS.
mbed_official 0:51ac1d130fd4 2038 */
mbed_official 0:51ac1d130fd4 2039 #ifndef DNS_DEBUG
mbed_official 0:51ac1d130fd4 2040 #define DNS_DEBUG LWIP_DBG_OFF
mbed_official 0:51ac1d130fd4 2041 #endif
mbed_official 0:51ac1d130fd4 2042
mbed_official 0:51ac1d130fd4 2043 #endif /* __LWIP_OPT_H__ */