1 #====================================================================
5 # lwIP network stack configuration data
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 2004 eCosCentric
13 ## eCos is free software; you can redistribute it and/or modify it under
14 ## the terms of the GNU General Public License as published by the Free
15 ## Software Foundation; either version 2 or (at your option) any later version.
17 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 ## You should have received a copy of the GNU General Public License along
23 ## with eCos; if not, write to the Free Software Foundation, Inc.,
24 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26 ## As a special exception, if other files instantiate templates or use macros
27 ## or inline functions from this file, or you compile this file and link it
28 ## with other works to produce a work based on this file, this file does not
29 ## by itself cause the resulting work to be covered by the GNU General Public
30 ## License. However the source code for this file must still be made available
31 ## in accordance with section (3) of the GNU General Public License.
33 ## This exception does not invalidate any other reasons why a work based on
34 ## this file might be covered by the GNU General Public License.
36 ## -------------------------------------------
37 #####ECOSGPLCOPYRIGHTEND####
38 # ====================================================================
39 ######DESCRIPTIONBEGIN####
41 # Author(s): cris@iv.ro, jani@iv.ro
42 # Original data: jani@iv.ro
46 #####DESCRIPTIONEND####
48 # ====================================================================
50 cdl_package CYGPKG_NET_LWIP {
52 description "Lightweight TCP/IP stack"
53 requires {(CYGPKG_LWIP_ETH == 1) || (CYGPKG_LWIP_SLIP == 1) || (CYGPKG_LWIP_PPP == 1)}
78 cdl_component CYGPKG_LWIP_STATS {
79 display "Turn ON/OFF statistics"
83 Check this box to turn ON statistics options for lwIP."
86 cdl_component CYGPKG_LWIP_DEBUG {
87 display "Turn ON/OFF debug options"
91 Check this box to turn ON debug options for lwIP."
93 cdl_option CYGPKG_LWIP_DEBUG_TCP {
94 display "Control TCP debug"
98 Generic TCP debug switch."
104 cdl_component CYGPKG_LWIP_ASSERTS {
105 display "Turn ON/OFF assertions"
109 Check this box to turn ON assertions for lwIP."
112 cdl_component CYGPKG_LWIP_IPV4_CONF {
113 display "IPV4 netconf"
117 See suboptions to define gateway IP, local IP and netmask."
119 cdl_option CYGPKG_LWIP_SERV_ADDR {
122 default_value {"192,168,1,1"}
124 Gateway's IP address."
127 cdl_option CYGPKG_LWIP_MY_ADDR {
130 default_value {"192,168,1,222"}
132 The IP address for this device."
135 cdl_option CYGPKG_LWIP_NETMASK {
138 default_value {"255,255,255,0"}
140 Netmask of the local network."
145 cdl_component CYGPKG_LWIP_MEM_OPTIONS {
146 display "Memory options"
150 Tunables for various aspects of memory usage throughout the stack."
154 cdl_option CYGPKG_LWIP_MEM_ALIGNMENT {
155 display "Memory alignment"
159 MEM_ALIGNMENT: should be set to the alignment of the CPU for which
160 lwIP is compiled. 4 byte alignment -> define MEM_ALIGNMENT to 4,
161 2 byte alignment -> define MEM_ALIGNMENT to 2."
163 cdl_option CYGPKG_LWIP_MEM_SIZE {
164 display "Memory size"
168 MEM_SIZE: the size of the heap memory. If the application will send
169 a lot of data that needs to be copied, this should be set high."
172 cdl_option CYGPKG_LWIP_MEMP_NUM_PBUF {
173 display "Number of memp struct pbufs"
177 MEMP_NUM_PBUF: the number of memp struct pbufs. If the application
178 sends a lot of data out of ROM (or other static memory), this
182 cdl_option CYGPKG_LWIP_MEMP_NUM_UDP_PCB {
183 display "Simultaneous UDP control blocks "
187 MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
188 per active UDP 'connection'."
191 cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_PCB {
192 display "Simultaneous active TCP connections "
196 MEMP_NUM_TCP_PCB: the number of simulatenously active TCP
200 cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_PCB_LISTEN {
201 display "Listening TCP connections"
205 MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP
209 cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_SEG {
210 display "Simultaneous TCP segments queued"
214 MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP
218 cdl_option CYGPKG_LWIP_MEMP_NUM_SYS_TIMEOUT {
219 display "Simultaneous active timeouts"
223 MEMP_NUM_SYS_TIMEOUT: the number of simulateously active
227 cdl_component CYGPKG_LWIP_CYGPKG_LWIP_MEM_SEQ_API {
228 display "Sequential API settings"
232 The following four are used only with the sequential API and can be
233 set to 0 if the application only will use the raw API."
236 cdl_option CYGPKG_LWIP_MEMP_NUM_NETBUF {
237 display "Struct netbufs"
241 MEMP_NUM_NETBUF: the number of struct netbufs."
244 cdl_option CYGPKG_LWIP_MEMP_NUM_NETCONN {
245 display "Struct netconns"
249 MEMP_NUM_NETCONN: the number of struct netconns."
252 cdl_option CYGPKG_LWIP_MEMP_NUM_APIMSG {
253 display "Struct api_msgs"
257 MEMP_NUM_APIMSG: the number of struct api_msg, used for
258 communication between the TCP/IP stack and the sequential
262 cdl_option CYGPKG_LWIP_MEMP_NUM_TCPIP_MSG {
263 display "Struct tcpip_msgs"
267 MEMP_NUM_TCPIPMSG: the number of struct tcpip_msg, which is used
268 for sequential API communication and incoming packets. Used in
276 cdl_component CYGPKG_LWIP_PBUF_OPTIONS {
281 Packet buffer related tunings."
284 cdl_option CYGPKG_LWIP_PBUF_POOL_SIZE {
285 display "PBUF pool size"
289 PBUF_POOL_SIZE: the number of buffers in the pbuf pool."
293 cdl_option CYGPKG_LWIP_PBUF_POOL_BUFSIZE {
294 display "PBUF buffer size"
298 PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool."
301 cdl_option CYGPKG_LWIP_PBUF_LINK_HLEN {
302 display "Allocation for a link level header"
304 calculated {CYGPKG_LWIP_SLIP || CYGPKG_LWIP_PPP ? 0 : 16}
306 PBUF_LINK_HLEN: the number of bytes that should be allocated for a
311 cdl_component CYGPKG_LWIP_TCP_OPTIONS {
316 Tune the TCP protocol details"
318 cdl_option CYGPKG_LWIP_TCP {
319 display "Activate TCP"
326 cdl_option CYGPKG_LWIP_TCPIP_THREAD_PRIORITY {
327 display "tcpip thread priority"
330 description "Pririty of the lwIP network thread.This thread handles all API messages and
334 cdl_option CYGPKG_LWIP_TCP_TTL {
335 display "Time To Live"
341 cdl_option CYGPKG_LWIP_TCP_QUEUE_OOSEQ {
342 display "Queue segments"
346 Controls if TCP should queue segments that arrive out of
347 order. Define to 0 if your device is low on memory."
350 cdl_option CYGPKG_LWIP_TCP_MSS {
351 display "Maximum segment size"
355 TCP Maximum segment size."
357 cdl_option CYGPKG_LWIP_TCP_SND_BUF {
358 display "Sender buffer space"
362 TCP sender buffer space (bytes)."
365 cdl_option CYGPKG_LWIP_TCP_SND_QUEUELEN {
366 display "Sender pbufs"
368 calculated "4 * CYGPKG_LWIP_TCP_SND_BUF/CYGPKG_LWIP_TCP_MSS"
370 TCP sender buffer space (pbufs). This must be at least = 2 *
371 TCP_SND_BUF/TCP_MSS for things to work."
374 cdl_option CYGPKG_LWIP_TCP_WND {
375 display "Receive window"
382 cdl_option CYGPKG_LWIP_TCP_MAXRTX {
383 display "Segment retransmissions"
387 Maximum number of retransmissions of data segments."
390 cdl_option CYGPKG_LWIP_TCP_SYNMAXRTX {
391 display "Syn retransmissions"
395 Maximum number of retransmissions of SYN segments."
399 cdl_component CYGPKG_LWIP_ARP_OPTIONS {
404 cdl_option CYGPKG_LWIP_ARP_TABLE_SIZE {
405 display "ARP table size"
413 cdl_component CYGPKG_LWIP_IP {
418 cdl_option CYGPKG_LWIP_IP_FORWARD {
419 display "IP forwarding"
423 Define IP_FORWARD to 1 if you wish to have the ability to forward
424 IP packets across network interfaces. If you are going to run lwIP
425 on a device with only one network interface, define this to 0."
428 cdl_option CYGPKG_LWIP_IP_OPTIONS {
429 display "Allow IP options"
433 If defined to 1, IP options are allowed (but not parsed). If
434 defined to 0, all packets with IP options are dropped."
438 cdl_option CYGPKG_LWIP_IP_FRAG {
439 display "Support IP fragmentation"
446 cdl_option CYGPKG_LWIP_IP_REASS {
447 display "Support IP reassembly"
456 cdl_component CYGPKG_LWIP_ICMP_OPTIONS {
461 cdl_option CYGPKG_LWIP_ICMP_TTL {
462 display "ICMP Time To Live"
469 cdl_component CYGPKG_LWIP_DHCP_OPTIONS {
475 cdl_option CYGPKG_LWIP_DHCP {
476 display "Activate DHCP"
480 Define LWIP_DHCP to 1 if you want DHCP configuration of
486 cdl_option CYGPKG_LWIP_DHCP_DOES_ARP_CHECK {
487 display "Check offered address"
491 1 if you want to do an ARP check on the offered address
496 cdl_component CYGPKG_LWIP_LOOPIF {
497 display "Support loop interface (127.0.0.1)"
500 compile netif/loopif.c
503 cdl_component CYGPKG_LWIP_ETH {
504 display "Ethernet support"
506 requires CYGPKG_IO_ETH_DRIVERS
508 description "Ethernet support"
509 compile netif/etharp.c
511 cdl_option CYGPKG_LWIP_ETH_THREAD_PRIORITY {
512 display "ethernet input thread priority"
515 description "Priority of the thernet input thread"
520 cdl_component CYGPKG_LWIP_SLIP {
523 requires CYGPKG_IO_SERIAL_DEVICES
525 description "IP over Serial Line"
526 compile netif/slipif.c ecos/sio.c
528 cdl_option CYGPKG_LWIP_SLIPIF_THREAD_PRIORITY {
529 display "SLIP thread priority"
532 description "Priority of the SLIP input thread"
535 cdl_option CYGPKG_LWIP_SLIP_DEV {
536 display "Serial device"
538 default_value {"\"/dev/ser0\""}
540 Which serial port to use SLIP on."
544 cdl_component CYGPKG_LWIP_PPP {
547 requires CYGPKG_IO_SERIAL_DEVICES
549 description "The Point-to-Point Protocol"
550 compile netif/ppp/ppp.c \
563 cdl_option CYGPKG_LWIP_PPP_PAP_AUTH {
564 display "Support PAP authentication"
567 compile netif/ppp/pap.c
570 cdl_option CYGPKG_LWIP_PPP_CHAP_AUTH {
571 display "Support CHAP authentication"
574 compile netif/ppp/chap.c
577 cdl_option CYGPKG_LWIP_PPP_DEV {
578 display "Serial device for PPP"
580 default_value {"\"/dev/ser0\""}
582 Which serial port to use PPP on."
585 cdl_option CYGPKG_LWIP_PPP_THREAD_PRIORITY {
586 display "PPP main thread priority"
589 description "Priority of the PPP input thread"
593 cdl_component CYGPKG_LWIP_UDP_OPTIONS {
598 cdl_option CYGPKG_LWIP_UDP {
599 display "Activate UDP"
606 cdl_option CYGPKG_LWIP_UDP_TTL {
607 display "Time To Live"
614 cdl_option CYGPKG_LWIP_RAW {
615 display "Enable RAW socket support"
622 cdl_component CYGPKG_LWIP_APP_MEM_OPTIONS {
623 display "Memory options for apps"
626 description "Memory options for applications."
628 cdl_option CYGNUM_LWIP_VARMEMPOOL_SIZE {
629 display "Size of variable memory pool"
633 Memory required to hold semaphore, mbox and thread structures
634 are allocated from this memory pool.
640 cdl_option CYGNUM_LWIP_APP_THREADS {
641 display "Number of network threads in application"
645 At startup at least two lwIP threads are created:the polling(input) thread
646 and the TCP/IP (output) thread.Additionally your application creates one
648 Set this option to the maximum number of threads you will create through
649 sys_thread_new().Threads which you create through cyg_thread_create()
650 are not lwIP threads and don't count.This number is needed so that enough
651 static memory is reserved for stack space.
655 cdl_option CYGNUM_LWIP_THREAD_STACK_SIZE {
656 display "Size of per thread stack in lwIP"
660 Since stack space for threads needs to be statically allocated you can
661 specify the amount of memory to use for each network thread.
667 cdl_option CYGPKG_NET_LWIP_TESTS {
668 display "Some lwIP tests"
672 "tests/tcpecho tests/udpecho tests/httpd tests/socket tests/nc_test_slave tests/sys_timeout"
675 This option specifies the set of tests for lwIP.They show the usage of
676 the raw, the sequential and the BSD socket compatible APIs"