xref: /nrf52832-nimble/rt-thread/components/net/lwip-1.4.1/src/lwipopts.h (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero #ifndef __LWIPOPTS_H__
2*10465441SEvalZero #define __LWIPOPTS_H__
3*10465441SEvalZero 
4*10465441SEvalZero #include <rtconfig.h>
5*10465441SEvalZero 
6*10465441SEvalZero #define ERRNO                       1
7*10465441SEvalZero 
8*10465441SEvalZero #define NO_SYS                      0
9*10465441SEvalZero #define LWIP_SOCKET                 1
10*10465441SEvalZero #define LWIP_NETCONN                1
11*10465441SEvalZero 
12*10465441SEvalZero #ifdef RT_LWIP_IGMP
13*10465441SEvalZero #define LWIP_IGMP                   1
14*10465441SEvalZero #else
15*10465441SEvalZero #define LWIP_IGMP                   0
16*10465441SEvalZero #endif
17*10465441SEvalZero 
18*10465441SEvalZero #ifdef RT_LWIP_ICMP
19*10465441SEvalZero #define LWIP_ICMP                   1
20*10465441SEvalZero #else
21*10465441SEvalZero #define LWIP_ICMP                   0
22*10465441SEvalZero #endif
23*10465441SEvalZero 
24*10465441SEvalZero #ifdef RT_LWIP_SNMP
25*10465441SEvalZero #define LWIP_SNMP                   1
26*10465441SEvalZero #else
27*10465441SEvalZero #define LWIP_SNMP                   0
28*10465441SEvalZero #endif
29*10465441SEvalZero 
30*10465441SEvalZero #ifdef RT_LWIP_DNS
31*10465441SEvalZero #define LWIP_DNS                    1
32*10465441SEvalZero #else
33*10465441SEvalZero #define LWIP_DNS                    0
34*10465441SEvalZero #endif
35*10465441SEvalZero 
36*10465441SEvalZero #define LWIP_HAVE_LOOPIF            0
37*10465441SEvalZero 
38*10465441SEvalZero #define LWIP_PLATFORM_BYTESWAP      0
39*10465441SEvalZero 
40*10465441SEvalZero #ifndef BYTE_ORDER
41*10465441SEvalZero #define BYTE_ORDER                  LITTLE_ENDIAN
42*10465441SEvalZero #endif
43*10465441SEvalZero 
44*10465441SEvalZero /* #define RT_LWIP_DEBUG */
45*10465441SEvalZero 
46*10465441SEvalZero #ifdef RT_LWIP_DEBUG
47*10465441SEvalZero #define LWIP_DEBUG
48*10465441SEvalZero #endif
49*10465441SEvalZero 
50*10465441SEvalZero /* ---------- Debug options ---------- */
51*10465441SEvalZero #ifdef LWIP_DEBUG
52*10465441SEvalZero #ifdef RT_LWIP_SYS_DEBUG
53*10465441SEvalZero #define SYS_DEBUG                   LWIP_DBG_ON
54*10465441SEvalZero #else
55*10465441SEvalZero #define SYS_DEBUG                   LWIP_DBG_OFF
56*10465441SEvalZero #endif
57*10465441SEvalZero 
58*10465441SEvalZero #ifdef RT_LWIP_ETHARP_DEBUG
59*10465441SEvalZero #define ETHARP_DEBUG                LWIP_DBG_ON
60*10465441SEvalZero #else
61*10465441SEvalZero #define ETHARP_DEBUG                LWIP_DBG_OFF
62*10465441SEvalZero #endif
63*10465441SEvalZero 
64*10465441SEvalZero #ifdef RT_LWIP_PPP_DEBUG
65*10465441SEvalZero #define PPP_DEBUG                   LWIP_DBG_ON
66*10465441SEvalZero #else
67*10465441SEvalZero #define PPP_DEBUG                   LWIP_DBG_OFF
68*10465441SEvalZero #endif
69*10465441SEvalZero 
70*10465441SEvalZero #ifdef RT_LWIP_MEM_DEBUG
71*10465441SEvalZero #define MEM_DEBUG                   LWIP_DBG_ON
72*10465441SEvalZero #else
73*10465441SEvalZero #define MEM_DEBUG                   LWIP_DBG_OFF
74*10465441SEvalZero #endif
75*10465441SEvalZero 
76*10465441SEvalZero #ifdef RT_LWIP_MEMP_DEBUG
77*10465441SEvalZero #define MEMP_DEBUG                  LWIP_DBG_ON
78*10465441SEvalZero #else
79*10465441SEvalZero #define MEMP_DEBUG                  LWIP_DBG_OFF
80*10465441SEvalZero #endif
81*10465441SEvalZero 
82*10465441SEvalZero #ifdef RT_LWIP_PBUF_DEBUG
83*10465441SEvalZero #define PBUF_DEBUG                  LWIP_DBG_ON
84*10465441SEvalZero #else
85*10465441SEvalZero #define PBUF_DEBUG                  LWIP_DBG_OFF
86*10465441SEvalZero #endif
87*10465441SEvalZero 
88*10465441SEvalZero #ifdef RT_LWIP_API_LIB_DEBUG
89*10465441SEvalZero #define API_LIB_DEBUG               LWIP_DBG_ON
90*10465441SEvalZero #else
91*10465441SEvalZero #define API_LIB_DEBUG               LWIP_DBG_OFF
92*10465441SEvalZero #endif
93*10465441SEvalZero 
94*10465441SEvalZero #ifdef RT_LWIP_API_MSG_DEBUG
95*10465441SEvalZero #define API_MSG_DEBUG               LWIP_DBG_ON
96*10465441SEvalZero #else
97*10465441SEvalZero #define API_MSG_DEBUG               LWIP_DBG_OFF
98*10465441SEvalZero #endif
99*10465441SEvalZero 
100*10465441SEvalZero #ifdef RT_LWIP_TCPIP_DEBUG
101*10465441SEvalZero #define TCPIP_DEBUG                 LWIP_DBG_ON
102*10465441SEvalZero #else
103*10465441SEvalZero #define TCPIP_DEBUG                 LWIP_DBG_OFF
104*10465441SEvalZero #endif
105*10465441SEvalZero 
106*10465441SEvalZero #ifdef RT_LWIP_NETIF_DEBUG
107*10465441SEvalZero #define NETIF_DEBUG                 LWIP_DBG_ON
108*10465441SEvalZero #else
109*10465441SEvalZero #define NETIF_DEBUG                 LWIP_DBG_OFF
110*10465441SEvalZero #endif
111*10465441SEvalZero 
112*10465441SEvalZero #ifdef RT_LWIP_SOCKETS_DEBUG
113*10465441SEvalZero #define SOCKETS_DEBUG               LWIP_DBG_ON
114*10465441SEvalZero #else
115*10465441SEvalZero #define SOCKETS_DEBUG               LWIP_DBG_OFF
116*10465441SEvalZero #endif
117*10465441SEvalZero 
118*10465441SEvalZero #ifdef RT_LWIP_DNS_DEBUG
119*10465441SEvalZero #define DNS_DEBUG                   LWIP_DBG_ON
120*10465441SEvalZero #else
121*10465441SEvalZero #define DNS_DEBUG                   LWIP_DBG_OFF
122*10465441SEvalZero #endif
123*10465441SEvalZero 
124*10465441SEvalZero #ifdef RT_LWIP_AUTOIP_DEBUG
125*10465441SEvalZero #define AUTOIP_DEBUG                LWIP_DBG_ON
126*10465441SEvalZero #else
127*10465441SEvalZero #define AUTOIP_DEBUG                LWIP_DBG_OFF
128*10465441SEvalZero #endif
129*10465441SEvalZero 
130*10465441SEvalZero #ifdef RT_LWIP_DHCP_DEBUG
131*10465441SEvalZero #define DHCP_DEBUG                  LWIP_DBG_ON
132*10465441SEvalZero #else
133*10465441SEvalZero #define DHCP_DEBUG                  LWIP_DBG_OFF
134*10465441SEvalZero #endif
135*10465441SEvalZero 
136*10465441SEvalZero #ifdef RT_LWIP_IP_DEBUG
137*10465441SEvalZero #define IP_DEBUG                    LWIP_DBG_ON
138*10465441SEvalZero #else
139*10465441SEvalZero #define IP_DEBUG                    LWIP_DBG_OFF
140*10465441SEvalZero #endif
141*10465441SEvalZero 
142*10465441SEvalZero #ifdef RT_LWIP_IP_REASS_DEBUG
143*10465441SEvalZero #define IP_REASS_DEBUG              LWIP_DBG_ON
144*10465441SEvalZero #else
145*10465441SEvalZero #define IP_REASS_DEBUG              LWIP_DBG_OFF
146*10465441SEvalZero #endif
147*10465441SEvalZero 
148*10465441SEvalZero #ifdef RT_LWIP_ICMP_DEBUG
149*10465441SEvalZero #define ICMP_DEBUG                  LWIP_DBG_ON
150*10465441SEvalZero #else
151*10465441SEvalZero #define ICMP_DEBUG                  LWIP_DBG_OFF
152*10465441SEvalZero #endif
153*10465441SEvalZero 
154*10465441SEvalZero #ifdef RT_LWIP_IGMP_DEBUG
155*10465441SEvalZero #define IGMP_DEBUG                  LWIP_DBG_ON
156*10465441SEvalZero #else
157*10465441SEvalZero #define IGMP_DEBUG                  LWIP_DBG_OFF
158*10465441SEvalZero #endif
159*10465441SEvalZero 
160*10465441SEvalZero #ifdef RT_LWIP_UDP_DEBUG
161*10465441SEvalZero #define UDP_DEBUG                   LWIP_DBG_ON
162*10465441SEvalZero #else
163*10465441SEvalZero #define UDP_DEBUG                   LWIP_DBG_OFF
164*10465441SEvalZero #endif
165*10465441SEvalZero 
166*10465441SEvalZero #ifdef RT_LWIP_TCP_DEBUG
167*10465441SEvalZero #define TCP_DEBUG                   LWIP_DBG_ON
168*10465441SEvalZero #else
169*10465441SEvalZero #define TCP_DEBUG                   LWIP_DBG_OFF
170*10465441SEvalZero #endif
171*10465441SEvalZero 
172*10465441SEvalZero #ifdef RT_LWIP_TCP_INPUT_DEBUG
173*10465441SEvalZero #define TCP_INPUT_DEBUG             LWIP_DBG_ON
174*10465441SEvalZero #else
175*10465441SEvalZero #define TCP_INPUT_DEBUG             LWIP_DBG_OFF
176*10465441SEvalZero #endif
177*10465441SEvalZero 
178*10465441SEvalZero #ifdef RT_LWIP_TCP_OUTPUT_DEBUG
179*10465441SEvalZero #define TCP_OUTPUT_DEBUG            LWIP_DBG_ON
180*10465441SEvalZero #else
181*10465441SEvalZero #define TCP_OUTPUT_DEBUG            LWIP_DBG_OFF
182*10465441SEvalZero #endif
183*10465441SEvalZero 
184*10465441SEvalZero #ifdef RT_LWIP_TCP_RTO_DEBUG
185*10465441SEvalZero #define TCP_RTO_DEBUG               LWIP_DBG_ON
186*10465441SEvalZero #else
187*10465441SEvalZero #define TCP_RTO_DEBUG               LWIP_DBG_OFF
188*10465441SEvalZero #endif
189*10465441SEvalZero 
190*10465441SEvalZero #ifdef RT_LWIP_TCP_CWND_DEBUG
191*10465441SEvalZero #define TCP_CWND_DEBUG              LWIP_DBG_ON
192*10465441SEvalZero #else
193*10465441SEvalZero #define TCP_CWND_DEBUG              LWIP_DBG_OFF
194*10465441SEvalZero #endif
195*10465441SEvalZero 
196*10465441SEvalZero #ifdef RT_LWIP_TCP_WND_DEBUG
197*10465441SEvalZero #define TCP_WND_DEBUG               LWIP_DBG_ON
198*10465441SEvalZero #else
199*10465441SEvalZero #define TCP_WND_DEBUG               LWIP_DBG_OFF
200*10465441SEvalZero #endif
201*10465441SEvalZero 
202*10465441SEvalZero #ifdef RT_LWIP_TCP_FR_DEBUG
203*10465441SEvalZero #define TCP_FR_DEBUG                LWIP_DBG_ON
204*10465441SEvalZero #else
205*10465441SEvalZero #define TCP_FR_DEBUG                LWIP_DBG_OFF
206*10465441SEvalZero #endif
207*10465441SEvalZero 
208*10465441SEvalZero #ifdef RT_LWIP_TCP_QLEN_DEBUG
209*10465441SEvalZero #define TCP_QLEN_DEBUG              LWIP_DBG_ON
210*10465441SEvalZero #else
211*10465441SEvalZero #define TCP_QLEN_DEBUG              LWIP_DBG_OFF
212*10465441SEvalZero #endif
213*10465441SEvalZero 
214*10465441SEvalZero #ifdef RT_LWIP_TCP_RST_DEBUG
215*10465441SEvalZero #define TCP_RST_DEBUG               LWIP_DBG_ON
216*10465441SEvalZero #else
217*10465441SEvalZero #define TCP_RST_DEBUG               LWIP_DBG_OFF
218*10465441SEvalZero #endif
219*10465441SEvalZero 
220*10465441SEvalZero #endif /* LWIP_DEBUG */
221*10465441SEvalZero 
222*10465441SEvalZero #define LWIP_DBG_TYPES_ON           (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH|LWIP_DBG_HALT)
223*10465441SEvalZero 
224*10465441SEvalZero /* ---------- Memory options ---------- */
225*10465441SEvalZero #define MEM_ALIGNMENT               4
226*10465441SEvalZero 
227*10465441SEvalZero #define MEM_LIBC_MALLOC             1
228*10465441SEvalZero #define mem_malloc                  rt_malloc
229*10465441SEvalZero #define mem_free                    rt_free
230*10465441SEvalZero #define mem_calloc                  rt_calloc
231*10465441SEvalZero 
232*10465441SEvalZero #define MEMP_MEM_MALLOC             0
233*10465441SEvalZero 
234*10465441SEvalZero /* MEMP_NUM_PBUF: the number of memp struct pbufs. If the application
235*10465441SEvalZero    sends a lot of data out of ROM (or other static memory), this
236*10465441SEvalZero    should be set high. */
237*10465441SEvalZero #define MEMP_NUM_PBUF               16
238*10465441SEvalZero 
239*10465441SEvalZero /* the number of struct netconns */
240*10465441SEvalZero #ifdef RT_MEMP_NUM_NETCONN
241*10465441SEvalZero #define MEMP_NUM_NETCONN            RT_MEMP_NUM_NETCONN
242*10465441SEvalZero #endif
243*10465441SEvalZero 
244*10465441SEvalZero /* the number of UDP protocol control blocks. One per active RAW "connection". */
245*10465441SEvalZero #ifdef RT_LWIP_RAW_PCB_NUM
246*10465441SEvalZero #define MEMP_NUM_RAW_PCB            RT_LWIP_RAW_PCB_NUM
247*10465441SEvalZero #endif
248*10465441SEvalZero 
249*10465441SEvalZero /* the number of UDP protocol control blocks. One per active UDP "connection". */
250*10465441SEvalZero #ifdef RT_LWIP_UDP_PCB_NUM
251*10465441SEvalZero #define MEMP_NUM_UDP_PCB            RT_LWIP_UDP_PCB_NUM
252*10465441SEvalZero #endif
253*10465441SEvalZero 
254*10465441SEvalZero /* the number of simulatenously active TCP connections. */
255*10465441SEvalZero #ifdef RT_LWIP_TCP_PCB_NUM
256*10465441SEvalZero #define MEMP_NUM_TCP_PCB            RT_LWIP_TCP_PCB_NUM
257*10465441SEvalZero #endif
258*10465441SEvalZero 
259*10465441SEvalZero /* the number of simultaneously queued TCP */
260*10465441SEvalZero #ifdef RT_LWIP_TCP_SEG_NUM
261*10465441SEvalZero #define MEMP_NUM_TCP_SEG            RT_LWIP_TCP_SEG_NUM
262*10465441SEvalZero #else
263*10465441SEvalZero #define MEMP_NUM_TCP_SEG            TCP_SND_QUEUELEN
264*10465441SEvalZero #endif
265*10465441SEvalZero 
266*10465441SEvalZero /*
267*10465441SEvalZero  * You can re-define following setting in rtcofnig.h to overwrite the default
268*10465441SEvalZero  * setting in the lwip opts.h
269*10465441SEvalZero  */
270*10465441SEvalZero /* MEMP_NUM_NETBUF: the number of struct netbufs. */
271*10465441SEvalZero // #define MEMP_NUM_NETBUF             2
272*10465441SEvalZero /* MEMP_NUM_NETCONN: the number of struct netconns. */
273*10465441SEvalZero // #define MEMP_NUM_NETCONN            4
274*10465441SEvalZero 
275*10465441SEvalZero /* MEMP_NUM_TCPIP_MSG_*: the number of struct tcpip_msg, which is used
276*10465441SEvalZero    for sequential API communication and incoming packets. Used in
277*10465441SEvalZero    src/api/tcpip.c. */
278*10465441SEvalZero // #define MEMP_NUM_TCPIP_MSG_API      16
279*10465441SEvalZero // #define MEMP_NUM_TCPIP_MSG_INPKT    16
280*10465441SEvalZero 
281*10465441SEvalZero /* ---------- Pbuf options ---------- */
282*10465441SEvalZero /* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */
283*10465441SEvalZero #ifdef RT_LWIP_PBUF_NUM
284*10465441SEvalZero #define PBUF_POOL_SIZE               RT_LWIP_PBUF_NUM
285*10465441SEvalZero #endif
286*10465441SEvalZero 
287*10465441SEvalZero /* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */
288*10465441SEvalZero #ifdef RT_LWIP_PBUF_POOL_BUFSIZE
289*10465441SEvalZero #define PBUF_POOL_BUFSIZE            RT_LWIP_PBUF_POOL_BUFSIZE
290*10465441SEvalZero #endif
291*10465441SEvalZero 
292*10465441SEvalZero /* PBUF_LINK_HLEN: the number of bytes that should be allocated for a
293*10465441SEvalZero    link level header. */
294*10465441SEvalZero #define PBUF_LINK_HLEN              16
295*10465441SEvalZero 
296*10465441SEvalZero #ifdef RT_LWIP_ETH_PAD_SIZE
297*10465441SEvalZero #define ETH_PAD_SIZE                RT_LWIP_ETH_PAD_SIZE
298*10465441SEvalZero #endif
299*10465441SEvalZero 
300*10465441SEvalZero /** SYS_LIGHTWEIGHT_PROT
301*10465441SEvalZero  * define SYS_LIGHTWEIGHT_PROT in lwipopts.h if you want inter-task protection
302*10465441SEvalZero  * for certain critical regions during buffer allocation, deallocation and memory
303*10465441SEvalZero  * allocation and deallocation.
304*10465441SEvalZero  */
305*10465441SEvalZero #define SYS_LIGHTWEIGHT_PROT        (NO_SYS==0)
306*10465441SEvalZero 
307*10465441SEvalZero #ifdef LWIP_USING_NAT
308*10465441SEvalZero #define IP_NAT                      1
309*10465441SEvalZero #else
310*10465441SEvalZero #define IP_NAT                      0
311*10465441SEvalZero #endif
312*10465441SEvalZero 
313*10465441SEvalZero /* ---------- TCP options ---------- */
314*10465441SEvalZero #ifdef RT_LWIP_TCP
315*10465441SEvalZero #define LWIP_TCP                    1
316*10465441SEvalZero #else
317*10465441SEvalZero #define LWIP_TCP                    0
318*10465441SEvalZero #endif
319*10465441SEvalZero 
320*10465441SEvalZero #define TCP_TTL                     255
321*10465441SEvalZero 
322*10465441SEvalZero /* Controls if TCP should queue segments that arrive out of
323*10465441SEvalZero    order. Define to 0 if your device is low on memory. */
324*10465441SEvalZero #define TCP_QUEUE_OOSEQ             1
325*10465441SEvalZero 
326*10465441SEvalZero /* TCP Maximum segment size. */
327*10465441SEvalZero #define TCP_MSS                     1460
328*10465441SEvalZero 
329*10465441SEvalZero /* TCP sender buffer space (bytes). */
330*10465441SEvalZero #ifdef RT_LWIP_TCP_SND_BUF
331*10465441SEvalZero #define TCP_SND_BUF                 RT_LWIP_TCP_SND_BUF
332*10465441SEvalZero #else
333*10465441SEvalZero #define TCP_SND_BUF                 (TCP_MSS * 2)
334*10465441SEvalZero #endif
335*10465441SEvalZero 
336*10465441SEvalZero /* TCP sender buffer space (pbufs). This must be at least = 2 *
337*10465441SEvalZero    TCP_SND_BUF/TCP_MSS for things to work. */
338*10465441SEvalZero #define TCP_SND_QUEUELEN            (4 * TCP_SND_BUF/TCP_MSS)
339*10465441SEvalZero 
340*10465441SEvalZero /* TCP writable space (bytes). This must be less than or equal
341*10465441SEvalZero    to TCP_SND_BUF. It is the amount of space which must be
342*10465441SEvalZero    available in the tcp snd_buf for select to return writable */
343*10465441SEvalZero #define TCP_SNDLOWAT                (TCP_SND_BUF/2)
344*10465441SEvalZero #define TCP_SNDQUEUELOWAT           TCP_SND_QUEUELEN/2
345*10465441SEvalZero 
346*10465441SEvalZero /* TCP receive window. */
347*10465441SEvalZero #ifdef RT_LWIP_TCP_WND
348*10465441SEvalZero #define TCP_WND                     RT_LWIP_TCP_WND
349*10465441SEvalZero #else
350*10465441SEvalZero #define TCP_WND                     (TCP_MSS * 2)
351*10465441SEvalZero #endif
352*10465441SEvalZero 
353*10465441SEvalZero /* Maximum number of retransmissions of data segments. */
354*10465441SEvalZero #define TCP_MAXRTX                  12
355*10465441SEvalZero 
356*10465441SEvalZero /* Maximum number of retransmissions of SYN segments. */
357*10465441SEvalZero #define TCP_SYNMAXRTX               4
358*10465441SEvalZero 
359*10465441SEvalZero /* tcpip thread options */
360*10465441SEvalZero #ifdef RT_LWIP_TCPTHREAD_PRIORITY
361*10465441SEvalZero #define TCPIP_MBOX_SIZE             RT_LWIP_TCPTHREAD_MBOX_SIZE
362*10465441SEvalZero #define TCPIP_THREAD_PRIO           RT_LWIP_TCPTHREAD_PRIORITY
363*10465441SEvalZero #define TCPIP_THREAD_STACKSIZE      RT_LWIP_TCPTHREAD_STACKSIZE
364*10465441SEvalZero #else
365*10465441SEvalZero #define TCPIP_MBOX_SIZE             8
366*10465441SEvalZero #define TCPIP_THREAD_PRIO           128
367*10465441SEvalZero #define TCPIP_THREAD_STACKSIZE      4096
368*10465441SEvalZero #endif
369*10465441SEvalZero #define TCPIP_THREAD_NAME           "tcpip"
370*10465441SEvalZero #define DEFAULT_TCP_RECVMBOX_SIZE   10
371*10465441SEvalZero 
372*10465441SEvalZero /* ---------- ARP options ---------- */
373*10465441SEvalZero #define LWIP_ARP                    1
374*10465441SEvalZero #define ARP_TABLE_SIZE              10
375*10465441SEvalZero #define ARP_QUEUEING                1
376*10465441SEvalZero 
377*10465441SEvalZero /* ---------- IP options ---------- */
378*10465441SEvalZero /* Define IP_FORWARD to 1 if you wish to have the ability to forward
379*10465441SEvalZero    IP packets across network interfaces. If you are going to run lwIP
380*10465441SEvalZero    on a device with only one network interface, define this to 0. */
381*10465441SEvalZero #define IP_FORWARD                  0
382*10465441SEvalZero 
383*10465441SEvalZero /* IP reassembly and segmentation.These are orthogonal even
384*10465441SEvalZero  * if they both deal with IP fragments */
385*10465441SEvalZero #ifdef RT_LWIP_REASSEMBLY_FRAG
386*10465441SEvalZero #define IP_REASSEMBLY               1
387*10465441SEvalZero #define IP_FRAG                     1
388*10465441SEvalZero #define IP_REASS_MAX_PBUFS          10
389*10465441SEvalZero #define MEMP_NUM_REASSDATA          10
390*10465441SEvalZero #else
391*10465441SEvalZero #define IP_REASSEMBLY               0
392*10465441SEvalZero #define IP_FRAG                     0
393*10465441SEvalZero #endif
394*10465441SEvalZero 
395*10465441SEvalZero /* ---------- ICMP options ---------- */
396*10465441SEvalZero #define ICMP_TTL                    255
397*10465441SEvalZero 
398*10465441SEvalZero /* ---------- DHCP options ---------- */
399*10465441SEvalZero /* Define LWIP_DHCP to 1 if you want DHCP configuration of
400*10465441SEvalZero    interfaces. */
401*10465441SEvalZero #ifdef RT_LWIP_DHCP
402*10465441SEvalZero #define LWIP_DHCP                   1
403*10465441SEvalZero #else
404*10465441SEvalZero #define LWIP_DHCP                   0
405*10465441SEvalZero #endif
406*10465441SEvalZero 
407*10465441SEvalZero /* 1 if you want to do an ARP check on the offered address
408*10465441SEvalZero    (recommended). */
409*10465441SEvalZero #define DHCP_DOES_ARP_CHECK         (LWIP_DHCP)
410*10465441SEvalZero 
411*10465441SEvalZero /* ---------- AUTOIP options ------- */
412*10465441SEvalZero #define LWIP_AUTOIP                 0
413*10465441SEvalZero #define LWIP_DHCP_AUTOIP_COOP       (LWIP_DHCP && LWIP_AUTOIP)
414*10465441SEvalZero 
415*10465441SEvalZero /* ---------- UDP options ---------- */
416*10465441SEvalZero #ifdef RT_LWIP_UDP
417*10465441SEvalZero #define LWIP_UDP                    1
418*10465441SEvalZero #else
419*10465441SEvalZero #define LWIP_UDP                    0
420*10465441SEvalZero #endif
421*10465441SEvalZero 
422*10465441SEvalZero #define LWIP_UDPLITE                0
423*10465441SEvalZero #define UDP_TTL                     255
424*10465441SEvalZero #define DEFAULT_UDP_RECVMBOX_SIZE   1
425*10465441SEvalZero 
426*10465441SEvalZero /* ---------- RAW options ---------- */
427*10465441SEvalZero #define DEFAULT_RAW_RECVMBOX_SIZE   1
428*10465441SEvalZero #define DEFAULT_ACCEPTMBOX_SIZE     10
429*10465441SEvalZero 
430*10465441SEvalZero /* ---------- Statistics options ---------- */
431*10465441SEvalZero #ifdef RT_LWIP_STATS
432*10465441SEvalZero #define LWIP_STATS                  1
433*10465441SEvalZero #define LWIP_STATS_DISPLAY          1
434*10465441SEvalZero #else
435*10465441SEvalZero #define LWIP_STATS                  0
436*10465441SEvalZero #endif
437*10465441SEvalZero 
438*10465441SEvalZero #if LWIP_STATS
439*10465441SEvalZero #define LINK_STATS                  1
440*10465441SEvalZero #define IP_STATS                    1
441*10465441SEvalZero #define ICMP_STATS                  1
442*10465441SEvalZero #define IGMP_STATS                  1
443*10465441SEvalZero #define IPFRAG_STATS                1
444*10465441SEvalZero #define UDP_STATS                   1
445*10465441SEvalZero #define TCP_STATS                   1
446*10465441SEvalZero #define MEM_STATS                   1
447*10465441SEvalZero #define MEMP_STATS                  1
448*10465441SEvalZero #define PBUF_STATS                  1
449*10465441SEvalZero #define SYS_STATS                   1
450*10465441SEvalZero #endif /* LWIP_STATS */
451*10465441SEvalZero 
452*10465441SEvalZero /* ---------- PPP options ---------- */
453*10465441SEvalZero #ifdef RT_LWIP_PPP
454*10465441SEvalZero #define PPP_SUPPORT                 1      /* Set > 0 for PPP */
455*10465441SEvalZero #else
456*10465441SEvalZero #define PPP_SUPPORT                 0      /* Set > 0 for PPP */
457*10465441SEvalZero #endif
458*10465441SEvalZero 
459*10465441SEvalZero #if PPP_SUPPORT
460*10465441SEvalZero #define NUM_PPP                     1      /* Max PPP sessions. */
461*10465441SEvalZero 
462*10465441SEvalZero /* Select modules to enable.  Ideally these would be set in the makefile but
463*10465441SEvalZero  * we're limited by the command line length so you need to modify the settings
464*10465441SEvalZero  * in this file.
465*10465441SEvalZero  */
466*10465441SEvalZero #ifdef RT_LWIP_PPPOE
467*10465441SEvalZero #define PPPOE_SUPPORT               1
468*10465441SEvalZero #else
469*10465441SEvalZero #define PPPOE_SUPPORT               0
470*10465441SEvalZero #endif
471*10465441SEvalZero 
472*10465441SEvalZero #ifdef RT_LWIP_PPPOS
473*10465441SEvalZero #define PPPOS_SUPPORT               1
474*10465441SEvalZero #else
475*10465441SEvalZero #define PPPOS_SUPPORT               0
476*10465441SEvalZero #endif
477*10465441SEvalZero 
478*10465441SEvalZero #define PAP_SUPPORT                 1      /* Set > 0 for PAP. */
479*10465441SEvalZero #define CHAP_SUPPORT                1      /* Set > 0 for CHAP. */
480*10465441SEvalZero #define MSCHAP_SUPPORT              0      /* Set > 0 for MSCHAP (NOT FUNCTIONAL!) */
481*10465441SEvalZero #define CBCP_SUPPORT                0      /* Set > 0 for CBCP (NOT FUNCTIONAL!) */
482*10465441SEvalZero #define CCP_SUPPORT                 0      /* Set > 0 for CCP (NOT FUNCTIONAL!) */
483*10465441SEvalZero #define VJ_SUPPORT                  1      /* Set > 0 for VJ header compression. */
484*10465441SEvalZero #define MD5_SUPPORT                 1      /* Set > 0 for MD5 (see also CHAP) */
485*10465441SEvalZero 
486*10465441SEvalZero #endif /* PPP_SUPPORT */
487*10465441SEvalZero 
488*10465441SEvalZero /* no read/write/close for socket */
489*10465441SEvalZero #define LWIP_POSIX_SOCKETS_IO_NAMES 0
490*10465441SEvalZero #define LWIP_NETIF_API  1
491*10465441SEvalZero 
492*10465441SEvalZero /* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts. */
493*10465441SEvalZero #define MEMP_NUM_SYS_TIMEOUT       (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT)
494*10465441SEvalZero #ifdef LWIP_IGMP
495*10465441SEvalZero #include <stdlib.h>
496*10465441SEvalZero #define LWIP_RAND                  rand
497*10465441SEvalZero #endif
498*10465441SEvalZero /*
499*10465441SEvalZero    ------------------------------------
500*10465441SEvalZero    ---------- Socket options ----------
501*10465441SEvalZero    ------------------------------------
502*10465441SEvalZero */
503*10465441SEvalZero /*
504*10465441SEvalZero  * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)
505*10465441SEvalZero  */
506*10465441SEvalZero #ifndef LWIP_SOCKET
507*10465441SEvalZero #define LWIP_SOCKET                     1
508*10465441SEvalZero #endif
509*10465441SEvalZero 
510*10465441SEvalZero /*
511*10465441SEvalZero  * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
512*10465441SEvalZero  * (only used if you use sockets.c)
513*10465441SEvalZero  */
514*10465441SEvalZero #ifdef SAL_USING_POSIX
515*10465441SEvalZero #define LWIP_COMPAT_SOCKETS             0
516*10465441SEvalZero #else
517*10465441SEvalZero #ifndef LWIP_COMPAT_SOCKETS
518*10465441SEvalZero #define LWIP_COMPAT_SOCKETS             1
519*10465441SEvalZero #endif
520*10465441SEvalZero #endif
521*10465441SEvalZero 
522*10465441SEvalZero 
523*10465441SEvalZero /**
524*10465441SEvalZero  * LWIP_SO_SNDTIMEO==1: Enable send timeout for sockets/netconns and
525*10465441SEvalZero  * SO_SNDTIMEO processing.
526*10465441SEvalZero  */
527*10465441SEvalZero #ifndef LWIP_SO_SNDTIMEO
528*10465441SEvalZero #define LWIP_SO_SNDTIMEO                1
529*10465441SEvalZero #endif
530*10465441SEvalZero 
531*10465441SEvalZero /**
532*10465441SEvalZero  * LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and
533*10465441SEvalZero  * SO_RCVTIMEO processing.
534*10465441SEvalZero  */
535*10465441SEvalZero #ifndef LWIP_SO_RCVTIMEO
536*10465441SEvalZero #define LWIP_SO_RCVTIMEO                1
537*10465441SEvalZero #endif
538*10465441SEvalZero 
539*10465441SEvalZero /**
540*10465441SEvalZero  * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing.
541*10465441SEvalZero  */
542*10465441SEvalZero #ifndef LWIP_SO_RCVBUF
543*10465441SEvalZero #define LWIP_SO_RCVBUF                  1
544*10465441SEvalZero #endif
545*10465441SEvalZero 
546*10465441SEvalZero /**
547*10465441SEvalZero  * If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize.
548*10465441SEvalZero  */
549*10465441SEvalZero #ifndef RECV_BUFSIZE_DEFAULT
550*10465441SEvalZero #define RECV_BUFSIZE_DEFAULT            8192
551*10465441SEvalZero #endif
552*10465441SEvalZero 
553*10465441SEvalZero /**
554*10465441SEvalZero  * SO_REUSE==1: Enable SO_REUSEADDR option.
555*10465441SEvalZero  */
556*10465441SEvalZero #ifndef SO_REUSE
557*10465441SEvalZero #define SO_REUSE                        0
558*10465441SEvalZero #endif
559*10465441SEvalZero 
560*10465441SEvalZero #endif /* __LWIPOPTS_H__ */
561