]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/net/lwip_tcpip/v2_0/cdl/lwip_net.cdl
d5ce629eed8e1e09462c040b550d2c9277603e93
[karo-tx-redboot.git] / packages / net / lwip_tcpip / v2_0 / cdl / lwip_net.cdl
1 #====================================================================
2 #
3 #      lwip_net.cdl
4 #
5 #      lwIP network stack configuration data
6 #
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 2004 eCosCentric 
12 ##
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.
16 ##
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
20 ## for more details.
21 ##
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.
25 ##
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.
32 ##
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.
35 ##
36 ## -------------------------------------------
37 #####ECOSGPLCOPYRIGHTEND####
38 # ====================================================================
39 ######DESCRIPTIONBEGIN####
40 #
41 # Author(s):     cris@iv.ro, jani@iv.ro
42 # Original data: jani@iv.ro 
43 # Contributors:   
44 # Date:           2002-06-21
45 #
46 #####DESCRIPTIONEND####
47 #
48 # ====================================================================
49
50 cdl_package CYGPKG_NET_LWIP {
51         display "lwIP"
52         description     "Lightweight TCP/IP stack"      
53         requires {(CYGPKG_LWIP_ETH ==  1) || (CYGPKG_LWIP_SLIP == 1) || (CYGPKG_LWIP_PPP == 1)}
54
55         compile core/mem.c      \
56                 core/memp.c     \
57                 core/netif.c    \
58                 core/pbuf.c     \
59                 core/stats.c    \
60                 core/sys.c      \
61                 core/tcp.c      \
62                 core/tcp_in.c   \
63                 core/tcp_out.c  \
64                 core/inet.c     \
65                 core/ipv4/icmp.c        \
66                 core/ipv4/ip.c  \
67                 core/ipv4/ip_addr.c     \
68                 core/ipv4/ip_frag.c     \
69                 api/api_lib.c   \
70                 api/api_msg.c   \
71                 api/tcpip.c     \
72                 api/err.c       \
73                 api/sockets.c   \
74                 ecos/sys_arch.c \
75                 ecos/init.c     
76         
77         
78         cdl_component CYGPKG_LWIP_STATS {
79                 display         "Turn ON/OFF statistics"
80                 flavor          bool
81                 default_value   0
82                 description     "
83                         Check this box to turn ON statistics options for lwIP."
84         }
85                 
86         cdl_component CYGPKG_LWIP_DEBUG {
87                 display         "Turn ON/OFF debug options"
88                 flavor          bool
89                 default_value   0
90                 description     "
91                         Check this box to turn ON debug options for lwIP."
92
93                 cdl_option CYGPKG_LWIP_DEBUG_TCP {
94                         display "Control TCP debug"
95                         flavor          bool
96                         default_value   0
97                         description     "
98                                 Generic TCP debug switch."
99                         
100                 }
101                 
102         }
103
104         cdl_component CYGPKG_LWIP_ASSERTS {
105                 display         "Turn ON/OFF assertions"
106                 flavor          bool
107                 default_value   0
108                 description     "
109                         Check this box to turn ON assertions for lwIP."
110         }
111
112         cdl_component CYGPKG_LWIP_IPV4_CONF {
113                 display         "IPV4 netconf"
114                 flavor          none
115                 no_define
116                 description     "
117                         See suboptions to define gateway IP, local IP and netmask."
118                 
119                 cdl_option CYGPKG_LWIP_SERV_ADDR {
120                         display         "Gateway IP"
121                         flavor          data
122                         default_value   {"192,168,1,1"}
123                         description     "
124                                 Gateway's IP address."
125
126                 }
127                 cdl_option CYGPKG_LWIP_MY_ADDR {
128                         display         "My IP"
129                         flavor          data
130                         default_value   {"192,168,1,222"}
131                         description     "
132                                 The IP address for this device."
133
134                 }
135                 cdl_option CYGPKG_LWIP_NETMASK {
136                         display         "Netmask"
137                         flavor          data
138                         default_value   {"255,255,255,0"}
139                         description     "
140                                 Netmask of the local network."
141
142                 }
143         }
144         
145         cdl_component CYGPKG_LWIP_MEM_OPTIONS {
146                 display         "Memory options"
147                 flavor          none
148                 no_define
149                 description     "
150                         Tunables for various aspects of memory usage throughout the stack."
151                         
152                 
153                 
154                 cdl_option CYGPKG_LWIP_MEM_ALIGNMENT {
155                         display         "Memory alignment"
156                         flavor          data
157                         default_value   4
158                         description     "
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."
162                 }                
163                 cdl_option CYGPKG_LWIP_MEM_SIZE {
164                         display         "Memory size"
165                         flavor          data
166                         default_value   4000
167                         description     "
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."
170                                 
171                 }                
172                 cdl_option CYGPKG_LWIP_MEMP_NUM_PBUF {
173                         display         "Number of memp struct pbufs"
174                         flavor          data
175                         default_value   8
176                         description     "
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
179                                  should be set high."
180                                  
181                 }                
182                 cdl_option CYGPKG_LWIP_MEMP_NUM_UDP_PCB {
183                         display         "Simultaneous UDP control blocks "
184                         flavor          data
185                         default_value   4
186                         description     "
187                                 MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
188                                 per active UDP 'connection'."
189                                 
190                 }                
191                 cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_PCB {
192                         display         "Simultaneous active TCP connections "
193                         flavor          data
194                         default_value   5
195                         description     "
196                                 MEMP_NUM_TCP_PCB: the number of simulatenously active TCP
197                                 connections."
198                                 
199                 }                
200                 cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_PCB_LISTEN {
201                         display         "Listening TCP connections"
202                         flavor          data
203                         default_value   8
204                         description     "
205                                  MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP
206                                  connections."
207                                  
208                 }                
209                 cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_SEG {
210                         display         "Simultaneous TCP segments queued"
211                         flavor          data
212                         default_value   8
213                         description     "
214                                 MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP
215                                 segments."
216                                 
217                 }                
218                 cdl_option CYGPKG_LWIP_MEMP_NUM_SYS_TIMEOUT {
219                         display         "Simultaneous active timeouts"
220                         flavor          data
221                         default_value   3
222                         description     "
223                                 MEMP_NUM_SYS_TIMEOUT: the number of simulateously active
224                                 timeouts."
225                 
226                 }                
227                 cdl_component CYGPKG_LWIP_CYGPKG_LWIP_MEM_SEQ_API {
228                         display         "Sequential API settings"
229                         flavor          none
230                         no_define
231                         description     "
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."
234                 
235
236                         cdl_option CYGPKG_LWIP_MEMP_NUM_NETBUF {
237                                 display         "Struct netbufs"
238                                 flavor          data
239                                 default_value   2
240                                 description     "
241                                         MEMP_NUM_NETBUF: the number of struct netbufs."
242                                         
243                         }                
244                         cdl_option CYGPKG_LWIP_MEMP_NUM_NETCONN {
245                                 display         "Struct netconns"
246                                 flavor          data
247                                 default_value   4
248                                 description     "
249                                         MEMP_NUM_NETCONN: the number of struct netconns."
250                                         
251                         }                
252                         cdl_option CYGPKG_LWIP_MEMP_NUM_APIMSG {
253                                 display         "Struct api_msgs"
254                                 flavor          data
255                                 default_value   8
256                                 description     "
257                                         MEMP_NUM_APIMSG: the number of struct api_msg, used for
258                                         communication between the TCP/IP stack and the sequential
259                                         programs."
260                                         
261                         }                
262                         cdl_option CYGPKG_LWIP_MEMP_NUM_TCPIP_MSG {
263                                 display         "Struct tcpip_msgs"
264                                 flavor          data
265                                 default_value   8
266                                 description     "
267                                         MEMP_NUM_TCPIPMSG: the number of struct tcpip_msg, which is used
268                                         for sequential API communication and incoming packets. Used in
269                                         src/api/tcpip.c."
270
271                         }                
272                 }
273
274         }
275         
276         cdl_component CYGPKG_LWIP_PBUF_OPTIONS {
277                 display         "PBUF"
278                 flavor          none
279                 no_define
280                 description     "
281                 Packet buffer related tunings."
282
283                         
284                 cdl_option CYGPKG_LWIP_PBUF_POOL_SIZE {
285                         display         "PBUF pool size"
286                         flavor          data
287                         default_value   60
288                         description     "
289                         PBUF_POOL_SIZE: the number of buffers in the pbuf pool."
290         
291                 }
292                 
293                 cdl_option CYGPKG_LWIP_PBUF_POOL_BUFSIZE {
294                         display         "PBUF buffer size"
295                         flavor          data
296                         default_value   1024
297                         description     "
298                         PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool."
299
300                 }                
301                 cdl_option CYGPKG_LWIP_PBUF_LINK_HLEN {
302                         display         "Allocation for a link level header"
303                         flavor          data
304                         calculated      {CYGPKG_LWIP_SLIP || CYGPKG_LWIP_PPP ? 0 : 16}
305                         description     "
306                                 PBUF_LINK_HLEN: the number of bytes that should be allocated for a
307                                 link level header."
308                         }                
309         }
310         
311         cdl_component CYGPKG_LWIP_TCP_OPTIONS {
312                 display         "TCP"
313                 flavor          none
314                 no_define
315                 description     "
316                 Tune the TCP protocol details"
317                         
318                 cdl_option CYGPKG_LWIP_TCP {
319                         display         "Activate TCP"
320                         flavor          bool
321                         default_value   1
322                         description     ""
323
324                 }
325                 
326                 cdl_option CYGPKG_LWIP_TCPIP_THREAD_PRIORITY {
327                         display "tcpip thread priority"
328                         flavor data
329                         default_value   7
330                         description "Pririty of the lwIP network thread.This thread handles all API messages and
331                                         network packets."
332                 }                
333                 
334                 cdl_option CYGPKG_LWIP_TCP_TTL {
335                         display         "Time To Live"
336                         flavor          data
337                         default_value   255
338                         description     ""
339
340                 }                
341                 cdl_option CYGPKG_LWIP_TCP_QUEUE_OOSEQ {
342                         display         "Queue segments"
343                         flavor          bool
344                         default_value   1
345                         description     "
346                                 Controls if TCP should queue segments that arrive out of
347                                 order. Define to 0 if your device is low on memory."
348                 
349                 }                
350                 cdl_option CYGPKG_LWIP_TCP_MSS {
351                         display         "Maximum segment size"
352                         flavor          data
353                         default_value   2048
354                         description     "
355                                 TCP Maximum segment size."
356                 }                
357                 cdl_option CYGPKG_LWIP_TCP_SND_BUF {
358                         display         "Sender buffer space"
359                         flavor          data
360                         default_value   2048    
361                         description     "
362                                 TCP sender buffer space (bytes)."
363
364                 }                
365                 cdl_option CYGPKG_LWIP_TCP_SND_QUEUELEN {
366                         display         "Sender pbufs"
367                         flavor          data
368                         calculated      "4 * CYGPKG_LWIP_TCP_SND_BUF/CYGPKG_LWIP_TCP_MSS"
369                         description     "
370                                 TCP sender buffer space (pbufs). This must be at least = 2 *
371                                 TCP_SND_BUF/TCP_MSS for things to work."
372
373                 }                
374                 cdl_option CYGPKG_LWIP_TCP_WND {
375                         display         "Receive window"
376                         flavor          data
377                         default_value   4096
378                         description     "
379                                 TCP receive window."
380
381                 }                
382                 cdl_option CYGPKG_LWIP_TCP_MAXRTX {
383                         display         "Segment retransmissions"
384                         flavor          data
385                         default_value   12
386                         description     "
387                                  Maximum number of retransmissions of data segments."
388
389                 }                
390                 cdl_option CYGPKG_LWIP_TCP_SYNMAXRTX {
391                         display         "Syn retransmissions"
392                         flavor          data
393                         default_value   4
394                         description     "
395                                 Maximum number of retransmissions of SYN segments."
396                         }                
397         }       
398         
399         cdl_component CYGPKG_LWIP_ARP_OPTIONS {
400                 display         "ARP"
401                 flavor          none
402                 no_define
403                 
404                 cdl_option CYGPKG_LWIP_ARP_TABLE_SIZE {
405                         display         "ARP table size"
406                         flavor          data
407                         default_value   10
408                         description     ""
409                 
410                 }
411         }
412
413         cdl_component CYGPKG_LWIP_IP {
414                 display         "IP"
415                 flavor          none
416                 no_define
417         
418                 cdl_option CYGPKG_LWIP_IP_FORWARD {
419                         display         "IP forwarding"
420                         flavor          bool
421                         default_value   1
422                         description     "
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."
426                 
427                 }
428                 cdl_option CYGPKG_LWIP_IP_OPTIONS {
429                         display         "Allow IP options"
430                         flavor          bool
431                         default_value   1
432                         description     "
433                                 If defined to 1, IP options are allowed (but not parsed). If
434                                    defined to 0, all packets with IP options are dropped."
435                 
436                 }
437                 
438                 cdl_option CYGPKG_LWIP_IP_FRAG {
439                         display         "Support IP fragmentation"
440                         flavor          bool
441                         default_value   1
442                         description     "
443                         "       
444                 }
445
446                 cdl_option CYGPKG_LWIP_IP_REASS {
447                         display         "Support IP reassembly"
448                         flavor          bool
449                         default_value   1
450                         description     "
451                         "       
452                 }
453
454         }
455
456         cdl_component CYGPKG_LWIP_ICMP_OPTIONS {
457                 display         "ICMP"
458                 flavor          none
459                 no_define
460
461                 cdl_option CYGPKG_LWIP_ICMP_TTL {
462                         display         "ICMP Time To Live"
463                         flavor          data
464                         default_value   255
465                         description     ""
466                 }
467         }
468
469         cdl_component CYGPKG_LWIP_DHCP_OPTIONS {
470                 display         "DHCP"
471                 flavor          none
472                 no_define
473
474
475                 cdl_option CYGPKG_LWIP_DHCP {
476                         display         "Activate DHCP"
477                         flavor          bool
478                         default_value   0
479                         description     "
480                                 Define LWIP_DHCP to 1 if you want DHCP configuration of
481                                 interfaces."
482                         compile core/dhcp.c
483                 }
484
485
486                 cdl_option CYGPKG_LWIP_DHCP_DOES_ARP_CHECK {
487                         display         "Check offered address"
488                         flavor          bool
489                         default_value   0
490                         description     "
491                                 1 if you want to do an ARP check on the offered address
492                                 (recommended)."
493                 }
494         }
495         
496         cdl_component CYGPKG_LWIP_LOOPIF {
497                 display         "Support loop interface (127.0.0.1)"
498                 flavor          bool
499                 default_value   1
500                 compile netif/loopif.c
501         }
502
503         cdl_component CYGPKG_LWIP_ETH {
504                 display "Ethernet support"
505                 flavor bool
506                 requires CYGPKG_IO_ETH_DRIVERS
507                 default_value   1
508                 description "Ethernet support"
509                 compile netif/etharp.c
510                 
511                 cdl_option CYGPKG_LWIP_ETH_THREAD_PRIORITY {
512                         display "ethernet input thread priority"
513                         flavor data
514                         default_value   6
515                         description "Priority of the thernet input thread"
516                 }
517                 
518         }
519
520         cdl_component CYGPKG_LWIP_SLIP {
521                 display "SLIP"
522                 flavor bool
523                 requires CYGPKG_IO_SERIAL_DEVICES
524                 default_value   0
525                 description "IP over Serial Line"
526                 compile netif/slipif.c ecos/sio.c
527                 
528                 cdl_option CYGPKG_LWIP_SLIPIF_THREAD_PRIORITY {
529                         display "SLIP thread priority"
530                         flavor data
531                         default_value   8
532                         description "Priority of the SLIP input thread"
533                 }
534                 
535                 cdl_option CYGPKG_LWIP_SLIP_DEV {
536                         display "Serial device"
537                         flavor  data
538                         default_value {"\"/dev/ser0\""}
539                         description "
540                         Which serial port to use SLIP on."
541                 }
542         }
543         
544         cdl_component CYGPKG_LWIP_PPP {
545                 display "PPP"
546                 flavor bool
547                 requires CYGPKG_IO_SERIAL_DEVICES
548                 default_value   0
549                 description "The Point-to-Point Protocol"
550                 compile netif/ppp/ppp.c         \
551                         netif/ppp/auth.c        \
552                         netif/ppp/chpms.c       \
553                         netif/ppp/fsm.c         \
554                         netif/ppp/ipcp.c        \
555                         netif/ppp/lcp.c         \
556                         netif/ppp/magic.c       \
557                         netif/ppp/md5.c         \
558                         netif/ppp/randm.c       \
559                         netif/ppp/vj.c          \
560                         ecos/sio.c
561                         
562
563                 cdl_option CYGPKG_LWIP_PPP_PAP_AUTH {
564                         display "Support PAP authentication"
565                         flavor bool
566                         default_value 1
567                         compile netif/ppp/pap.c         
568                 }
569                 
570                 cdl_option CYGPKG_LWIP_PPP_CHAP_AUTH {
571                         display "Support CHAP authentication"
572                         flavor bool
573                         default_value 1
574                         compile netif/ppp/chap.c                
575                 }
576         
577                 cdl_option CYGPKG_LWIP_PPP_DEV {
578                         display "Serial device for PPP"
579                         flavor  data
580                         default_value {"\"/dev/ser0\""}
581                         description "
582                         Which serial port to use PPP on."
583                 }
584
585                 cdl_option CYGPKG_LWIP_PPP_THREAD_PRIORITY {
586                         display "PPP main thread priority"
587                         flavor data
588                         default_value   8
589                         description "Priority of the PPP input thread"
590                 }       
591         }
592
593         cdl_component CYGPKG_LWIP_UDP_OPTIONS {
594                 display         "UDP"
595                 flavor          none
596                 no_define
597
598                 cdl_option CYGPKG_LWIP_UDP {
599                         display         "Activate UDP"
600                         flavor          bool
601                         default_value   1
602                         description     ""
603                         compile core/udp.c
604                 }
605
606                 cdl_option CYGPKG_LWIP_UDP_TTL {
607                         display         "Time To Live"
608                         flavor          data
609                         default_value   255
610                         description     ""
611                 }
612         }
613         
614         cdl_option CYGPKG_LWIP_RAW {
615                 display         "Enable RAW socket support"
616                 flavor          bool
617                 default_value   1
618                 description     ""
619                 compile core/raw.c
620         }
621
622         cdl_component CYGPKG_LWIP_APP_MEM_OPTIONS {
623                 display         "Memory options for apps"
624                 flavor          none
625                 no_define
626                 description     "Memory options for applications."
627
628                 cdl_option CYGNUM_LWIP_VARMEMPOOL_SIZE {
629                         display         "Size of variable memory pool"
630                         flavor          data
631                         default_value   2048    
632                         description     "
633                                         Memory required to hold semaphore, mbox and thread structures
634                                         are allocated from this memory pool.
635                                         "
636                 }
637
638         
639
640                 cdl_option CYGNUM_LWIP_APP_THREADS {
641                         display         "Number of network threads in application"
642                         flavor          data
643                         default_value   1
644                         description     "
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
647                                         or more threads.
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.
652                                         "
653                 }
654         
655                 cdl_option CYGNUM_LWIP_THREAD_STACK_SIZE {
656                         display         "Size of per thread stack in lwIP"
657                         flavor          data
658                         default_value   4096
659                         description     "
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.
662                                         "
663                 }                               
664         }
665         
666             
667         cdl_option CYGPKG_NET_LWIP_TESTS {
668                 display "Some lwIP tests"
669                 flavor  data
670                 no_define
671                 calculated { 
672                         "tests/tcpecho tests/udpecho tests/httpd tests/socket tests/nc_test_slave tests/sys_timeout"
673                 }  
674                 description   "
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"
677         }
678                 
679 }