Example program for the lwIP TCP/IP stack (library lwip_1_4_0_rc2) and the QP state machine framework (library qp). This program demonstrates use of lwIP in hard real-time applications, in which the TCP/IP stack is used to monitor and configure the embedded device as well as to provide remote user interface (e.g., by means of a web browser). In particular, the lwIP stack, which is not reentrant, is strictly encapsulated inside a dedicated QP state machine object (active object in QP), so interrupt locking around calls to lwIP is unnecessary. Also, the Ethernet interrupt service routine (ISR) runs very fast without performing any lengthy copy operations. All this means that hard-real-time processing can be done at the task level, especially when you use the preemptive QK kernel built into QP for executing your application. No external RTOS component is needed to achieve fully deterministic real-time response of active object tasks prioritized above the lwiP task. The lwIP-QP integration uses exclusively the event-driven lwIP API. The heavyweight Berkeley-like socket API requiring a blocking RTOS and is not used, which results in much better performance of the lwIP stack and less memory consumption. NOTE: This example compiles cleanly, but does not run just yet because the low-level Ethernet driver in the lwIP library needs to be completed. See comments in the lwip_1_4_0_rc2 library for more information.

Dependencies:   mbed

Committer:
QL
Date:
Sun Mar 27 16:50:21 2011 +0000
Revision:
0:84f3d3d7e5d9
0.9

Who changed what in which revision?

UserRevisionLine numberNew contents of line
QL 0:84f3d3d7e5d9 1 /*****************************************************************************
QL 0:84f3d3d7e5d9 2 * Product: lwIP options for the LM3S6965 evaluaiton board
QL 0:84f3d3d7e5d9 3 * Last Updated for lwIP Version: 1.4.0.rc2
QL 0:84f3d3d7e5d9 4 * Date of the Last Update: Feb 10, 2011
QL 0:84f3d3d7e5d9 5 *
QL 0:84f3d3d7e5d9 6 * Q u a n t u m L e a P s
QL 0:84f3d3d7e5d9 7 * ---------------------------
QL 0:84f3d3d7e5d9 8 * innovating embedded systems
QL 0:84f3d3d7e5d9 9 *
QL 0:84f3d3d7e5d9 10 * Copyright (C) 2002-2011 Quantum Leaps, LLC. All rights reserved.
QL 0:84f3d3d7e5d9 11 *
QL 0:84f3d3d7e5d9 12 * This software may be distributed and modified under the terms of the GNU
QL 0:84f3d3d7e5d9 13 * General Public License version 2 (GPL) as published by the Free Software
QL 0:84f3d3d7e5d9 14 * Foundation and appearing in the file GPL.TXT included in the packaging of
QL 0:84f3d3d7e5d9 15 * this file. Please note that GPL Section 2[b] requires that all works based
QL 0:84f3d3d7e5d9 16 * on this software must also be made publicly available under the terms of
QL 0:84f3d3d7e5d9 17 * the GPL ("Copyleft").
QL 0:84f3d3d7e5d9 18 *
QL 0:84f3d3d7e5d9 19 * Alternatively, this software may be distributed and modified under the
QL 0:84f3d3d7e5d9 20 * terms of Quantum Leaps commercial licenses, which expressly supersede
QL 0:84f3d3d7e5d9 21 * the GPL and are specifically designed for licensees interested in
QL 0:84f3d3d7e5d9 22 * retaining the proprietary status of their code.
QL 0:84f3d3d7e5d9 23 *
QL 0:84f3d3d7e5d9 24 * Contact information:
QL 0:84f3d3d7e5d9 25 * Quantum Leaps Web site: http://www.quantum-leaps.com
QL 0:84f3d3d7e5d9 26 * e-mail: info@quantum-leaps.com
QL 0:84f3d3d7e5d9 27 *****************************************************************************/
QL 0:84f3d3d7e5d9 28 /*
QL 0:84f3d3d7e5d9 29 * NOTE: This file has been derived from the lwip/src/include/lwip/opt.h
QL 0:84f3d3d7e5d9 30 * header file. For additional details, refer to the original "opt.h" file
QL 0:84f3d3d7e5d9 31 * and lwIP documentation.
QL 0:84f3d3d7e5d9 32 */
QL 0:84f3d3d7e5d9 33 #ifndef __LWIPOPTS_H__
QL 0:84f3d3d7e5d9 34 #define __LWIPOPTS_H__
QL 0:84f3d3d7e5d9 35
QL 0:84f3d3d7e5d9 36 //****************************************************************************
QL 0:84f3d3d7e5d9 37 //
QL 0:84f3d3d7e5d9 38 // -------------- Static IPv4 addresses ----------------
QL 0:84f3d3d7e5d9 39 // (relevant only when DHCP or AUTOIP are NOT configured
QL 0:84f3d3d7e5d9 40 //
QL 0:84f3d3d7e5d9 41 //****************************************************************************
QL 0:84f3d3d7e5d9 42 // the default IP address of the host...
QL 0:84f3d3d7e5d9 43 #define STATIC_IPADDR0 192
QL 0:84f3d3d7e5d9 44 #define STATIC_IPADDR1 168
QL 0:84f3d3d7e5d9 45 #define STATIC_IPADDR2 0
QL 0:84f3d3d7e5d9 46 #define STATIC_IPADDR3 100
QL 0:84f3d3d7e5d9 47 // the default network mask...
QL 0:84f3d3d7e5d9 48 #define STATIC_NET_MASK0 255
QL 0:84f3d3d7e5d9 49 #define STATIC_NET_MASK1 255
QL 0:84f3d3d7e5d9 50 #define STATIC_NET_MASK2 255
QL 0:84f3d3d7e5d9 51 #define STATIC_NET_MASK3 0
QL 0:84f3d3d7e5d9 52 // the default gateway IP address...
QL 0:84f3d3d7e5d9 53 #define STATIC_GW_IPADDR0 0
QL 0:84f3d3d7e5d9 54 #define STATIC_GW_IPADDR1 0
QL 0:84f3d3d7e5d9 55 #define STATIC_GW_IPADDR2 0
QL 0:84f3d3d7e5d9 56 #define STATIC_GW_IPADDR3 0
QL 0:84f3d3d7e5d9 57
QL 0:84f3d3d7e5d9 58 //****************************************************************************
QL 0:84f3d3d7e5d9 59 //
QL 0:84f3d3d7e5d9 60 // ---------------- lwIP Port Options ----------
QL 0:84f3d3d7e5d9 61 //
QL 0:84f3d3d7e5d9 62 //****************************************************************************
QL 0:84f3d3d7e5d9 63 //#define HOST_TMR_INTERVAL
QL 0:84f3d3d7e5d9 64 //#define DHCP_EXPIRE_TIMER_MSECS (60 * 1000)
QL 0:84f3d3d7e5d9 65 //#define TX_PBUF_QUEUE_LEN 8
QL 0:84f3d3d7e5d9 66
QL 0:84f3d3d7e5d9 67 //****************************************************************************
QL 0:84f3d3d7e5d9 68 //
QL 0:84f3d3d7e5d9 69 // ---------- Platform specific locking ----------
QL 0:84f3d3d7e5d9 70 //
QL 0:84f3d3d7e5d9 71 //****************************************************************************
QL 0:84f3d3d7e5d9 72 //#define SYS_LIGHTWEIGHT_PROT 0
QL 0:84f3d3d7e5d9 73 #define NO_SYS 1 // default is 0
QL 0:84f3d3d7e5d9 74 //#define NO_SYS_NO_TIMERS 0
QL 0:84f3d3d7e5d9 75 //#define MEMCPY(dst,src,len) memcpy(dst,src,len)
QL 0:84f3d3d7e5d9 76 //#define SMEMCPY(dst,src,len) memcpy(dst,src,len)
QL 0:84f3d3d7e5d9 77
QL 0:84f3d3d7e5d9 78 //****************************************************************************
QL 0:84f3d3d7e5d9 79 //
QL 0:84f3d3d7e5d9 80 // ---------------- HTTPD Options ----------
QL 0:84f3d3d7e5d9 81 //
QL 0:84f3d3d7e5d9 82 //****************************************************************************
QL 0:84f3d3d7e5d9 83 #define INCLUDE_HTTPD_SSI
QL 0:84f3d3d7e5d9 84 #define INCLUDE_HTTPD_CGI
QL 0:84f3d3d7e5d9 85 //#define DYNAMIC_HTTP_HEADERS
QL 0:84f3d3d7e5d9 86 //#define INCLUDE_HTTPD_DEBUG
QL 0:84f3d3d7e5d9 87
QL 0:84f3d3d7e5d9 88 //****************************************************************************
QL 0:84f3d3d7e5d9 89 //
QL 0:84f3d3d7e5d9 90 // ---------- Memory options ----------
QL 0:84f3d3d7e5d9 91 //
QL 0:84f3d3d7e5d9 92 //****************************************************************************
QL 0:84f3d3d7e5d9 93 //#define MEM_LIBC_MALLOC 0
QL 0:84f3d3d7e5d9 94 //#define MEMP_MEM_MALLOC 0
QL 0:84f3d3d7e5d9 95 #define MEM_ALIGNMENT 4 // default is 1
QL 0:84f3d3d7e5d9 96 #define MEM_SIZE (8 * 1024) // default is 1600
QL 0:84f3d3d7e5d9 97 //#define MEMP_SEPARATE_POOLS 0
QL 0:84f3d3d7e5d9 98 //#define MEMP_OVERFLOW_CHECK 0
QL 0:84f3d3d7e5d9 99 //#define MEMP_SANITY_CHECK 0
QL 0:84f3d3d7e5d9 100 //#define MEM_USE_POOLS 0
QL 0:84f3d3d7e5d9 101 //#define MEM_USE_POOLS_TRY_BIGGER_POOL 0
QL 0:84f3d3d7e5d9 102 //#define MEMP_USE_CUSTOM_POOLS 0
QL 0:84f3d3d7e5d9 103 //#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0
QL 0:84f3d3d7e5d9 104
QL 0:84f3d3d7e5d9 105 //****************************************************************************
QL 0:84f3d3d7e5d9 106 //
QL 0:84f3d3d7e5d9 107 // ---------- Internal Memory Pool Sizes ----------
QL 0:84f3d3d7e5d9 108 //
QL 0:84f3d3d7e5d9 109 //****************************************************************************
QL 0:84f3d3d7e5d9 110 //#define MEMP_NUM_PBUF 16
QL 0:84f3d3d7e5d9 111 //#define MEMP_NUM_RAW_PCB 4
QL 0:84f3d3d7e5d9 112 //#define MEMP_NUM_UDP_PCB 4
QL 0:84f3d3d7e5d9 113 #define MEMP_NUM_TCP_PCB 10 // default 5
QL 0:84f3d3d7e5d9 114 //#define MEMP_NUM_TCP_PCB_LISTEN 8
QL 0:84f3d3d7e5d9 115 //#define MEMP_NUM_TCP_SEG 16
QL 0:84f3d3d7e5d9 116 //#define MEMP_NUM_REASSDATA 5
QL 0:84f3d3d7e5d9 117 //#define MEMP_NUM_ARP_QUEUE 30
QL 0:84f3d3d7e5d9 118 //#define MEMP_NUM_IGMP_GROUP 8
QL 0:84f3d3d7e5d9 119 #define MEMP_NUM_SYS_TIMEOUT 4 // default 3
QL 0:84f3d3d7e5d9 120 //#define MEMP_NUM_NETBUF 2
QL 0:84f3d3d7e5d9 121 //#define MEMP_NUM_NETCONN 4
QL 0:84f3d3d7e5d9 122 //#define MEMP_NUM_TCPIP_MSG_API 8
QL 0:84f3d3d7e5d9 123 //#define MEMP_NUM_TCPIP_MSG_INPKT 8
QL 0:84f3d3d7e5d9 124 //#define MEMP_NUM_SNMP_NODE 50
QL 0:84f3d3d7e5d9 125 //#define MEMP_NUM_SNMP_ROOTNODE 30
QL 0:84f3d3d7e5d9 126 //#define MEMP_NUM_SNMP_VARBIND 2
QL 0:84f3d3d7e5d9 127 //#define MEMP_NUM_SNMP_VALUE 3
QL 0:84f3d3d7e5d9 128 //#define MEMP_NUM_NETDB 1
QL 0:84f3d3d7e5d9 129 //#define MEMP_NUM_LOCALHOSTLIST 1
QL 0:84f3d3d7e5d9 130 //#define MEMP_NUM_PPPOE_INTERFACES 1
QL 0:84f3d3d7e5d9 131 //#define PBUF_POOL_SIZE 16
QL 0:84f3d3d7e5d9 132
QL 0:84f3d3d7e5d9 133 //****************************************************************************
QL 0:84f3d3d7e5d9 134 //
QL 0:84f3d3d7e5d9 135 // ---------- ARP options ----------
QL 0:84f3d3d7e5d9 136 //
QL 0:84f3d3d7e5d9 137 //****************************************************************************
QL 0:84f3d3d7e5d9 138 //#define LWIP_ARP 1
QL 0:84f3d3d7e5d9 139 //#define ARP_TABLE_SIZE 10
QL 0:84f3d3d7e5d9 140 //#define ARP_QUEUEING 0
QL 0:84f3d3d7e5d9 141 //#define ETHARP_TRUST_IP_MAC 0
QL 0:84f3d3d7e5d9 142 //#define ETHARP_SUPPORT_VLAN 0
QL 0:84f3d3d7e5d9 143 //#define LWIP_ETHERNET (LWIP_ARP || PPPOE_SUPPORT)
QL 0:84f3d3d7e5d9 144 //#define ETH_PAD_SIZE 0
QL 0:84f3d3d7e5d9 145 //#define ETHARP_SUPPORT_STATIC_ENTRIES 0
QL 0:84f3d3d7e5d9 146
QL 0:84f3d3d7e5d9 147 //****************************************************************************
QL 0:84f3d3d7e5d9 148 //
QL 0:84f3d3d7e5d9 149 // ---------- IP options ----------
QL 0:84f3d3d7e5d9 150 //
QL 0:84f3d3d7e5d9 151 //****************************************************************************
QL 0:84f3d3d7e5d9 152 //#define IP_FORWARD 0
QL 0:84f3d3d7e5d9 153 //#define IP_OPTIONS_ALLOWED 1
QL 0:84f3d3d7e5d9 154 #define IP_REASSEMBLY 0 // default is 1
QL 0:84f3d3d7e5d9 155 #define IP_FRAG 0 // default is 1
QL 0:84f3d3d7e5d9 156 //#define IP_REASS_MAXAGE 3
QL 0:84f3d3d7e5d9 157 //#define IP_REASS_MAX_PBUFS 10
QL 0:84f3d3d7e5d9 158 //#define IP_FRAG_USES_STATIC_BUF 0
QL 0:84f3d3d7e5d9 159 //#define IP_FRAG_MAX_MTU 1500
QL 0:84f3d3d7e5d9 160 //#define IP_DEFAULT_TTL 255
QL 0:84f3d3d7e5d9 161 //#define IP_SOF_BROADCAST 0
QL 0:84f3d3d7e5d9 162 //#define IP_SOF_BROADCAST_RECV 0
QL 0:84f3d3d7e5d9 163
QL 0:84f3d3d7e5d9 164 //****************************************************************************
QL 0:84f3d3d7e5d9 165 //
QL 0:84f3d3d7e5d9 166 // ---------- ICMP options ----------
QL 0:84f3d3d7e5d9 167 //
QL 0:84f3d3d7e5d9 168 //****************************************************************************
QL 0:84f3d3d7e5d9 169 //#define LWIP_ICMP 1
QL 0:84f3d3d7e5d9 170 //#define ICMP_TTL (IP_DEFAULT_TTL)
QL 0:84f3d3d7e5d9 171 //#define LWIP_BROADCAST_PING 0
QL 0:84f3d3d7e5d9 172 //#define LWIP_MULTICAST_PING 0
QL 0:84f3d3d7e5d9 173
QL 0:84f3d3d7e5d9 174 //****************************************************************************
QL 0:84f3d3d7e5d9 175 //
QL 0:84f3d3d7e5d9 176 // ---------- RAW options ----------
QL 0:84f3d3d7e5d9 177 //
QL 0:84f3d3d7e5d9 178 //****************************************************************************
QL 0:84f3d3d7e5d9 179 //#define LWIP_RAW 1
QL 0:84f3d3d7e5d9 180 //#define RAW_TTL (IP_DEFAULT_TTL)
QL 0:84f3d3d7e5d9 181
QL 0:84f3d3d7e5d9 182 //****************************************************************************
QL 0:84f3d3d7e5d9 183 //
QL 0:84f3d3d7e5d9 184 // ---------- DHCP options ----------
QL 0:84f3d3d7e5d9 185 //
QL 0:84f3d3d7e5d9 186 //****************************************************************************
QL 0:84f3d3d7e5d9 187 #define LWIP_DHCP 1 // default is 0
QL 0:84f3d3d7e5d9 188 //#define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP))
QL 0:84f3d3d7e5d9 189
QL 0:84f3d3d7e5d9 190 //****************************************************************************
QL 0:84f3d3d7e5d9 191 //
QL 0:84f3d3d7e5d9 192 // ---------- AUTOIP options ----------
QL 0:84f3d3d7e5d9 193 //
QL 0:84f3d3d7e5d9 194 //****************************************************************************
QL 0:84f3d3d7e5d9 195 //#define LWIP_AUTOIP 1 // default is 0
QL 0:84f3d3d7e5d9 196 //#define LWIP_DHCP_AUTOIP_COOP 0
QL 0:84f3d3d7e5d9 197 //#define LWIP_DHCP_AUTOIP_COOP_TRIES 9
QL 0:84f3d3d7e5d9 198
QL 0:84f3d3d7e5d9 199 //****************************************************************************
QL 0:84f3d3d7e5d9 200 //
QL 0:84f3d3d7e5d9 201 // ---------- SNMP options ----------
QL 0:84f3d3d7e5d9 202 //
QL 0:84f3d3d7e5d9 203 //****************************************************************************
QL 0:84f3d3d7e5d9 204 //#define LWIP_SNMP 0
QL 0:84f3d3d7e5d9 205 //#define SNMP_CONCURRENT_REQUESTS 1
QL 0:84f3d3d7e5d9 206 //#define SNMP_TRAP_DESTINATIONS 1
QL 0:84f3d3d7e5d9 207 //#define SNMP_PRIVATE_MIB 0
QL 0:84f3d3d7e5d9 208 //#define SNMP_SAFE_REQUESTS 1
QL 0:84f3d3d7e5d9 209 //#define SNMP_MAX_OCTET_STRING_LEN 127
QL 0:84f3d3d7e5d9 210 //#define SNMP_MAX_TREE_DEPTH 15
QL 0:84f3d3d7e5d9 211
QL 0:84f3d3d7e5d9 212 //****************************************************************************
QL 0:84f3d3d7e5d9 213 //
QL 0:84f3d3d7e5d9 214 // ---------- IGMP options ----------
QL 0:84f3d3d7e5d9 215 //
QL 0:84f3d3d7e5d9 216 //****************************************************************************
QL 0:84f3d3d7e5d9 217 //#define LWIP_IGMP 0
QL 0:84f3d3d7e5d9 218
QL 0:84f3d3d7e5d9 219 //****************************************************************************
QL 0:84f3d3d7e5d9 220 //
QL 0:84f3d3d7e5d9 221 // ---------- DNS options -----------
QL 0:84f3d3d7e5d9 222 //
QL 0:84f3d3d7e5d9 223 //****************************************************************************
QL 0:84f3d3d7e5d9 224 //#define LWIP_DNS 0
QL 0:84f3d3d7e5d9 225 //#define DNS_TABLE_SIZE 4
QL 0:84f3d3d7e5d9 226 //#define DNS_MAX_NAME_LENGTH 256
QL 0:84f3d3d7e5d9 227 //#define DNS_MAX_SERVERS 2
QL 0:84f3d3d7e5d9 228 //#define DNS_DOES_NAME_CHECK 1
QL 0:84f3d3d7e5d9 229 //#define DNS_USES_STATIC_BUF 1
QL 0:84f3d3d7e5d9 230 //#define DNS_MSG_SIZE 512
QL 0:84f3d3d7e5d9 231 //#define DNS_LOCAL_HOSTLIST 0
QL 0:84f3d3d7e5d9 232 //#define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0
QL 0:84f3d3d7e5d9 233
QL 0:84f3d3d7e5d9 234 //****************************************************************************
QL 0:84f3d3d7e5d9 235 //
QL 0:84f3d3d7e5d9 236 // ---------- UDP options ----------
QL 0:84f3d3d7e5d9 237 //
QL 0:84f3d3d7e5d9 238 //****************************************************************************
QL 0:84f3d3d7e5d9 239 //#define LWIP_UDP 1
QL 0:84f3d3d7e5d9 240 //#define LWIP_UDPLITE 0
QL 0:84f3d3d7e5d9 241 //#define UDP_TTL (IP_DEFAULT_TTL)
QL 0:84f3d3d7e5d9 242 //#define LWIP_NETBUF_RECVINFO 0
QL 0:84f3d3d7e5d9 243
QL 0:84f3d3d7e5d9 244 //****************************************************************************
QL 0:84f3d3d7e5d9 245 //
QL 0:84f3d3d7e5d9 246 // ---------- UPNP options ----------
QL 0:84f3d3d7e5d9 247 //
QL 0:84f3d3d7e5d9 248 //****************************************************************************
QL 0:84f3d3d7e5d9 249 //#define LWIP_UPNP 0
QL 0:84f3d3d7e5d9 250
QL 0:84f3d3d7e5d9 251 //****************************************************************************
QL 0:84f3d3d7e5d9 252 //
QL 0:84f3d3d7e5d9 253 // ---------- PTPD options ----------
QL 0:84f3d3d7e5d9 254 //
QL 0:84f3d3d7e5d9 255 //****************************************************************************
QL 0:84f3d3d7e5d9 256 //#define LWIP_PTPD 0
QL 0:84f3d3d7e5d9 257
QL 0:84f3d3d7e5d9 258 //****************************************************************************
QL 0:84f3d3d7e5d9 259 //
QL 0:84f3d3d7e5d9 260 // ---------- TCP options ----------
QL 0:84f3d3d7e5d9 261 //
QL 0:84f3d3d7e5d9 262 //****************************************************************************
QL 0:84f3d3d7e5d9 263 //#define LWIP_TCP 1
QL 0:84f3d3d7e5d9 264 //#define TCP_TTL (IP_DEFAULT_TTL)
QL 0:84f3d3d7e5d9 265 //#define TCP_WND (4 * TCP_MSS)
QL 0:84f3d3d7e5d9 266 //#define TCP_MAXRTX 12
QL 0:84f3d3d7e5d9 267 //#define TCP_SYNMAXRTX 6
QL 0:84f3d3d7e5d9 268 //#define TCP_QUEUE_OOSEQ (LWIP_TCP)
QL 0:84f3d3d7e5d9 269 #define TCP_MSS 256 // default is 536
QL 0:84f3d3d7e5d9 270 //#define TCP_CALCULATE_EFF_SEND_MSS 1
QL 0:84f3d3d7e5d9 271 #define TCP_SND_BUF (2 * TCP_MSS) // default is 256
QL 0:84f3d3d7e5d9 272 //#define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))
QL 0:84f3d3d7e5d9 273 //#define TCP_SNDQUEUELOWAT ((TCP_SND_QUEUELEN)/2)
QL 0:84f3d3d7e5d9 274 //#define TCP_LISTEN_BACKLOG 0
QL 0:84f3d3d7e5d9 275 //#define TCP_DEFAULT_LISTEN_BACKLOG 0xFF
QL 0:84f3d3d7e5d9 276 //#define TCP_OVERSIZE TCP_MSS
QL 0:84f3d3d7e5d9 277 //#define LWIP_TCP_TIMESTAMPS 0
QL 0:84f3d3d7e5d9 278 //#define TCP_WND_UPDATE_THRESHOLD (TCP_WND / 4)
QL 0:84f3d3d7e5d9 279
QL 0:84f3d3d7e5d9 280 //****************************************************************************
QL 0:84f3d3d7e5d9 281 //
QL 0:84f3d3d7e5d9 282 // ---------- API options ----------
QL 0:84f3d3d7e5d9 283 //
QL 0:84f3d3d7e5d9 284 //****************************************************************************
QL 0:84f3d3d7e5d9 285 //#define LWIP_EVENT_API 0
QL 0:84f3d3d7e5d9 286 //#define LWIP_CALLBACK_API 1
QL 0:84f3d3d7e5d9 287
QL 0:84f3d3d7e5d9 288 //****************************************************************************
QL 0:84f3d3d7e5d9 289 //
QL 0:84f3d3d7e5d9 290 // ---------- Pbuf options ----------
QL 0:84f3d3d7e5d9 291 //
QL 0:84f3d3d7e5d9 292 //****************************************************************************
QL 0:84f3d3d7e5d9 293 //#define ETH_PAD_SIZE
QL 0:84f3d3d7e5d9 294 //#define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE)
QL 0:84f3d3d7e5d9 295 //#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
QL 0:84f3d3d7e5d9 296
QL 0:84f3d3d7e5d9 297 //****************************************************************************
QL 0:84f3d3d7e5d9 298 //
QL 0:84f3d3d7e5d9 299 // ---------- Network Interfaces options ----------
QL 0:84f3d3d7e5d9 300 //
QL 0:84f3d3d7e5d9 301 //****************************************************************************
QL 0:84f3d3d7e5d9 302 #define LWIP_NETIF_HOSTNAME 1 // default is 0
QL 0:84f3d3d7e5d9 303 //#define LWIP_NETIF_API 0
QL 0:84f3d3d7e5d9 304 //#define LWIP_NETIF_STATUS_CALLBACK 0
QL 0:84f3d3d7e5d9 305 //#define LWIP_NETIF_LINK_CALLBACK 0
QL 0:84f3d3d7e5d9 306 //#define LWIP_NETIF_HWADDRHINT 0
QL 0:84f3d3d7e5d9 307 //#define LWIP_NETIF_LOOPBACK 0
QL 0:84f3d3d7e5d9 308 //#define LWIP_LOOPBACK_MAX_PBUFS 0
QL 0:84f3d3d7e5d9 309 //#define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS)
QL 0:84f3d3d7e5d9 310 //#define LWIP_NETIF_TX_SINGLE_PBUF 0
QL 0:84f3d3d7e5d9 311
QL 0:84f3d3d7e5d9 312
QL 0:84f3d3d7e5d9 313 //****************************************************************************
QL 0:84f3d3d7e5d9 314 //
QL 0:84f3d3d7e5d9 315 // ---------- LOOPIF options ----------
QL 0:84f3d3d7e5d9 316 //
QL 0:84f3d3d7e5d9 317 //****************************************************************************
QL 0:84f3d3d7e5d9 318 //#define LWIP_HAVE_LOOPIF 0
QL 0:84f3d3d7e5d9 319
QL 0:84f3d3d7e5d9 320 //****************************************************************************
QL 0:84f3d3d7e5d9 321 //
QL 0:84f3d3d7e5d9 322 // ---------- SLIPIF options ----------
QL 0:84f3d3d7e5d9 323 //
QL 0:84f3d3d7e5d9 324 //****************************************************************************
QL 0:84f3d3d7e5d9 325 //#define LWIP_HAVE_SLIPIF 0
QL 0:84f3d3d7e5d9 326
QL 0:84f3d3d7e5d9 327 //****************************************************************************
QL 0:84f3d3d7e5d9 328 //
QL 0:84f3d3d7e5d9 329 // ---------- Thread options ----------
QL 0:84f3d3d7e5d9 330 //
QL 0:84f3d3d7e5d9 331 //****************************************************************************
QL 0:84f3d3d7e5d9 332 //#define TCPIP_THREAD_NAME "tcpip_thread"
QL 0:84f3d3d7e5d9 333 //#define TCPIP_THREAD_STACKSIZE 0
QL 0:84f3d3d7e5d9 334 //#define TCPIP_THREAD_PRIO 1
QL 0:84f3d3d7e5d9 335 //#define TCPIP_MBOX_SIZE 0
QL 0:84f3d3d7e5d9 336 //#define SLIPIF_THREAD_NAME "slipif_loop"
QL 0:84f3d3d7e5d9 337 //#define SLIPIF_THREAD_STACKSIZE 0
QL 0:84f3d3d7e5d9 338 //#define SLIPIF_THREAD_PRIO 1
QL 0:84f3d3d7e5d9 339 //#define PPP_THREAD_NAME "pppInputThread"
QL 0:84f3d3d7e5d9 340 //#define PPP_THREAD_STACKSIZE 0
QL 0:84f3d3d7e5d9 341 //#define PPP_THREAD_PRIO 1
QL 0:84f3d3d7e5d9 342 //#define DEFAULT_THREAD_NAME "lwIP"
QL 0:84f3d3d7e5d9 343 //#define DEFAULT_THREAD_STACKSIZE 0
QL 0:84f3d3d7e5d9 344 //#define DEFAULT_THREAD_PRIO 1
QL 0:84f3d3d7e5d9 345 //#define DEFAULT_RAW_RECVMBOX_SIZE 0
QL 0:84f3d3d7e5d9 346 //#define DEFAULT_UDP_RECVMBOX_SIZE 0
QL 0:84f3d3d7e5d9 347 //#define DEFAULT_TCP_RECVMBOX_SIZE 0
QL 0:84f3d3d7e5d9 348 //#define DEFAULT_ACCEPTMBOX_SIZE 0
QL 0:84f3d3d7e5d9 349
QL 0:84f3d3d7e5d9 350 //****************************************************************************
QL 0:84f3d3d7e5d9 351 //
QL 0:84f3d3d7e5d9 352 // ---------- Sequential layer options ----------
QL 0:84f3d3d7e5d9 353 //
QL 0:84f3d3d7e5d9 354 //****************************************************************************
QL 0:84f3d3d7e5d9 355 //#define LWIP_TCPIP_CORE_LOCKING 0
QL 0:84f3d3d7e5d9 356 //#define LWIP_TCPIP_CORE_LOCKING_INPUT 0
QL 0:84f3d3d7e5d9 357 #define LWIP_NETCONN 0 // default is 1
QL 0:84f3d3d7e5d9 358 //#define LWIP_TCPIP_TIMEOUT 1
QL 0:84f3d3d7e5d9 359
QL 0:84f3d3d7e5d9 360 //****************************************************************************
QL 0:84f3d3d7e5d9 361 //
QL 0:84f3d3d7e5d9 362 // ---------- Socket Options ----------
QL 0:84f3d3d7e5d9 363 //
QL 0:84f3d3d7e5d9 364 //****************************************************************************
QL 0:84f3d3d7e5d9 365 #define LWIP_SOCKET 0 // default is 1
QL 0:84f3d3d7e5d9 366 //#define LWIP_COMPAT_SOCKETS 1
QL 0:84f3d3d7e5d9 367 //#define LWIP_POSIX_SOCKETS_IO_NAMES 1
QL 0:84f3d3d7e5d9 368 //#define LWIP_TCP_KEEPALIVE 0
QL 0:84f3d3d7e5d9 369 //#define LWIP_SO_RCVTIMEO 0
QL 0:84f3d3d7e5d9 370 //#define LWIP_SO_RCVBUF 0
QL 0:84f3d3d7e5d9 371 //#define RECV_BUFSIZE_DEFAULT INT_MAX
QL 0:84f3d3d7e5d9 372 //#define SO_REUSE 0
QL 0:84f3d3d7e5d9 373 //#define SO_REUSE_RXTOALL 0
QL 0:84f3d3d7e5d9 374
QL 0:84f3d3d7e5d9 375 //****************************************************************************
QL 0:84f3d3d7e5d9 376 //
QL 0:84f3d3d7e5d9 377 // ---------- Statistics options ----------
QL 0:84f3d3d7e5d9 378 //
QL 0:84f3d3d7e5d9 379 //****************************************************************************
QL 0:84f3d3d7e5d9 380 #define LWIP_STATS 1
QL 0:84f3d3d7e5d9 381 //#define LWIP_STATS_DISPLAY 0
QL 0:84f3d3d7e5d9 382 #define LINK_STATS 1
QL 0:84f3d3d7e5d9 383 //#define ETHARP_STATS (LWIP_ARP)
QL 0:84f3d3d7e5d9 384 //#define IP_STATS 1
QL 0:84f3d3d7e5d9 385 //#define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG)
QL 0:84f3d3d7e5d9 386 //#define ICMP_STATS 1
QL 0:84f3d3d7e5d9 387 //#define IGMP_STATS (LWIP_IGMP)
QL 0:84f3d3d7e5d9 388 //#define UDP_STATS (LWIP_UDP)
QL 0:84f3d3d7e5d9 389 //#define TCP_STATS (LWIP_TCP)
QL 0:84f3d3d7e5d9 390 //#define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))
QL 0:84f3d3d7e5d9 391 //#define MEMP_STATS (MEMP_MEM_MALLOC == 0)
QL 0:84f3d3d7e5d9 392 //#define SYS_STATS (NO_SYS == 0)
QL 0:84f3d3d7e5d9 393
QL 0:84f3d3d7e5d9 394 //****************************************************************************
QL 0:84f3d3d7e5d9 395 //
QL 0:84f3d3d7e5d9 396 // ---------- PPP options ----------
QL 0:84f3d3d7e5d9 397 //
QL 0:84f3d3d7e5d9 398 //****************************************************************************
QL 0:84f3d3d7e5d9 399 //#define PPP_SUPPORT 0
QL 0:84f3d3d7e5d9 400 //#define PPPOE_SUPPORT 0
QL 0:84f3d3d7e5d9 401 //#define PPPOS_SUPPORT PPP_SUPPORT
QL 0:84f3d3d7e5d9 402
QL 0:84f3d3d7e5d9 403 #if PPP_SUPPORT
QL 0:84f3d3d7e5d9 404 //#define NUM_PPP 1
QL 0:84f3d3d7e5d9 405 //#define PAP_SUPPORT 0
QL 0:84f3d3d7e5d9 406 //#define CHAP_SUPPORT 0
QL 0:84f3d3d7e5d9 407 //#define MSCHAP_SUPPORT 0
QL 0:84f3d3d7e5d9 408 //#define CBCP_SUPPORT 0
QL 0:84f3d3d7e5d9 409 //#define CCP_SUPPORT 0
QL 0:84f3d3d7e5d9 410 //#define VJ_SUPPORT 0
QL 0:84f3d3d7e5d9 411 //#define MD5_SUPPORT 0
QL 0:84f3d3d7e5d9 412 //#define FSM_DEFTIMEOUT 6
QL 0:84f3d3d7e5d9 413 //#define FSM_DEFMAXTERMREQS 2
QL 0:84f3d3d7e5d9 414 //#define FSM_DEFMAXCONFREQS 10
QL 0:84f3d3d7e5d9 415 //#define FSM_DEFMAXNAKLOOPS 5
QL 0:84f3d3d7e5d9 416 //#define UPAP_DEFTIMEOUT 6
QL 0:84f3d3d7e5d9 417 //#define UPAP_DEFREQTIME 30
QL 0:84f3d3d7e5d9 418 //#define CHAP_DEFTIMEOUT 6
QL 0:84f3d3d7e5d9 419 //#define CHAP_DEFTRANSMITS 10
QL 0:84f3d3d7e5d9 420 //#define LCP_ECHOINTERVAL 0
QL 0:84f3d3d7e5d9 421 //#define LCP_MAXECHOFAILS 3
QL 0:84f3d3d7e5d9 422 //#define PPP_MAXIDLEFLAG 100
QL 0:84f3d3d7e5d9 423
QL 0:84f3d3d7e5d9 424 //#define PPP_MAXMTU 1500
QL 0:84f3d3d7e5d9 425 //#define PPP_DEFMRU 296
QL 0:84f3d3d7e5d9 426 #endif
QL 0:84f3d3d7e5d9 427
QL 0:84f3d3d7e5d9 428 //****************************************************************************
QL 0:84f3d3d7e5d9 429 //
QL 0:84f3d3d7e5d9 430 // ---------- checksum options ----------
QL 0:84f3d3d7e5d9 431 //
QL 0:84f3d3d7e5d9 432 //****************************************************************************
QL 0:84f3d3d7e5d9 433 //#define CHECKSUM_GEN_IP 1
QL 0:84f3d3d7e5d9 434 //#define CHECKSUM_GEN_UDP 1
QL 0:84f3d3d7e5d9 435 //#define CHECKSUM_GEN_TCP 1
QL 0:84f3d3d7e5d9 436 //#define CHECKSUM_CHECK_IP 1
QL 0:84f3d3d7e5d9 437 //#define CHECKSUM_CHECK_UDP 1
QL 0:84f3d3d7e5d9 438 //#define CHECKSUM_CHECK_TCP 1
QL 0:84f3d3d7e5d9 439 //#define LWIP_CHECKSUM_ON_COPY 0
QL 0:84f3d3d7e5d9 440
QL 0:84f3d3d7e5d9 441 //****************************************************************************
QL 0:84f3d3d7e5d9 442 //
QL 0:84f3d3d7e5d9 443 // ---------- Debugging options ----------
QL 0:84f3d3d7e5d9 444 //
QL 0:84f3d3d7e5d9 445 //****************************************************************************
QL 0:84f3d3d7e5d9 446 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_OFF // LWIP_DBG_LEVEL_ALL
QL 0:84f3d3d7e5d9 447 //#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_WARNING
QL 0:84f3d3d7e5d9 448 //#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_SERIOUS
QL 0:84f3d3d7e5d9 449 //#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_SEVERE
QL 0:84f3d3d7e5d9 450
QL 0:84f3d3d7e5d9 451 //#define LWIP_DBG_TYPES_ON LWIP_DBG_ON
QL 0:84f3d3d7e5d9 452 #define LWIP_DBG_TYPES_ON \
QL 0:84f3d3d7e5d9 453 (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH)
QL 0:84f3d3d7e5d9 454
QL 0:84f3d3d7e5d9 455 //#define ETHARP_DEBUG LWIP_DBG_ON // default is OFF
QL 0:84f3d3d7e5d9 456 //#define NETIF_DEBUG LWIP_DBG_ON // default is OFF
QL 0:84f3d3d7e5d9 457 //#define PBUF_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 458 //#define API_LIB_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 459 //#define API_MSG_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 460 //#define SOCKETS_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 461 //#define ICMP_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 462 //#define IGMP_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 463 //#define INET_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 464 //#define IP_DEBUG LWIP_DBG_ON // default is OFF
QL 0:84f3d3d7e5d9 465 //#define IP_REASS_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 466 //#define RAW_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 467 //#define MEM_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 468 //#define MEMP_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 469 //#define SYS_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 470 //#define TCP_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 471 //#define TCP_INPUT_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 472 //#define TCP_FR_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 473 //#define TCP_RTO_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 474 //#define TCP_CWND_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 475 //#define TCP_WND_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 476 //#define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 477 //#define TCP_RST_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 478 //#define TCP_QLEN_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 479 //#define UDP_DEBUG LWIP_DBG_ON // default is OFF
QL 0:84f3d3d7e5d9 480 //#define TCPIP_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 481 //#define PPP_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 482 //#define SLIP_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 483 //#define DHCP_DEBUG LWIP_DBG_ON // default is OFF
QL 0:84f3d3d7e5d9 484 //#define AUTOIP_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 485 //#define SNMP_MSG_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 486 //#define SNMP_MIB_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 487 //#define DNS_DEBUG LWIP_DBG_OFF
QL 0:84f3d3d7e5d9 488
QL 0:84f3d3d7e5d9 489 #endif /* __LWIPOPTS_H__ */