OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [net/] [lwip_tcpip/] [current/] [cdl/] [lwip_net.cdl] - Blame information for rev 868

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      lwip_net.cdl
4
#
5
#      lwIP networking stack configuration data.
6
#
7
# ====================================================================
8
#####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation
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
#####ECOSGPLCOPYRIGHTEND####
37
# ====================================================================
38
######DESCRIPTIONBEGIN####
39
#
40
# Author(s):     Simon Kallweit
41
# Contributors:  John Dallaway
42
# Date:          2008-12-01
43
#
44
#####DESCRIPTIONEND####
45
#
46
# ====================================================================
47
 
48
cdl_package CYGPKG_NET_LWIP {
49
    display         "lwIP networking stack"
50
    description     "The lightweight TCP/IP stack."
51
    requires        CYGPKG_ISOINFRA
52
    requires        CYGINT_ISO_ERRNO_CODES
53
 
54
    compile         core/dns.c                  \
55
                    core/init.c                 \
56
                    core/mem.c                  \
57
                    core/memp.c                 \
58
                    core/netif.c                \
59
                    core/pbuf.c                 \
60
                    core/raw.c                  \
61
                    core/stats.c                \
62
                    core/sys.c                  \
63
                    core/tcp_in.c               \
64
                    core/tcp_out.c              \
65
                    core/tcp.c                  \
66
                    core/udp.c                  \
67
                    core/ipv4/icmp.c            \
68
                    core/ipv4/igmp.c            \
69
                    core/ipv4/inet_chksum.c     \
70
                    core/ipv4/inet.c            \
71
                    core/ipv4/ip_addr.c         \
72
                    core/ipv4/ip_frag.c         \
73
                    core/ipv4/ip.c              \
74
                    api/api_lib.c               \
75
                    api/api_msg.c               \
76
                    api/err.c                   \
77
                    api/netbuf.c                \
78
                    api/netdb.c                 \
79
                    api/netifapi.c              \
80
                    api/sockets.c               \
81
                    api/tcpip.c                 \
82
                    ecos/sys_arch.c
83
 
84
    cdl_interface CYGINT_LWIP_MODES {
85
        display         "Enabled lwIP modes"
86
        no_define
87
        requires        CYGINT_LWIP_MODES == 1
88
        description     "
89
            This interface is used to force mutually exclusive selection of
90
            the available lwIP modes."
91
    }
92
 
93
    cdl_option CYGFUN_LWIP_MODE_SIMPLE {
94
        display         "Simple mode"
95
        default_value   1
96
        implements      CYGINT_LWIP_MODES
97
        compile         ecos/simple.c
98
        description     "
99
            lwIP stack is configured to run in a single thread. Use this mode
100
            if lwIP should run with a minimum of resources. Note that you can
101
            only use the event based APIs in this mode."
102
    }
103
 
104
    cdl_option CYGFUN_LWIP_MODE_SEQUENTIAL {
105
        display         "Sequential mode"
106
        implements      CYGINT_LWIP_MODES
107
        compile         ecos/sequential.c
108
        description     "
109
            lwIP stack is configured to run in multiple threads. Use this mode
110
            if you can spend some more resources on lwIP and you want to use
111
            the networking stack from within other threads using the more
112
            convenient netcomm and socket APIs."
113
    }
114
 
115
    cdl_interface CYGINT_LWIP_SIO_REQUIRED {
116
        no_define
117
        display         "Items requiring lwIP serial operations"
118
        description     "
119
            Items requiring use of the lwIP serial operations code should
120
            implement this interface."
121
    }
122
 
123
    cdl_option CYGFUN_LWIP_SIO {
124
        display         "Serial operations support"
125
        calculated      { CYGINT_LWIP_SIO_REQUIRED > 0 }
126
        requires        CYGPKG_IO_SERIAL
127
        compile         ecos/sio.c
128
    }
129
 
130
    cdl_option CYGIMP_LWIP_ENDIAN_BY_HAL {
131
        display       "HAL optimized endian functions"
132
        flavor        bool
133
        active_if     CYGIMP_HAL_ARCH_ENDIAN
134
        default_value CYGIMP_HAL_ARCH_ENDIAN
135
        description   "
136
            Some architectures provide optimized functions for endian
137
            manipulation (byte swapping). If utilized, they can give
138
            shorter and faster code for that."
139
    }
140
 
141
    cdl_component CYGPKG_LWIP_APIS {
142
        display         "APIs"
143
        flavor          none
144
        no_define
145
        description     "
146
            Configuration for Application-Programming-Interfaces."
147
 
148
        cdl_component CYGPKG_LWIP_RAW {
149
            display         "RAW support"
150
            flavor          bool
151
            default_value   1
152
            description     "
153
                Enable application layer to hook into the IP layer itself."
154
 
155
            cdl_option CYGNUM_LWIP_RAW_TTL {
156
                display         "RAW Time-To-Live"
157
                flavor          data
158
                default_value   { CYGNUM_LWIP_IP_DEFAULT_TTL }
159
                description     "
160
                    Default value for Time-To-Live used by RAW packets."
161
            }
162
        }
163
 
164
        cdl_component CYGPKG_LWIP_NETIF_API {
165
            display         "Netif support"
166
            flavor          bool
167
            default_value   0
168
            description     "
169
                Support for the netif API."
170
        }
171
 
172
        cdl_component CYGPKG_LWIP_NETCONN_API {
173
            display         "Netconn support"
174
            flavor          bool
175
            default_value   1
176
            active_if       CYGFUN_LWIP_MODE_SEQUENTIAL
177
            requires        CYGFUN_LWIP_MODE_SEQUENTIAL
178
            description     "
179
                Support for the netconn API. Requires the \"Sequential\" mode."
180
        }
181
 
182
        cdl_component CYGPKG_LWIP_SOCKET_API {
183
            display         "Socket support"
184
            flavor          bool
185
            default_value   1
186
            active_if       CYGFUN_LWIP_MODE_SEQUENTIAL
187
            requires        CYGFUN_LWIP_MODE_SEQUENTIAL
188
            requires        CYGPKG_LWIP_NETCONN_API
189
            description     "
190
                Support for the socket API. Requires the \"Sequential\" mode."
191
 
192
            cdl_option CYGFUN_LWIP_COMPAT_SOCKETS {
193
                display         "BSD-style sockets"
194
                flavor          bool
195
                default_value   1
196
                description     "
197
                    Enable BSD-style sockets functions names."
198
            }
199
 
200
            cdl_option CYGFUN_LWIP_POSIX_SOCKETS_IO_NAMES {
201
                display         "POSIX-style sockets"
202
                flavor          bool
203
                default_value   1
204
                description     "
205
                    Enable POSIX-style sockets functions names. Disable this
206
                    option if you use a POSIX operating system that uses the
207
                    same names (read, write & close)."
208
            }
209
 
210
            cdl_option CYGFUN_LWIP_TCP_KEEPALIVE {
211
                display         "Keepalive options"
212
                flavor          bool
213
                default_value   0
214
                description     "
215
                    Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT options
216
                    processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have
217
                    to be set in seconds."
218
            }
219
 
220
            cdl_option CYGFUN_LWIP_SO_RCVTIMEO {
221
                display         "SO_RCVTIMEO option"
222
                flavor          bool
223
                default_value   0
224
                description     "
225
                    Enable SO_RCVTIMEO processing."
226
            }
227
 
228
            cdl_option CYGFUN_LWIP_SO_RCVBUF {
229
                display         "SO_RCVBUF option"
230
                flavor          bool
231
                default_value   0
232
                description     "
233
                    Enable SO_RCVBUF processing."
234
            }
235
        }
236
    }
237
 
238
    cdl_component CYGPKG_LWIP_PROTOCOLS {
239
        display         "Protocols"
240
        flavor          none
241
        no_define
242
        description     "
243
            Configuration options for protocols."
244
 
245
        cdl_component CYGPKG_LWIP_ARP {
246
            display         "ARP support"
247
            flavor          bool
248
            default_value   1
249
            compile         netif/etharp.c
250
            description     "
251
                Support for ARP functionality."
252
 
253
            cdl_option CYGNUM_LWIP_ARP_TABLE_SIZE {
254
                display         "ARP table size"
255
                flavor          data
256
                default_value   10
257
                description     "
258
                    Number of active MAC-IP address pairs cached."
259
            }
260
 
261
            cdl_option CYGFUN_LWIP_ARP_QUEUEING {
262
                display         "ARP queueing"
263
                flavor          bool
264
                default_value   1
265
                description     "
266
                    Outgoing packets are queued during hardware address
267
                    resolution."
268
            }
269
 
270
            cdl_option CYGFUN_LWIP_ETHARP_TRUST_IP_MAC {
271
                display         "Trust IP/MAC"
272
                flavor          bool
273
                default_value   1
274
                description     "
275
                    Incoming IP packets cause the ARP table to be updated with
276
                    the source MAC and IP addresses supplied in the packet. You
277
                    may want to disable this if you do not trust LAN peers to
278
                    have the correct addresses, or as a limited approach to
279
                    attempt to handle spoofing. If disabled, lwIP will need to
280
                    make a new ARP request if the peer is not already in the
281
                    ARP table, adding a little latency."
282
            }
283
        }
284
 
285
        cdl_component CYGPKG_LWIP_IP {
286
            display         "IP options"
287
            flavor          none
288
            no_define
289
            description     "
290
                Configuration options for IP protocol."
291
 
292
            cdl_option CYGFUN_LWIP_IP_FORWARD {
293
                display         "Support IP forwarding"
294
                flavor          bool
295
                default_value   0
296
                description     "
297
                    Enables the ability to forward IP packets across network
298
                    interfaces. If you are going to run lwIP on a device with
299
                    only one network interface, define this to 0."
300
            }
301
 
302
            cdl_option CYGFUN_LWIP_IP_OPTIONS_ALLOWED {
303
                display         "Allow IP options"
304
                flavor          bool
305
                default_value   1
306
                description     "
307
                    Defines the behavior for IP options:
308
 
309
                    1 = IP options are allowed (but not parsed)."
310
            }
311
 
312
            cdl_option CYGFUN_LWIP_IP_REASSEMBLY {
313
                display         "Support IP reassembly"
314
                flavor          bool
315
                default_value   1
316
                description     "
317
                    Reassemble incoming fragmented IP packets. Note that this
318
                    option does not affect outgoing packet sizes, which can be
319
                    controlled via CYGFUN_LWIP_IP_FRAG."
320
            }
321
 
322
            cdl_option CYGFUN_LWIP_IP_FRAG {
323
                display         "Support IP fragmentation"
324
                flavor          bool
325
                default_value   1
326
                description     "
327
                    Fragment outgoing IP packets if their size exceeds MTU.
328
                    Note that this option does not affect incoming packet
329
                    sizes, which can be controlled via
330
                    CYGFUN_LWIP_IP_REASSEMBLY."
331
            }
332
 
333
            cdl_option CYGNUM_LWIP_IP_REASS_MAXAGE {
334
                display         "Max reassembly time"
335
                flavor          data
336
                default_value   3
337
                description     "
338
                    Maximum time (in multiples of IP_TMR_INTERVAL - so seconds,
339
                    normally) a fragmented IP packet waits for all fragments to
340
                    arrive. If not all fragments arrived in this time, the
341
                    whole packet is discarded."
342
            }
343
 
344
            cdl_option CYGNUM_LWIP_IP_REASS_MAX_PBUFS {
345
                display         "Max reassembly time"
346
                flavor          data
347
                default_value   10
348
                requires        { CYGNUM_LWIP_PBUF_BOOL_SIZE <
349
                                  CYGNUM_LWIP_IP_REASS_MAX_PBUFS }
350
                description     "
351
                    Total maximum amount of pbufs waiting to be reassembled.
352
                    Since the received pbufs are enqueued, be sure to configure
353
                    CYGNUM_LWIP_PBUF_BOOL_SIZE > CYGNUM_LWIP_IP_REASS_MAX_PBUFS
354
                    so that the stack is still able to receive packets even if
355
                    the maximum amount of fragments is enqueued for reassembly!"
356
            }
357
 
358
            cdl_option CYGFUN_LWIP_IP_FRAG_USES_STATIC_BUF {
359
                display         "Use static buffer for IP fragmentation"
360
                flavor          bool
361
                default_value   1
362
                description     "
363
                    Use a static MTU-sized buffer for IP fragmentation.
364
                    Otherwise pbufs are allocated and reference the original
365
                    packet data to be fragmented."
366
            }
367
 
368
            cdl_option CYGNUM_LWIP_IP_FRAG_MAX_MTU {
369
                display         "Max MTU size"
370
                flavor          data
371
                default_value   1500
372
                active_if       { CYGFUN_LWIP_IP_FRAG_USES_STATIC_BUF }
373
                description     "
374
                    Assumed max MTU on any interface for IP frag buffer."
375
            }
376
 
377
            cdl_option CYGNUM_LWIP_IP_DEFAULT_TTL {
378
                display         "Default Time-To-Live"
379
                flavor          data
380
                default_value   255
381
                description     "
382
                    Default value for Time-To-Live used by transport layers."
383
            }
384
 
385
            cdl_component CYGFUN_LWIP_IP_SOF_BROADCAST {
386
                display         "Support broadcast filter"
387
                flavor          bool
388
                default_value   0
389
                description     "
390
                    Use the SOF_BROADCAST field to enable broadcast filter
391
                    per pcb on udp and raw send operations. To enable
392
                    broadcast filter on recv operations, you also have to set
393
                    IP_SOF_BROADCAST_RECV=1."
394
 
395
                cdl_option CYGFUN_LWIP_IP_SOF_BROADCAST_RECV {
396
                    display         "Receive support"
397
                    flavor          bool
398
                    default_value   0
399
                    active_if       CYGFUN_LWIP_IP_SOF_BROADCAST
400
                    description     "
401
                        Enable the broadcast filter on recv operations."
402
                }
403
            }
404
        }
405
 
406
        cdl_component CYGPKG_LWIP_ICMP {
407
            display         "ICMP support"
408
            flavor          bool
409
            default_value   1
410
            description     "
411
                Support for ICMP functionality. Be careful, disabling this
412
                makes your product non-compliant to RFC1122."
413
 
414
            cdl_option CYGNUM_LWIP_ICMP_TTL {
415
                display         "ICMP Time-To-Live"
416
                flavor          data
417
                default_value   { CYGNUM_LWIP_IP_DEFAULT_TTL }
418
                description     "
419
                    Default value for Time-To-Live used by ICMP packets."
420
            }
421
 
422
            cdl_option CYGFUN_LWIP_BROADCAST_PING {
423
                display         "Respond broadcast pings"
424
                flavor          bool
425
                default_value   0
426
                description     "
427
                    Respond to broadcast pings (default is unicast only)."
428
            }
429
 
430
            cdl_option CYGFUN_LWIP_MULTICAST_PING {
431
                display         "Respond multicast pings"
432
                flavor          bool
433
                default_value   0
434
                description     "
435
                    Respond to multicast pings (default is unicast only)."
436
            }
437
        }
438
 
439
        cdl_component CYGPKG_LWIP_IGMP {
440
            display         "IGMP support"
441
            flavor          bool
442
            default_value   1
443
            description     "
444
                Support for IGMP functionality."
445
        }
446
 
447
        cdl_component CYGPKG_LWIP_UDP {
448
            display         "UDP support"
449
            flavor          bool
450
            default_value   1
451
            requires        CYGPKG_LWIP_IP
452
            description     "
453
                Support for UDP functionality."
454
 
455
            cdl_option CYGFUN_LWIP_UDPLITE {
456
                display         "UDP lite"
457
                flavor          bool
458
                default_value   1
459
                description     "
460
                    Enable UDP lite."
461
            }
462
 
463
            cdl_option CYGNUM_LWIP_UDP_TTL {
464
                display         "UDP Time-To-Live"
465
                flavor          data
466
                default_value   { CYGNUM_LWIP_IP_DEFAULT_TTL }
467
                description     "
468
                    Default value for Time-To-Live used by UDP packets."
469
            }
470
        }
471
 
472
        cdl_component CYGPKG_LWIP_TCP {
473
            display         "TCP support"
474
            flavor          bool
475
            default_value   1
476
            requires        CYGPKG_LWIP_IP
477
            description     "
478
                Support for TCP functionality."
479
 
480
            cdl_option CYGNUM_LWIP_TCP_TTL {
481
                display         "TCP Time-To-Live"
482
                flavor          data
483
                default_value   { CYGNUM_LWIP_IP_DEFAULT_TTL }
484
                description     "
485
                    Default value for Time-To-Live used by TCP packets."
486
            }
487
 
488
            cdl_option CYGNUM_LWIP_TCP_WND {
489
                display         "Receive window"
490
                flavor          data
491
                default_value   { CYGNUM_LWIP_TCP_MSS * 4 }
492
                requires        { CYGNUM_LWIP_TCP_WND >=
493
                                  CYGNUM_LWIP_TCP_MSS * 2 }
494
                description     "
495
                    The size of a TCP window. This must be at least
496
                    (2 * TCP_MSS) for things to work well."
497
            }
498
 
499
            cdl_option CYGNUM_LWIP_TCP_MAXRTX {
500
                display         "Segment retransmissions"
501
                flavor          data
502
                default_value   12
503
                description     "
504
                     Maximum number of retransmissions of data segments."
505
            }
506
 
507
            cdl_option CYGNUM_LWIP_TCP_SYNMAXRTX {
508
                display         "Syn retransmissions"
509
                flavor          data
510
                default_value   6
511
                description     "
512
                    Maximum number of retransmissions of SYN segments."
513
            }
514
 
515
            cdl_option CYGFUN_LWIP_TCP_QUEUE_OOSEQ {
516
                display         "Queue segments"
517
                flavor          bool
518
                default_value   1
519
                description     "
520
                    TCP will queue segments that arrive out of order. Define
521
                    to 0 if your device is low on memory."
522
            }
523
 
524
            cdl_option CYGNUM_LWIP_TCP_MSS {
525
                display         "Maximum segment size"
526
                flavor          data
527
                default_value   536
528
                description     "
529
                    TCP Maximum segment size. (default is 128, a *very*
530
                    conservative default.) For the receive side, this MSS is
531
                    advertised to the remote side when opening a connection.
532
                    For the transmit size, this MSS sets an upper limit on the
533
                    MSS advertised by the remote host."
534
            }
535
 
536
            cdl_option CYGFUN_LWIP_TCP_CALCULATE_EFF_SEND_MSS {
537
                display         "Calculate effective MSS"
538
                flavor          bool
539
                default_value   1
540
                description     "
541
                    \"The maximum size of a segment that TCP really sends, the
542
                    'effective send MSS,' MUST be the smaller of the send MSS
543
                    (which reflects the available reassembly buffer size at the
544
                    remote host) and the largest size permitted by the IP
545
                    layer\" (RFC 1122) Setting this to 1 enables code that
546
                    checks TCP_MSS against the MTU of the netif used for a
547
                    connection and limits the MSS if it would be too big
548
                    otherwise."
549
            }
550
 
551
            cdl_option CYGNUM_LWIP_TCP_SND_BUF {
552
                display         "Sender buffer space"
553
                flavor          data
554
                default_value   CYGNUM_LWIP_TCP_SND_QUEUELEN * CYGNUM_LWIP_TCP_MSS / 4
555
                requires        { CYGNUM_LWIP_TCP_SND_BUF * 2 <
556
                                  CYGNUM_LWIP_TCP_SND_QUEUELEN * CYGNUM_LWIP_TCP_MSS }
557
                description     "
558
                    TCP sender buffer space (bytes)."
559
            }
560
 
561
            cdl_option CYGNUM_LWIP_TCP_SND_QUEUELEN {
562
                display         "Sender pbufs"
563
                flavor          data
564
                default_value   8
565
                description     "
566
                    TCP sender buffer space (pbufs). This must be at least as
567
                    much as (2 * TCP_SND_BUF/TCP_MSS) for things to work."
568
            }
569
 
570
            cdl_option CYGNUM_LWIP_TCP_SNDLOWAT {
571
                display         "TCP writeable space"
572
                flavor          data
573
                default_value   { CYGNUM_LWIP_TCP_SND_BUF / 2 }
574
                description     "
575
                    TCP writable space (bytes). This must be less than or equal
576
                    to TCP_SND_BUF. It is the amount of space which must be
577
                    available in the TCP snd_buf for select to return writable."
578
            }
579
 
580
            cdl_option CYGFUN_LWIP_TCP_LISTEN_BACKLOG {
581
                display         "Listen backlog"
582
                flavor          bool
583
                default_value   0
584
                description     "
585
                    Enable the backlog option for tcp listen pcb."
586
            }
587
 
588
            cdl_option CYGNUM_LWIP_TCP_DEFAULT_LISTEN_BACKLOG {
589
                display         "Maximum listen backlog"
590
                flavor          data
591
                active_if       { CYGFUN_LWIP_TCP_LISTEN_BACKLOG }
592
                default_value   255
593
                legal_values    { 1 to 255 }
594
                description     "
595
                    The maximum allowed backlog for TCP listen netconns."
596
            }
597
 
598
            cdl_option CYGFUN_LWIP_TCP_TIMESTAMPS {
599
                display         "TCP timestamp"
600
                flavor          bool
601
                default_value   0
602
                description     "
603
                    Support the TCP timestamp option."
604
            }
605
 
606
            cdl_option CYGNUM_LWIP_TCP_WND_UPDATE_THRESHOLD {
607
                display         "Update threshold"
608
                flavor          bool
609
                default_value   { CYGNUM_LWIP_TCP_WND / 4 }
610
                description     "
611
                    Difference in window to trigger an explicit window update."
612
            }
613
 
614
            cdl_option CYGFUN_LWIP_EVENT_API {
615
                display         "Event API"
616
                flavor          bool
617
                default_value   0
618
                requires        { !CYGFUN_LWIP_CALLBACK_API }
619
                description     "
620
                    The user defines lwip_tcp_event() to receive all events
621
                    (accept, sent, etc) that happen in the system."
622
            }
623
 
624
            cdl_option CYGFUN_LWIP_CALLBACK_API {
625
                display         "Callback API"
626
                flavor          bool
627
                default_value   1
628
                requires        { !CYGFUN_LWIP_EVENT_API }
629
                description     "
630
                    The PCB callback function is called directly for the event."
631
            }
632
        }
633
 
634
        cdl_component CYGPKG_LWIP_DHCP {
635
            display         "DHCP support"
636
            flavor          bool
637
            default_value   1
638
            requires        CYGPKG_LWIP_UDP
639
            compile         core/dhcp.c
640
            description "
641
                Support for DHCP functionality."
642
 
643
            cdl_option CYGFUN_LWIP_DHCP_DOES_ARP_CHECK {
644
                display         "Check offered address"
645
                flavor          bool
646
                default_value   1
647
                requires        CYGPKG_LWIP_ARP
648
                description     "
649
                    Do an ARP check on the offered address."
650
            }
651
        }
652
 
653
        cdl_component CYGPKG_LWIP_AUTOIP {
654
            display         "AUTOIP support"
655
            flavor          bool
656
            default_value   0
657
            requires        CYGPKG_LWIP_UDP
658
            requires        CYGPKG_LWIP_ARP
659
            compile         core/ipv4/autoip.c
660
            description "
661
                Support for AUTOIP functionality."
662
 
663
            cdl_option CYGFUN_LWIP_DHCP_AUTOIP_COOP {
664
                display         "Simultaneous AUTOIP/DHCP"
665
                flavor          bool
666
                default_value   1
667
                requires        CYGPKG_LWIP_DHCP
668
                description     "
669
                    Allow DHCP and AUTOIP to be both enabled on the same
670
                    interface at the same time."
671
            }
672
 
673
            cdl_option CYGNUM_LWIP_DHCP_AUTOIP_COOP_TRIES {
674
                display         "DHCP retries before AUTOIP"
675
                flavor          data
676
                default_value   9
677
                legal_values    { 1 to 10000 }
678
                requires        CYGFUN_LWIP_DHCP_AUTOIP_COOP
679
                description     "
680
                    Set to the number of DHCP DISCOVER probes that should be
681
                    sent before falling back on AUTOIP. This can be set as low
682
                    as 1 to get an AutoIP address very quickly, but you should
683
                    be prepared to handle a changing IP address when DHCP
684
                    overrides AutoIP."
685
            }
686
        }
687
 
688
        cdl_component CYGPKG_LWIP_SNMP {
689
            display         "SNMP support"
690
            flavor          bool
691
            default_value   0
692
            requires        CYGPKG_LWIP_UDP
693
            compile         core/snmp/asn1_dec.c            \
694
                            core/snmp/asn1_enc.c            \
695
                            core/snmp/mib_structs.c         \
696
                            core/snmp/mib2.c                \
697
                            core/snmp/msg_in.c              \
698
                            core/snmp/msg_out.c
699
            description "
700
                Support for SNMP functionality."
701
 
702
            cdl_option CYGNUM_LWIP_SNMP_CONCURRENT_REQUESTS {
703
                display         "Concurrent requests"
704
                flavor          data
705
                default_value   1
706
                description     "
707
                    Number of concurrent requests the module will allow. At
708
                    least one request buffer is required."
709
            }
710
 
711
            cdl_option CYGNUM_LWIP_SNMP_TRAP_DESTINATIONS {
712
                display         "Trap destinations"
713
                flavor          data
714
                default_value   1
715
                description     "
716
                    Number of trap destinations. At least one trap destination
717
                    is required."
718
            }
719
 
720
            cdl_option CYGFUN_LWIP_SNMP_PRIVATE_MIB {
721
                display         "Private MIB"
722
                flavor          bool
723
                default_value   0
724
                description     ""
725
            }
726
 
727
            cdl_option CYGFUN_LWIP_SNMP_SAFE_REQUESTS {
728
                display         "Safe requests"
729
                flavor          bool
730
                default_value   1
731
                description     "
732
                    Only allow SNMP write actions that are 'safe' (e.g.
733
                    disabling netifs is not a safe action and disabled when
734
                    SNMP_SAFE_REQUESTS = 1). Unsafe requests are disabled by
735
                    default!"
736
            }
737
        }
738
 
739
        cdl_component CYGPKG_LWIP_DNS {
740
            display         "DNS support"
741
            flavor          bool
742
            default_value   0
743
            requires        CYGPKG_LWIP_UDP
744
            description     "
745
                Support for DNS functionality."
746
 
747
            cdl_option CYGNUM_LWIP_DNS_TABLE_SIZE {
748
                display         "Table size"
749
                flavor          data
750
                default_value   4
751
                description     "
752
                    DNS maximum number of entries to maintain locally."
753
            }
754
 
755
            cdl_option CYGNUM_LWIP_DNS_MAX_NAME_LENGTH {
756
                display         "Host name size"
757
                flavor          data
758
                default_value   256
759
                description     "
760
                    DNS maximum host name length supported in the name table."
761
            }
762
 
763
            cdl_option CYGNUM_LWIP_DNS_MAX_SERVERS {
764
                display         "DNS servers"
765
                flavor          data
766
                default_value   2
767
                description     "
768
                    The maximum of DNS servers."
769
            }
770
 
771
            cdl_option CYGFUN_LWIP_DNS_DOES_NAME_CHECK {
772
                display         "Name checking"
773
                flavor          bool
774
                default_value   1
775
                description     "
776
                    DNS do a name checking between the query and the response."
777
            }
778
 
779
            cdl_option CYGNUM_LWIP_DNS_USES_STATIC_BUF {
780
                display         "Static buffer"
781
                flavor          data
782
                default_value   1
783
                legal_values    { 0 to 2 }
784
                description     "
785
                    DNS use a local buffer if DNS_USES_STATIC_BUF=0, a static
786
                    one if DNS_USES_STATIC_BUF=1, or a dynamic one if
787
                    DNS_USES_STATIC_BUF=2. The buffer will be of size
788
                    DNS_MSG_SIZE."
789
            }
790
 
791
            cdl_option CYGNUM_LWIP_DNS_MSG_SIZE {
792
                display         "Message size"
793
                flavor          data
794
                default_value   512
795
                description     "
796
                    DNS message max. size. Default value is RFC compliant."
797
            }
798
 
799
            cdl_component CYGPKG_LWIP_DNS_LOCAL_HOSTLIST {
800
                display         "Local host list"
801
                flavor          bool
802
                default_value   0
803
                description     "
804
                    Support for a local host-to-address list."
805
 
806
                cdl_option CYGDAT_LWIP_DNS_LOCAL_HOSTLIST_INIT {
807
                    display         "Host list"
808
                    flavor          data
809
                    default_value   { "{{\"host1\", 0x123},\
810
                                        {\"host2\", 0x234}}" }
811
                    description     "
812
                        An array of structs name/address, where address is an
813
                        u32_t in network byte order."
814
                }
815
 
816
                cdl_option CYGFUN_LWIP_DNS_LOCAL_HOSTLIST_IS_DYNAMIC {
817
                    display         "Dynamic host list"
818
                    flavor          bool
819
                    default_value   1
820
                    description     "
821
                        If this is turned on, the local host-list can be
822
                        dynamically changed at runtime."
823
                }
824
            }
825
        }
826
    }
827
 
828
    cdl_component CYGPKG_LWIP_INTERFACES {
829
        display         "Interfaces"
830
        flavor          none
831
        no_define
832
        description     "
833
            Configuration options for support of different network interface
834
            devices."
835
 
836
        cdl_interface CYGPKG_LWIP_NETIF_DEFAULT {
837
            display         "Items claiming default network interface status"
838
            flavor          data
839
            no_define
840
            requires        { CYGPKG_LWIP_NETIF_DEFAULT <= 1 }
841
            description     "
842
                Items which claim that a specific networking interface should
843
                be the default interface should implement this CDL interface.
844
                Only one networking interface can claim default networking
845
                interface status."
846
        }
847
 
848
        cdl_component CYGPKG_LWIP_NETIF {
849
            display         "Netif options"
850
            flavor          none
851
            no_define
852
            description     "
853
                Configuration options for netif."
854
 
855
            cdl_option CYGIMP_LWIP_NETIF_HOSTNAME {
856
                display         "Hostname support"
857
                flavor          bool
858
                default_value   0
859
                description     "
860
                    Adds a 'hostname' field to the netif structure and enables
861
                    support for retrieving the hostname via DHCP."
862
            }
863
 
864
            cdl_option CYGFUN_LWIP_NETIF_STATUS_CALLBACK {
865
                display         "Status callback"
866
                flavor          bool
867
                default_value   1
868
                description     "
869
                    Support a callback function whenever an interface changes
870
                    its up/down status (i.e., due to DHCP IP acquistion)."
871
            }
872
 
873
            cdl_option CYGFUN_LWIP_NETIF_LINK_CALLBACK {
874
                display         "Link callback"
875
                flavor          bool
876
                default_value   0
877
                description     "
878
                    Support a callback function from an interface whenever the
879
                    link changes (i.e., link down)."
880
            }
881
 
882
            cdl_option CYGIMP_LWIP_NETIF_HWADDRHINT {
883
                display         "Cache link-layer-address hints"
884
                flavor          bool
885
                default_value   0
886
                description     "
887
                    Cache link-layer-address hints (e.g. table indices) in
888
                    struct netif. TCP and UDP can make use of this to prevent
889
                    scanning the ARP table for every sent packet. While this is
890
                    faster for big ARP tables or many concurrent connections,
891
                    it might be counterproductive if you have a tiny ARP table
892
                    or if there never are concurrent connections."
893
            }
894
 
895
            cdl_component CYGIMP_LWIP_NETIF_LOOPBACK {
896
                display         "Loopback support"
897
                flavor          bool
898
                default_value   0
899
                description     "
900
                    Support sending packets with a destination IP address equal
901
                    to the netif IP address, looping them back up the stack."
902
 
903
                cdl_option CYGNUM_LWIP_NETIF_LOOPBACK_MAX_PBUFS {
904
                    display         "PBUF queue length"
905
                    flavor          data
906
                    default_value   0
907
                    description     "
908
                        Maximum number of pbufs on queue for loopback sending
909
                        for each netif (0 = disabled)."
910
                }
911
            }
912
        }
913
 
914
        cdl_component CYGPKG_LWIP_ETH {
915
            display         "Ethernet support"
916
            flavor          bool
917
            requires        CYGPKG_IO
918
            requires        CYGPKG_IO_ETH_DRIVERS
919
            requires        CYGPKG_LWIP_ARP
920
            default_value   CYGPKG_IO_ETH_DRIVERS
921
            description     "
922
                Support for ethernet devices"
923
 
924
            # Support static configuration of up to 4 interfaces
925
            for { set ::channel 0 } { $::channel < 4 } { incr ::channel } {
926
 
927
                cdl_component CYGPKG_LWIP_ETH[set ::channel]_CONF {
928
                    display         "eth[set ::channel] configuration"
929
                    flavor          bool
930
                    default_value   $::channel == 0
931
                    description     "
932
                        Static configuration of the ethernet device
933
                        eth[set ::channel]."
934
 
935
                    cdl_option CYGDAT_LWIP_ETH[set ::channel]_DEFAULT {
936
                        display         "Default netif"
937
                        flavor          bool
938
                        default_value   $::channel == 0
939
                        implements      CYGPKG_LWIP_NETIF_DEFAULT
940
                        description     "
941
                            Use this interface as the default network
942
                            interface."
943
                    }
944
 
945
                    cdl_option CYGDAT_LWIP_ETH[set ::channel]_DHCP {
946
                        display         "Use DHCP"
947
                        flavor          bool
948
                        default_value   $::channel == 0
949
                        requires        CYGPKG_LWIP_DHCP
950
                        description     "
951
                            Use DHCP to discover the IP address for this
952
                            interface."
953
                    }
954
 
955
                    cdl_component CYGPKG_LWIP_ETH[set ::channel]_NETCONF {
956
                        display         "Network configuration"
957
                        flavor          none
958
                        no_define
959
                        active_if       CYGDAT_LWIP_ETH[set ::channel]_DHCP == 0
960
                        description     "
961
                            See suboptions to define IP address, netmask and
962
                            gateway."
963
 
964
                        cdl_option CYGDAT_LWIP_ETH[set ::channel]_NETCONF_ADDR {
965
                            display         "Address"
966
                            flavor          data
967
                            default_value   { "192,168,1,222" }
968
                            description     "
969
                                The IP address of this device."
970
                        }
971
 
972
                        cdl_option CYGDAT_LWIP_ETH[set ::channel]_NETCONF_NETMASK {
973
                            display         "Netmask"
974
                            flavor          data
975
                            default_value   { "255,255,255,0" }
976
                            description     "
977
                                The netmask of the local network."
978
                        }
979
 
980
                        cdl_option CYGDAT_LWIP_ETH[set ::channel]_NETCONF_GATEWAY {
981
                            display         "Gateway"
982
                            flavor          data
983
                            default_value   { "192,168,1,1" }
984
                            description     "
985
                                The IP address of the gateway."
986
                        }
987
                    }
988
                }
989
            }
990
        }
991
 
992
        cdl_component CYGPKG_LWIP_LOOPIF {
993
            display         "Loop interface support"
994
            flavor          bool
995
            default_value   0
996
            compile         netif/loopif.c
997
            description     "
998
                Support loop interface."
999
 
1000
            cdl_component CYGIMP_LWIP_LOOPIF_INSTANCE {
1001
                display         "Default instance"
1002
                flavor          bool
1003
                default_value   1
1004
                description     "
1005
                    When enabled, a default loop interface is automatically
1006
                    set up."
1007
 
1008
                cdl_option CYGDAT_LWIP_LOOPIF_DEFAULT {
1009
                    display         "Default netif"
1010
                    flavor          bool
1011
                    default_value   0
1012
                    implements      CYGPKG_LWIP_NETIF_DEFAULT
1013
                    description     "
1014
                        Use this interface as the default network interface."
1015
                }
1016
 
1017
                cdl_option CYGDAT_LWIP_LOOPIF_ADDR {
1018
                    display         "Address"
1019
                    flavor          data
1020
                    default_value   { "127,0,0,1" }
1021
                    description     "
1022
                        The IP address of this device."
1023
                }
1024
 
1025
                cdl_option CYGDAT_LWIP_LOOPIF_NETMASK {
1026
                    display         "Netmask"
1027
                    flavor          data
1028
                    default_value   { "255,255,255,0" }
1029
                    description     "
1030
                        The netmask of the local network."
1031
                }
1032
 
1033
                cdl_option CYGDAT_LWIP_LOOPIF_GATEWAY {
1034
                    display         "Gateway"
1035
                    flavor          data
1036
                    default_value   { "127,0,0,1" }
1037
                    description     "
1038
                        The IP address of the gateway."
1039
                }
1040
            }
1041
        }
1042
 
1043
        cdl_component CYGPKG_LWIP_SLIP {
1044
            display         "SLIP support"
1045
            flavor          bool
1046
            implements      CYGINT_LWIP_SIO_REQUIRED
1047
            default_value   0
1048
            compile         netif/slipif.c
1049
            description     "
1050
                Support SLIP functionality."
1051
 
1052
            cdl_option CYGDAT_LWIP_SLIPIF_DEV {
1053
                display         "Serial device"
1054
                flavor          data
1055
                default_value   { "\"/dev/ser0\"" }
1056
                description     "
1057
                    Serial port to use for SLIP."
1058
            }
1059
 
1060
            cdl_component CYGIMP_LWIP_SLIPIF_INSTANCE {
1061
                display         "Default instance"
1062
                flavor          bool
1063
                default_value   1
1064
                description     "
1065
                    When enabled, a default loop interface is automatically
1066
                    set up."
1067
 
1068
                cdl_option CYGDAT_LWIP_SLIPIF_DEFAULT {
1069
                    display         "Default netif"
1070
                    flavor          bool
1071
                    default_value   0
1072
                    implements      CYGPKG_LWIP_NETIF_DEFAULT
1073
                    description     "
1074
                        Use this interface as the default network interface."
1075
                }
1076
 
1077
                cdl_option CYGDAT_LWIP_SLIPIF_ADDR {
1078
                    display         "Address"
1079
                    flavor          data
1080
                    default_value   { "172,16,1,1" }
1081
                    description     "
1082
                        The IP address of this device."
1083
                }
1084
 
1085
                cdl_option CYGDAT_LWIP_SLIPIF_NETMASK {
1086
                    display         "Netmask"
1087
                    flavor          data
1088
                    default_value   { "255,255,255,0" }
1089
                    description     "
1090
                        The netmask of the local network."
1091
                }
1092
 
1093
                cdl_option CYGDAT_LWIP_SLIPIF_GATEWAY {
1094
                    display         "Gateway"
1095
                    flavor          data
1096
                    default_value   { "172,16,1,2" }
1097
                    description     "
1098
                        The IP address of the gateway."
1099
                }
1100
            }
1101
        }
1102
 
1103
        cdl_component CYGPKG_LWIP_PPP {
1104
            display         "PPP support (experimental)"
1105
            flavor          bool
1106
            default_value   0
1107
            compile         ecos/ppp.c          \
1108
                            netif/ppp/auth.c    \
1109
                            netif/ppp/chap.c    \
1110
                            netif/ppp/chat.c    \
1111
                            netif/ppp/chpms.c   \
1112
                            netif/ppp/fsm.c     \
1113
                            netif/ppp/ipcp.c    \
1114
                            netif/ppp/lcp.c     \
1115
                            netif/ppp/magic.c   \
1116
                            netif/ppp/md5.c     \
1117
                            netif/ppp/pap.c     \
1118
                            netif/ppp/ppp_oe.c  \
1119
                            netif/ppp/ppp.c     \
1120
                            netif/ppp/randm.c   \
1121
                            netif/ppp/record.c  \
1122
                            netif/ppp/timesys.c \
1123
                            netif/ppp/vj.c
1124
            description     "
1125
                Support PPP functionality. Current PPP support is marked
1126
                experimental as it is subject to change for alignment to the
1127
                PPP API of the upcoming lwIP 1.4.x releases."
1128
 
1129
            cdl_option CYGFUN_LWIP_PPPOE_SUPPORT {
1130
                display         "PPPoE support"
1131
                flavor          bool
1132
                default_value   0
1133
                description     "
1134
                    Enable PPP Over Ethernet."
1135
            }
1136
 
1137
            cdl_option CYGFUN_LWIP_PPPOS_SUPPORT {
1138
                display         "PPPoS support"
1139
                flavor          bool
1140
                implements      CYGINT_LWIP_SIO_REQUIRED
1141
                default_value   0
1142
                description     "
1143
                    Enable PPP Over Serial."
1144
            }
1145
 
1146
            cdl_option CYGDAT_LWIP_PPPOS_DEV {
1147
                display         "Serial device"
1148
                flavor          data
1149
                default_value   { "\"/dev/ser0\"" }
1150
                active_if       { CYGFUN_LWIP_PPPOS_SUPPORT }
1151
                description     "
1152
                    Serial port to use for PPPoS."
1153
            }
1154
 
1155
            cdl_option CYGNUM_LWIP_NUM_PPP {
1156
                display         "Max sessions"
1157
                flavor          data
1158
                default_value   1
1159
                description     "
1160
                    Max PPP sessions."
1161
            }
1162
 
1163
            cdl_option CYGFUN_LWIP_PAP_SUPPORT {
1164
                display         "PAP support"
1165
                flavor          bool
1166
                default_value   0
1167
                description     "
1168
                    Enable PAP support."
1169
            }
1170
 
1171
            cdl_option CYGFUN_LWIP_CHAP_SUPPORT {
1172
                display         "CHAP support"
1173
                flavor          bool
1174
                default_value   0
1175
                description     "
1176
                    Enable CHAP support."
1177
            }
1178
 
1179
            cdl_option CYGFUN_LWIP_VJ_SUPPORT {
1180
                display         "VJ support"
1181
                flavor          bool
1182
                default_value   0
1183
                description     "
1184
                    Support VJ header compression."
1185
            }
1186
 
1187
            cdl_option CYGFUN_LWIP_MD5_SUPPORT {
1188
                display         "MD5 support"
1189
                flavor          bool
1190
                default_value   0
1191
                description     "
1192
                    Support MD5 (see also CHAP)."
1193
            }
1194
 
1195
            cdl_option CYGFUN_LWIP_RECORD_SUPPORT {
1196
                display         "Recording support"
1197
                flavor          bool
1198
                default_value   0
1199
                description     "
1200
                    Support for dumping incoming/outgoing records."
1201
            }
1202
        }
1203
    }
1204
 
1205
    cdl_component CYGPKG_LWIP_MEM_OPTIONS {
1206
        display         "Memory options"
1207
        flavor          none
1208
        no_define
1209
        description     "
1210
            Tunables for various aspects of memory usage throughout the stack."
1211
 
1212
        cdl_option CYGIMP_LWIP_MEM_LIBC_MALLOC {
1213
            display         "Use malloc for internal allocations"
1214
            flavor          bool
1215
            default_value   0
1216
            requires        { CYGINT_ISO_MEMALLOC != 0 }
1217
            description     "
1218
                Use malloc/free/realloc provided by the C-library instead of
1219
                the lwip internal allocator. Can save code size if you already
1220
                use it."
1221
        }
1222
 
1223
        cdl_option CYGIMP_LWIP_MEMP_MEM_MALLOC {
1224
            display         "Use malloc for pool allocations"
1225
            flavor          bool
1226
            default_value   0
1227
            description     "
1228
                Use mem_malloc/mem_free instead of the lwip pool allocator.
1229
                Especially useful with MEM_LIBC_MALLOC but handle with care
1230
                regarding execution speed and usage from interrupts!"
1231
        }
1232
 
1233
        cdl_option CYGNUM_LWIP_MEM_ALIGNMENT {
1234
            display         "Memory alignment"
1235
            flavor          data
1236
            default_value   4
1237
            description     "
1238
                Should be set to the alignment of the CPU."
1239
        }
1240
 
1241
        cdl_option CYGNUM_LWIP_MEM_SIZE {
1242
            display         "Memory size"
1243
            flavor          data
1244
            default_value   { 1600 + ((CYGNUM_LWIP_NUM_PPP * 2) * 1504) }
1245
            description     "
1246
                The size of the heap memory. If the application will send a lot
1247
                of data that needs to be copied, this should be set high."
1248
        }
1249
 
1250
        cdl_option CYGDBG_LWIP_MEMP_OVERFLOW_CHECK {
1251
            display         "Memory pool overflow protection"
1252
            flavor          data
1253
            default_value   0
1254
            description     "
1255
                Memory pool overflow protection reserves a configurable amount
1256
                of bytes before and after each memp element in every pool and
1257
                fills it with a prominent default value.
1258
                MEMP_OVERFLOW_CHECK == 0 no checking,
1259
                MEMP_OVERFLOW_CHECK == 1 checks each element when it is freed,
1260
                MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool
1261
                every time memp_malloc() or memp_free() is called
1262
                (useful but slow!)"
1263
        }
1264
 
1265
        cdl_option CYGDBG_LWIP_MEMP_SANITY_CHECK {
1266
            display         "Memory pool sanity check"
1267
            flavor          bool
1268
            default_value   0
1269
            description     "
1270
                Run a sanity check after each memp_free() to make sure that
1271
                there are no cycles in the linked lists."
1272
        }
1273
 
1274
        cdl_option CYGNUM_LWIP_MEMP_NUM_PBUF {
1275
            display         "Number of memp struct pbufs"
1276
            flavor          data
1277
            default_value   16
1278
            description     "
1279
                 The number of memp struct pbufs (used for PBUF_ROM and
1280
                 PBUF_REF). If the application sends a lot of data out of ROM
1281
                 (or other static memory), this should be set high."
1282
        }
1283
 
1284
        cdl_option CYGNUM_LWIP_MEMP_NUM_TCP_PCB {
1285
            display         "Simultaneous active TCP connections"
1286
            flavor          data
1287
            default_value   5
1288
            active_if       { CYGPKG_LWIP_TCP }
1289
            description     "
1290
                The number of simulatenously active TCP connections."
1291
        }
1292
 
1293
        cdl_option CYGNUM_LWIP_MEMP_NUM_TCP_PCB_LISTEN {
1294
            display         "Listening TCP connections"
1295
            flavor          data
1296
            default_value   8
1297
            active_if       { CYGPKG_LWIP_TCP }
1298
            description     "
1299
                The number of listening TCP connections."
1300
        }
1301
 
1302
        cdl_option CYGNUM_LWIP_MEMP_NUM_TCP_SEG {
1303
            display         "Simultaneous queued TCP segments"
1304
            flavor          data
1305
            default_value   16
1306
            active_if       { CYGPKG_LWIP_TCP }
1307
            description     "
1308
                The number of simultaneously queued TCP segments."
1309
        }
1310
 
1311
        cdl_option CYGNUM_LWIP_MEMP_NUM_REASSDATA {
1312
            display         "Simultaneous queued IP packets for reassembly"
1313
            flavor          data
1314
            default_value   5
1315
            description     "
1316
                The number of simultaneously IP packets queued for reassembly
1317
                (whole packets, not fragments!)."
1318
        }
1319
 
1320
        cdl_option CYGNUM_LWIP_MEMP_NUM_ARP_QUEUE {
1321
            display         "Simultaneous queued ARP requests"
1322
            flavor          data
1323
            default_value   30
1324
            active_if       { CYGFUN_LWIP_ARP_QUEUEING }
1325
            description     "
1326
                The number of simulateously queued outgoing packets (pbufs)
1327
                that are waiting for an ARP request (to resolve their
1328
                destination address) to finish."
1329
        }
1330
 
1331
        cdl_option CYGNUM_LWIP_MEMP_NUM_IGMP_GROUP {
1332
            display         "Multicast groups"
1333
            flavor          data
1334
            default_value   8
1335
            active_if       { CYGPKG_LWIP_IGMP }
1336
            description     "
1337
                The number of multicast groups whose network interfaces can be
1338
                members et the same time (one per netif - allsystems group -,
1339
                plus one per netif membership)."
1340
        }
1341
 
1342
        cdl_option CYGNUM_LWIP_MEMP_NUM_CORE_SYS_TIMEOUT {
1343
            display         "Simultaneous active timeouts by core modules"
1344
            flavor          data
1345
            calculated      { CYGPKG_LWIP_TCP + CYGFUN_LWIP_IP_REASSEMBLY +
1346
                              CYGPKG_LWIP_ARP + (CYGPKG_LWIP_DHCP * 2) +
1347
                              CYGPKG_LWIP_AUTOIP + CYGPKG_LWIP_IGMP +
1348
                              CYGPKG_LWIP_DNS + CYGPKG_LWIP_PPP }
1349
            description     "
1350
                The number of simulateously active timeouts used by the lwIP
1351
                core modules."
1352
        }
1353
 
1354
        cdl_option CYGNUM_LWIP_MEMP_NUM_USER_SYS_TIMEOUT {
1355
            display         "Simultaneous active timeouts by user modules"
1356
            flavor          data
1357
            default_value   { 0 }
1358
            description     "
1359
                The number of simulateously active timeouts used by user
1360
                modules."
1361
        }
1362
 
1363
        cdl_option CYGNUM_LWIP_MEMP_NUM_NETBUF {
1364
            display         "Struct netbufs"
1365
            flavor          data
1366
            default_value   2
1367
            description     "
1368
               The number of struct netbufs. (only needed if you use the
1369
               sequential API, like api_lib.c)"
1370
        }
1371
 
1372
        cdl_option CYGNUM_LWIP_MEMP_NUM_NETCONN {
1373
            display         "Struct netconns"
1374
            flavor          data
1375
            default_value   4
1376
            description     "
1377
                The number of struct netconns. (only needed if you use the
1378
                sequential API, like api_lib.c)"
1379
        }
1380
 
1381
        cdl_option CYGNUM_LWIP_MEMP_NUM_TCPIP_MSG_API {
1382
            display         "Struct tcpip_msg"
1383
            flavor          data
1384
            default_value   8
1385
            description     "
1386
                The number of struct tcpip_msg, which are used for
1387
                callback/timeout API communication. (only needed if you use
1388
                tcpip.c)"
1389
        }
1390
 
1391
        cdl_option CYGNUM_LWIP_MEMP_NUM_TCPIP_MSG_INPKT {
1392
            display         "Incoming struct tcpip_msg"
1393
            flavor          data
1394
            default_value   8
1395
            description     "
1396
                The number of struct tcpip_msg, which are used for incoming
1397
                packets. (only needed if you use tcpip.c)"
1398
        }
1399
 
1400
        cdl_option CYGNUM_LWIP_PBUF_POOL_SIZE {
1401
            display         "Pbuf pool buffers"
1402
            flavor          data
1403
            default_value   16
1404
            description     "
1405
                The number of buffers in the pbuf pool."
1406
        }
1407
 
1408
        cdl_option CYGNUM_LWIP_VARMEMPOOL_SIZE {
1409
            display         "Size of variable memory pool"
1410
            flavor          data
1411
            default_value   2048
1412
            description     "
1413
                Memory required to hold semaphore, mbox and thread structures
1414
                is allocated from this memory pool."
1415
        }
1416
 
1417
        cdl_option CYGNUM_LWIP_PBUF_LINK_HLEN {
1418
            display         "Allocation for a link level header"
1419
            flavor          data
1420
            default_value   { (CYGPKG_LWIP_ETH) ? 14 : 0 }
1421
            requires        { CYGNUM_LWIP_PBUF_LINK_HLEN >=
1422
                              (CYGPKG_LWIP_ETH) ? 14 : 0 }
1423
            description     "
1424
                The number of bytes that should be allocated for a link level
1425
                header. The default is 14, the standard value for Ethernet."
1426
        }
1427
 
1428
        cdl_option CYGNUM_LWIP_PBUF_POOL_BUFSIZE {
1429
            display         "PBUF buffer size"
1430
            flavor          data
1431
            default_value   { CYGNUM_LWIP_TCP_MSS + 40 + CYGNUM_LWIP_PBUF_LINK_HLEN }
1432
            description     "
1433
                The size of each pbuf in the pbuf pool. The default is designed
1434
                to accomodate single full size TCP frame in one pbuf, including
1435
                TCP_MSS, IP header, and link header."
1436
        }
1437
 
1438
        cdl_component CYGOPT_LWIP_MEM_PLF_SPEC {
1439
            display         "Platform/application specific memory settings"
1440
            flavor          none
1441
            no_define
1442
            description     "
1443
                Platform or application specific settings such as special
1444
                memory section and memory constrains."
1445
 
1446
            cdl_option CYGSEM_LWIP_MEM_SECTION {
1447
                display         "Place lwIP buffers and heap in special\
1448
                                        memory section."
1449
                flavor          bool
1450
                default_value   is_active(CYGDAT_LWIP_MEM_SECTION_NAME)
1451
                active_if       CYGDAT_LWIP_MEM_SECTION_NAME
1452
 
1453
                description     "
1454
                    If you need lwIP buffers to appear in some special
1455
                    memory section (it is useful for devices with low
1456
                    memory footprint that is in addition fragmented
1457
                    in several non-contiguous blocks) the platform
1458
                    config file should provide the name of this section
1459
                    through CYGDAT_LWIP_MEM_SECTION_NAME option, if so,
1460
                    you can let to use the GCC section attribute for
1461
                    needed variables by this option."
1462
            }
1463
        }
1464
    }
1465
 
1466
    cdl_component CYGPKG_LWIP_THREADS {
1467
        display         "Thread options"
1468
        flavor          none
1469
        no_define
1470
        active_if       CYGFUN_LWIP_MODE_SEQUENTIAL
1471
 
1472
        cdl_component CYGPKG_LWIP_THREAD_TCPIP {
1473
            display         "TCP/IP thread"
1474
            flavor          none
1475
            no_define
1476
            description     "
1477
                The TCP/IP thread is handling the central message queue in the
1478
                lwIP stack. The name is misleading, as it does not only handle
1479
                TCP/IP, but all of the stack."
1480
 
1481
            cdl_option CYGNUM_LWIP_THREAD_TCPIP_STACKSIZE {
1482
                display         "Stack size"
1483
                flavor          data
1484
                default_value   1024
1485
            }
1486
 
1487
            cdl_option CYGNUM_LWIP_THREAD_TCPIP_PRIORITY {
1488
                display         "Thread priority"
1489
                flavor          data
1490
                default_value   8
1491
            }
1492
        }
1493
 
1494
        cdl_component CYGPKG_LWIP_THREAD_ETH {
1495
            display         "Ethernet thread"
1496
            flavor          none
1497
            no_define
1498
            active_if       { CYGPKG_LWIP_ETH }
1499
            description     "
1500
                The ethernet thread is responsible for receiving data packets
1501
                from ethernet devices and queueing them to be processed in the
1502
                TCP/IP thread."
1503
 
1504
            cdl_option CYGNUM_LWIP_THREAD_ETH_STACKSIZE {
1505
                display         "Stack size"
1506
                flavor          data
1507
                default_value   1024
1508
            }
1509
 
1510
            cdl_option CYGNUM_LWIP_THREAD_ETH_PRIORITY {
1511
                display         "Thread priority"
1512
                flavor          data
1513
                default_value   4
1514
            }
1515
        }
1516
 
1517
        cdl_component CYGPKG_LWIP_THREAD_SLIP {
1518
            display         "SLIP thread"
1519
            flavor          none
1520
            no_define
1521
            active_if       { CYGPKG_LWIP_SLIP }
1522
            description     "
1523
                The SLIP thread is responsible for reading data from the SLIP
1524
                serial device and queue them to be processed in the TCP/IP
1525
                thread."
1526
 
1527
            cdl_option CYGNUM_LWIP_THREAD_SLIP_STACKSIZE {
1528
                display         "Stack size"
1529
                flavor          data
1530
                default_value   1024
1531
            }
1532
 
1533
            cdl_option CYGNUM_LWIP_THREAD_SLIP_PRIORITY {
1534
                display         "Thread priority"
1535
                flavor          data
1536
                default_value   8
1537
            }
1538
        }
1539
 
1540
        cdl_component CYGPKG_LWIP_THREAD_PPPOS {
1541
            display         "PPPoS thread"
1542
            flavor          none
1543
            no_define
1544
            active_if       { CYGFUN_LWIP_PPPOS_SUPPORT }
1545
            description     "
1546
                The PPPoS thread is responsible for reading data from the PPP
1547
                serial device and queue them to be processed in the TCP/IP
1548
                thread."
1549
 
1550
            cdl_option CYGNUM_LWIP_THREAD_PPPOS_STACKSIZE {
1551
                display         "Stack size"
1552
                flavor          data
1553
                default_value   1024
1554
            }
1555
 
1556
            cdl_option CYGNUM_LWIP_THREAD_PPPOS_PRIORITY {
1557
                display         "Thread priority"
1558
                flavor          data
1559
                default_value   8
1560
            }
1561
        }
1562
    }
1563
 
1564
    cdl_component CYGPKG_LWIP_CHECKSUMS {
1565
        display         "Checksum generation/checking"
1566
        flavor          none
1567
        no_define
1568
        description     "
1569
            Options for checksum generation and checking."
1570
 
1571
        cdl_option CYGIMP_LWIP_CHECKSUM_GEN_IP {
1572
            display         "Generate IP checksums"
1573
            flavor          bool
1574
            default_value   1
1575
            description     "
1576
                Generate checksums in software for outgoing IP packets."
1577
        }
1578
 
1579
        cdl_option CYGIMP_LWIP_CHECKSUM_GEN_UDP {
1580
            display         "Generate UDP checksums"
1581
            flavor          bool
1582
            default_value   1
1583
            description     "
1584
                Generate checksums in software for outgoing UDP packets."
1585
        }
1586
 
1587
        cdl_option CYGIMP_LWIP_CHECKSUM_GEN_TCP {
1588
            display         "Generate TCP checksums"
1589
            flavor          bool
1590
            default_value   1
1591
            description     "
1592
                Generate checksums in software for outgoing TCP packets."
1593
        }
1594
 
1595
        cdl_option CYGIMP_LWIP_CHECKSUM_CHECK_IP {
1596
            display         "Check IP checksums"
1597
            flavor          bool
1598
            default_value   1
1599
            description     "
1600
                Check checksums in software for incoming IP packets."
1601
        }
1602
 
1603
        cdl_option CYGIMP_LWIP_CHECKSUM_CHECK_UDP {
1604
            display         "Check UDP checksums"
1605
            flavor          bool
1606
            default_value   1
1607
            description     "
1608
                Check checksums in software for incoming UDP packets."
1609
        }
1610
 
1611
        cdl_option CYGIMP_LWIP_CHECKSUM_CHECK_TCP {
1612
            display         "Check TCP checksums"
1613
            flavor          bool
1614
            default_value   1
1615
            description     "
1616
                Check checksums in software for incoming TCP packets."
1617
        }
1618
    }
1619
 
1620
    cdl_component CYGPKG_LWIP_STATS {
1621
        display         "Traffic statistics"
1622
        flavor          bool
1623
        default_value   0
1624
        description     "
1625
            Enable statistics collection in lwip_stats."
1626
 
1627
        cdl_option CYGVAR_LWIP_LINK_STATS {
1628
            display         "Link stats"
1629
            flavor          bool
1630
            default_value   1
1631
        }
1632
 
1633
        cdl_option CYGVAR_LWIP_ETHARP_STATS {
1634
            display         "Etharp stats"
1635
            flavor          bool
1636
            default_value   1
1637
        }
1638
 
1639
        cdl_option CYGVAR_LWIP_IP_STATS {
1640
            display         "IP stats"
1641
            flavor          bool
1642
            default_value   1
1643
        }
1644
 
1645
        cdl_option CYGVAR_LWIP_IPFARG_STATS {
1646
            display         "IP fragmentation stats"
1647
            flavor          bool
1648
            default_value   1
1649
            active_if       { CYGFUN_LWIP_IP_REASSEMBLY ||
1650
                              CYGFUN_LWIP_IP_FRAG }
1651
        }
1652
 
1653
        cdl_option CYGVAR_LWIP_ICMP_STATS {
1654
            display         "ICMP stats"
1655
            flavor          bool
1656
            default_value   1
1657
            active_if       { CYGPKG_LWIP_ICMP }
1658
        }
1659
 
1660
        cdl_option CYGVAR_LWIP_IGMP_STATS {
1661
            display         "IGMP stats"
1662
            flavor          bool
1663
            default_value   1
1664
            active_if       { CYGPKG_LWIP_IGMP }
1665
        }
1666
 
1667
        cdl_option CYGVAR_LWIP_UDP_STATS {
1668
            display         "UDP stats"
1669
            flavor          bool
1670
            default_value   1
1671
            active_if       { CYGPKG_LWIP_UDP }
1672
        }
1673
 
1674
        cdl_option CYGVAR_LWIP_TCP_STATS {
1675
            display         "TCP stats"
1676
            flavor          bool
1677
            default_value   1
1678
            active_if       { CYGPKG_LWIP_TCP }
1679
        }
1680
 
1681
        cdl_option CYGVAR_LWIP_MEM_STATS {
1682
            display         "Memory stats"
1683
            flavor          bool
1684
            default_value   1
1685
        }
1686
 
1687
        cdl_option CYGVAR_LWIP_MEMP_STATS {
1688
            display         "Memory pool stats"
1689
            flavor          bool
1690
            default_value   1
1691
        }
1692
 
1693
        cdl_option CYGVAR_LWIP_SYS_STATS {
1694
            display         "System stats"
1695
            flavor          bool
1696
            default_value   1
1697
        }
1698
    }
1699
 
1700
    cdl_option CYGFUN_LWIP_SHOW_NETIF_CONFIG {
1701
        display         "Show netif configuration"
1702
        flavor          bool
1703
        default_value   1
1704
        requires        CYGFUN_LWIP_NETIF_STATUS_CALLBACK
1705
        description     "
1706
            Shows the netif configuration on the diagnostic output."
1707
    }
1708
 
1709
    cdl_component CYGDBG_LWIP_DEBUG {
1710
        display         "Debugging"
1711
        flavor          bool
1712
        default_value   0
1713
        description     "
1714
            Configuration options for debug output."
1715
 
1716
        cdl_component CYGDBG_LWIP_DEBUG_OPTIONS {
1717
            display         "Debug options"
1718
            flavor          none
1719
 
1720
            cdl_option CYGDBG_LWIP_DEBUG_LEVEL {
1721
                display         "Log level"
1722
                flavor          data
1723
                default_value   0
1724
                legal_values    { 0 to 3 }
1725
                description     "
1726
                    Sets the minimum log level needed to for log output.
1727
 
1728
            }
1729
 
1730
            cdl_option CYGDBG_LWIP_DEBUG_TRACE {
1731
                display         "Trace messages"
1732
                flavor          bool
1733
                default_value   1
1734
                description     "
1735
                    Log state tracing messages (to follow module flow)."
1736
            }
1737
 
1738
            cdl_option CYGDBG_LWIP_DEBUG_STATE {
1739
                display         "State messages"
1740
                flavor          bool
1741
                default_value   1
1742
                description     "
1743
                    Log state debug messages (to follow module states)."
1744
            }
1745
 
1746
            cdl_option CYGDBG_LWIP_DEBUG_FRESH {
1747
                display         "Fresh messages"
1748
                flavor          bool
1749
                default_value   1
1750
                description     "
1751
                    Log messages from newly added code, not thoroughly tested
1752
                    yet."
1753
            }
1754
        }
1755
 
1756
        cdl_option CYGDBG_LWIP_DEBUG_ETHARP {
1757
            display         "Etharp debugging"
1758
            flavor          bool
1759
            default_value   1
1760
        }
1761
 
1762
        cdl_option CYGDBG_LWIP_DEBUG_NETIF {
1763
            display         "Netif debugging"
1764
            flavor          bool
1765
            default_value   1
1766
        }
1767
 
1768
        cdl_option CYGDBG_LWIP_DEBUG_PBUF {
1769
            display         "PBUF debugging"
1770
            flavor          bool
1771
            default_value   1
1772
        }
1773
 
1774
        cdl_option CYGDBG_LWIP_DEBUG_API {
1775
            display         "API debugging"
1776
            flavor          bool
1777
            default_value   1
1778
        }
1779
 
1780
        cdl_option CYGDBG_LWIP_DEBUG_SOCKETS {
1781
            display         "Sockets debugging"
1782
            flavor          bool
1783
            default_value   1
1784
        }
1785
 
1786
        cdl_option CYGDBG_LWIP_DEBUG_ICMP {
1787
            display         "ICMP debugging"
1788
            flavor          bool
1789
            default_value   1
1790
        }
1791
 
1792
        cdl_option CYGDBG_LWIP_DEBUG_IGMP {
1793
            display         "IGMP debugging"
1794
            flavor          bool
1795
            default_value   1
1796
        }
1797
 
1798
        cdl_option CYGDBG_LWIP_DEBUG_IP {
1799
            display         "IP debugging"
1800
            flavor          bool
1801
            default_value   1
1802
        }
1803
 
1804
        cdl_option CYGDBG_LWIP_DEBUG_RAW {
1805
            display         "RAW debugging"
1806
            flavor          bool
1807
            default_value   1
1808
        }
1809
 
1810
        cdl_option CYGDBG_LWIP_DEBUG_MEM {
1811
            display         "Memory debugging"
1812
            flavor          bool
1813
            default_value   1
1814
        }
1815
 
1816
        cdl_option CYGDBG_LWIP_DEBUG_SYS {
1817
            display         "System debugging"
1818
            flavor          bool
1819
            default_value   1
1820
        }
1821
 
1822
        cdl_option CYGDBG_LWIP_DEBUG_TCP {
1823
            display         "TCP debugging"
1824
            flavor          bool
1825
            default_value   1
1826
        }
1827
 
1828
        cdl_option CYGDBG_LWIP_DEBUG_UDP {
1829
            display         "UDP debugging"
1830
            flavor          bool
1831
            default_value   1
1832
        }
1833
 
1834
        cdl_option CYGDBG_LWIP_DEBUG_TCPIP {
1835
            display         "TCPIP debugging"
1836
            flavor          bool
1837
            default_value   1
1838
        }
1839
 
1840
        cdl_option CYGDBG_LWIP_DEBUG_PPP {
1841
            display         "PPP debugging"
1842
            flavor          bool
1843
            default_value   1
1844
        }
1845
 
1846
        cdl_option CYGDBG_LWIP_DEBUG_SLIP {
1847
            display         "SLIP debugging"
1848
            flavor          bool
1849
            default_value   1
1850
        }
1851
 
1852
        cdl_option CYGDBG_LWIP_DEBUG_DHCP {
1853
            display         "DHCP debugging"
1854
            flavor          bool
1855
            default_value   1
1856
        }
1857
 
1858
        cdl_option CYGDBG_LWIP_DEBUG_AUTOIP {
1859
            display         "AUTOIP debugging"
1860
            flavor          bool
1861
            default_value   1
1862
        }
1863
 
1864
        cdl_option CYGDBG_LWIP_DEBUG_SNMP {
1865
            display         "SNMP debugging"
1866
            flavor          bool
1867
            default_value   1
1868
        }
1869
 
1870
        cdl_option CYGDBG_LWIP_DEBUG_DNS {
1871
            display         "DNS debugging"
1872
            flavor          bool
1873
            default_value   1
1874
        }
1875
 
1876
        cdl_option CYGDBG_LWIP_DEBUG_SIO {
1877
            display         "SIO debugging"
1878
            flavor          bool
1879
            default_value   1
1880
        }
1881
    }
1882
 
1883
    cdl_component CYGPKG_NET_LWIP_TESTS {
1884
        display         "lwIP tests"
1885
        flavor          data
1886
        no_define
1887
        calculated      { "tests/httpd_sequential tests/httpd_simple " .
1888
                          "tests/nc_test_slave tests/ppp " .
1889
                          "tests/socket tests/sys_timeout tests/tcpecho " .
1890
                          "tests/udpecho" }
1891
        description     "
1892
            This option specifies the set of tests for lwIP. They show the
1893
            usage of the raw, the sequential and the BSD socket compatible APIs"
1894
 
1895
        cdl_component CYGPKG_NET_LWIP_PPP_TEST {
1896
            display         "PPP test options"
1897
            flavor          none
1898
            no_define
1899
 
1900
            cdl_option CYGDAT_NET_LWIP_PPP_TEST_APN {
1901
                display         "APN"
1902
                flavor          data
1903
                default_value   { "\"gprs.swisscom.ch\"" }
1904
                description     "
1905
                    Access Point Name used to open PPP connection."
1906
            }
1907
 
1908
            cdl_option CYGDAT_NET_LWIP_PPP_TEST_NUMBER {
1909
                display         "Number"
1910
                flavor          data
1911
                default_value   { "\"*99#\"" }
1912
                description     "
1913
                    Dial number used to open PPP connection."
1914
            }
1915
 
1916
            cdl_option CYGDAT_NET_LWIP_PPP_TEST_USERNAME {
1917
                display         "Username"
1918
                flavor          data
1919
                default_value   { "\"gprs\"" }
1920
                description     "
1921
                    Username used for PPP authentication."
1922
            }
1923
 
1924
            cdl_option CYGDAT_NET_LWIP_PPP_TEST_PASSWORD {
1925
                display         "Password"
1926
                flavor          data
1927
                default_value   { "\"gprs\"" }
1928
                description     "
1929
                    Password used for PPP authentication."
1930
            }
1931
 
1932
            cdl_option CYGDAT_NET_LWIP_PPP_TEST_HOST {
1933
                display         "Host to ping"
1934
                flavor          data
1935
                default_value   { "\"www.ping.ch\"" }
1936
                description     "
1937
                    Hostname for DNS resolve and ping."
1938
            }
1939
        }
1940
    }
1941
 
1942
    cdl_component CYGPKG_NET_LWIP_OPTIONS {
1943
        display         "lwIP build options"
1944
        flavor          none
1945
        no_define
1946
 
1947
        cdl_option CYGPKG_NET_LWIP_CFLAGS_ADD {
1948
            display         "Additional compiler flags"
1949
            flavor          data
1950
            no_define
1951
            default_value   { "" }
1952
            description     "
1953
                This option modifies the set of compiler flags for building the
1954
                lwIP package. These flags are used in addition to the set of
1955
                global flags."
1956
        }
1957
 
1958
        cdl_option CYGPKG_NET_LWIP_CFLAGS_REMOVE {
1959
            display         "Suppressed compiler flags"
1960
            flavor          data
1961
            no_define
1962
            default_value   { "" }
1963
            description     "
1964
                This option modifies the set of compiler flags for building the
1965
                lwIP package. These flags are removed from the set of global
1966
                flags if present."
1967
        }
1968
    }
1969
}

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.