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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [net/] [bsd_tcpip/] [v2_0/] [cdl/] [freebsd_net.cdl] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      freebsd_net.cdl
4
#
5
#      Networking configuration data
6
#
7
# ====================================================================
8
#####ECOSPDCOPYRIGHTBEGIN####
9
#
10
# Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
11
# All Rights Reserved.
12
#
13
# Permission is granted to use, copy, modify and redistribute this
14
# file.
15
#
16
#####ECOSPDCOPYRIGHTEND####
17
# ====================================================================
18
######DESCRIPTIONBEGIN####
19
#
20
# Author(s):      gthomas
21
# Original data:  gthomas
22
# Contributors:
23
# Date:           1999-11-29
24
#
25
#####DESCRIPTIONEND####
26
#
27
# ====================================================================
28
 
29
cdl_package CYGPKG_NET_FREEBSD_STACK {
30
    display       "FreeBSD networking stack"
31
    parent        CYGPKG_NET
32
    doc           ref/tcpip-freebsd.html
33
    include_dir   .
34
    requires      CYGPKG_IO
35
    requires      CYGPKG_ISOINFRA
36
    requires      CYGINT_ISO_C_TIME_TYPES
37
    requires      CYGINT_ISO_STRERROR
38
    requires      CYGINT_ISO_ERRNO
39
    requires      CYGINT_ISO_ERRNO_CODES
40
    requires      CYGINT_ISO_MALLOC
41
    requires      CYGINT_ISO_STRING_BSD_FUNCS
42
    requires      CYGPKG_IO_FILEIO
43
    description   "Basic networking support, including TCP/IP."
44
 
45
    implements    CYGPKG_NET_STACK
46
    implements    CYGPKG_NET_STACK_INET
47
    implements    CYGPKG_NET_STACK_INET6
48
    # Note: separating the stack implementation from the common support leads
49
    # to some rather incestious config file relationships.
50
    define_proc {
51
        puts $::cdl_system_header "/***** Networking stack proc output start *****/"
52
        puts $::cdl_header "#include "
53
        puts $::cdl_system_header "#define CYGDAT_NET_STACK_CFG "
54
        puts $::cdl_system_header "/***** Networking stack proc output end *****/"
55
    }
56
 
57
 
58
    # Export our types to 
59
    implements    CYGINT_ISO_BSDTYPES
60
    requires      { CYGBLD_ISO_BSDTYPES_HEADER == "" }
61
 
62
    # These files are unique to eCos
63
    compile ecos/support.c \
64
        ecos/synch.c \
65
        ecos/timeout.c \
66
        ecos/init.cxx
67
    compile -library=libextras.a sys/kern/sockio.c
68
 
69
    # These files were derived from FreeBSD and carry their copyright
70
    compile sys/net/if.c \
71
        sys/net/rtsock.c \
72
        sys/net/raw_cb.c \
73
        sys/net/raw_usrreq.c \
74
        sys/net/route.c \
75
        sys/net/radix.c \
76
        sys/net/if_ethersubr.c \
77
        sys/net/if_loop.c \
78
        sys/netinet/igmp.c \
79
        sys/netinet/raw_ip.c \
80
        sys/netinet/in.c  \
81
        sys/netinet/in_cksum.c \
82
        sys/netinet/in_pcb.c \
83
        sys/netinet/in_proto.c \
84
        sys/netinet/in_rmx.c \
85
        sys/netinet/ip_encap.c \
86
        sys/netinet/ip_id.c \
87
        sys/netinet/ip_icmp.c \
88
        sys/netinet/ip_flow.c \
89
        sys/netinet/ip_input.c \
90
        sys/netinet/ip_output.c \
91
        sys/netinet/ip_mroute.c \
92
        sys/netinet/if_ether.c \
93
        sys/netinet/udp_usrreq.c \
94
        sys/netinet/tcp_input.c \
95
        sys/netinet/tcp_output.c \
96
        sys/netinet/tcp_debug.c \
97
        sys/netinet/tcp_usrreq.c \
98
        sys/netinet/tcp_timer.c \
99
        sys/netinet/tcp_subr.c \
100
        sys/kern/md5c.c \
101
        sys/kern/uipc_domain.c \
102
        sys/kern/uipc_socket.c \
103
        sys/kern/uipc_socket2.c \
104
        sys/kern/uipc_mbuf.c \
105
        sys/kern/uipc_mbuf2.c \
106
        sys/kern/uipc_accf.c \
107
        sys/kern/kern_subr.c
108
 
109
    cdl_component CYGPKG_NET_FREEBSD_INET {
110
        display       "INET support"
111
        active_if     CYGPKG_NET_INET
112
        flavor        bool
113
        no_define
114
        default_value 1
115
        description   "
116
            This option enables support for INET (IPv4) network processing."
117
 
118
        cdl_option CYGPKG_NET_FREEBSD_INET6 {
119
            display       "IPv6 support"
120
            active_if     CYGPKG_NET_INET6
121
            flavor        bool
122
            default_value 1
123
            description   "
124
                This option enables support for new IPv6."
125
            # These files were derived from FreeBSD and carry their copyright
126
            compile \
127
              sys/netinet6/dest6.c \
128
              sys/netinet6/frag6.c \
129
              sys/netinet6/icmp6.c \
130
              sys/netinet6/in6.c \
131
              sys/netinet6/in6_cksum.c \
132
              sys/netinet6/in6_ifattach.c \
133
              sys/netinet6/in6_pcb.c \
134
              sys/netinet6/in6_proto.c \
135
              sys/netinet6/in6_rmx.c \
136
              sys/netinet6/in6_src.c \
137
              sys/netinet6/ip6_forward.c \
138
              sys/netinet6/ip6_input.c \
139
              sys/netinet6/ip6_mroute.c \
140
              sys/netinet6/ip6_output.c \
141
              sys/netinet6/mld6.c \
142
              sys/netinet6/nd6.c \
143
              sys/netinet6/nd6_nbr.c \
144
              sys/netinet6/nd6_rtr.c \
145
              sys/netinet6/raw_ip6.c \
146
              sys/netinet6/route6.c \
147
              sys/netinet6/scope6.c \
148
              sys/netinet6/udp6_output.c \
149
              sys/netinet6/udp6_usrreq.c \
150
 
151
## Only if firewall enabled
152
##              sys/netinet6/ip6_fw.c \
153
##
154
 
155
        }
156
    }
157
 
158
    cdl_option CYGPKG_NET_NGIF {
159
        display "Number of GIF things"
160
        flavor  data
161
        default_value 0
162
        description   "
163
            This option controls the number of active GIF things."
164
        define NGIF
165
    }
166
 
167
    cdl_option CYGPKG_NET_NLOOP {
168
        display "Number of loopback interfaces"
169
        flavor  data
170
        default_value 1
171
        description   "
172
            This option controls the number of loopback, i.e. local, interfaces.
173
            There is seldom need for this value to be anything other than one."
174
        define NLOOP
175
    }
176
 
177
    cdl_option CYGPKG_NET_FREEBSD_LOGGING {
178
        display       "Error and warning log control"
179
        flavor        booldata
180
        default_value 0xC08F
181
        description   "
182
            This option controls the type and amount of information
183
            printed by the networking code.  Different logging
184
            facilities may be enabled by bitwise or-ing:
185
              LOG_ERR     0x0001 - error conditions
186
              LOG_WARNING 0x0002 - interesting, but not errors
187
              LOG_NOTICE  0x0004 - things to look out for
188
              LOG_INFO    0x0008 - generic comments
189
              LOG_DEBUG   0x0010 - for finding obscure problems
190
              LOG_MDEBUG  0x0020 - additional information about memory allocations
191
              LOG_IOCTL   0x0040 - information about ioctl calls
192
              LOG_INIT    0x0080 - information as system initializes
193
              LOG_ADDR    0x0100 - information about IPv6 addresses
194
              LOG_FAIL    0x0200 - why packets (IPv6) are ignored, etc.
195
              LOG_EMERG   0x4000 - emergency conditions
196
              LOG_CRIT    0x8000 - critical error
197
            "
198
    }
199
 
200
    cdl_option CYGPKG_NET_MEM_USAGE {
201
        display "Memory designated for networking buffers."
202
        flavor  data
203
        default_value 256*1024
204
        description   "
205
            This option controls the amount of memory pre-allocated
206
        for buffers used by the networking code."
207
    }
208
 
209
    cdl_option CYGPKG_NET_MAXSOCKETS {
210
        display "Max number of open sockets."
211
        flavor  data
212
        default_value CYGNUM_FILEIO_NFILE
213
        description   "
214
            This option controls the amount of memory pre-allocated
215
        for socket buffers used by the networking code."
216
    }
217
 
218
    cdl_option CYGPKG_NET_NUM_WAKEUP_EVENTS {
219
        display "Number of supported pending network events"
220
        flavor  data
221
        default_value 8
222
        description   "
223
            This option controls the number of pending network events
224
        used by the networking code."
225
    }
226
 
227
    cdl_option CYGPKG_NET_THREAD_PRIORITY {
228
        display "Priority level for backgound network processing."
229
        flavor  data
230
        default_value 7
231
        description   "
232
            This option allows the thread priority level used by the
233
        networking stack to be adjusted by the user.  It should be set
234
        high enough that sufficient CPU resources are available to
235
        process network data, but may be adjusted so that application
236
        threads can have precedence over network processing."
237
    }
238
 
239
    cdl_option CYGPKG_NET_FAST_THREAD_PRIORITY {
240
        display "Priority level for fast network processing."
241
        flavor  data
242
        default_value CYGPKG_NET_THREAD_PRIORITY - 1
243
        description   "
244
            This option sets the thread priority level used by the fast
245
        network thread.  The fast network thread runs often but briefly, to
246
        service network device interrupts and network timeout events.  This
247
        thread should have higher priority than the background network
248
        thread.  It is reasonable to set this thread's priority higher than
249
        application threads for best network throughput, or to set it lower
250
        than application threads for best latency for those application
251
        threads themselves, potentially at a cost to network throughput."
252
    }
253
 
254
    cdl_component CYGPKG_NET_FAST_THREAD_TICKLE_DEVS {
255
        display "Fast network processing thread 'tickles' drivers"
256
        default_value 1
257
        description "
258
            If this is enabled, the fast network thread will tickle the
259
            device(s) periodically, to unblock them when the hardware has
260
            become wedged due to a lost interrupt or other hardware
261
            race-condition type problem.
262
            This is not necessary if a networked app is running which sends
263
            packets itself often - or
264
            uses TCP, or any similar protocol which exchanges keep-alive
265
            packets periodically and often enough.
266
            Trying to send a packet passes control into the driver; this is
267
            sufficient to detect and unblock jammed hardware."
268
 
269
        cdl_option CYGNUM_NET_FAST_THREAD_TICKLE_DEVS_DELAY {
270
            display "Delay in kernel clocks of tickle loop"
271
            flavor data
272
            default_value 50
273
            description "
274
                The default is 50, which will usually mean a delay between
275
                tests for 'stuck' devices of 500mS, that is half a second.
276
                The overhead only applies if no network activity occurred,
277
                so it may be acceptable to make this value very small,
278
                where high CPU load does not matter during network idle
279
                periods, or very large if your application tries often to
280
                send packets itself."
281
        }
282
    }
283
 
284
    cdl_component CYGPKG_NET_FREEBSD_STACK_OPTIONS {
285
        display "Networking support build options"
286
        flavor  none
287
        no_define
288
 
289
        cdl_option CYGPKG_NET_FREEBSD_STACK_CFLAGS_ADD {
290
            display "Additional compiler flags"
291
            flavor  data
292
            no_define
293
            default_value { "-D_KERNEL" }
294
            description   "
295
                This option modifies the set of compiler flags for
296
                building the networking package.
297
                These flags are used in addition
298
                to the set of global flags."
299
        }
300
 
301
        cdl_option CYGPKG_NET_FREEBSD_STACK_CFLAGS_REMOVE {
302
            display "Suppressed compiler flags"
303
            flavor  data
304
            no_define
305
            default_value { "" }
306
            description   "
307
                This option modifies the set of compiler flags for
308
                building the networking package. These flags are removed from
309
                the set of global flags if present."
310
        }
311
    }
312
 
313
    cdl_component CYGPKG_NET_FREEBSD_STACK_BUILD_TESTS {
314
        display "Build networking tests (demo programs)"
315
        flavor  bool
316
        no_define
317
        default_value 0
318
        description   "
319
        This option enables the building of additional network tests
320
        which at this time are just demos; otherwise only loopback
321
        interface tests will be built."
322
 
323
        cdl_option CYGPKG_NET_FREEBSD_STACK_TESTS {
324
            display "Networking tests"
325
            flavor  data
326
            no_define
327
            calculated { CYGPKG_NET_BUILD_TESTS ? \
328
                    "tests/mbuf_test \
329
                    tests/socket_test \
330
                    tests/ftp_test \
331
                    tests/server_test \
332
                    tests/nc_test_slave \
333
                    tests/tftp_client_test \
334
                    tests/tftp_server_test \
335
                    tests/tcp_echo \
336
                    tests/set_mac_address \
337
                    tests/bridge \
338
                    tests/flood \
339
                    tests/ping_test \
340
                    tests/dhcp_test \
341
                    tests/ping_lo_test \
342
                    tests/tcp_lo_test \
343
                    tests/udp_lo_test \
344
                    tests/multi_lo_select \
345
                    tests/tcp_lo_select"
346
            :
347
                    "tests/ping_lo_test \
348
                    tests/tcp_lo_test \
349
                    tests/udp_lo_test \
350
                    tests/multi_lo_select \
351
                    tests/tcp_lo_select"
352
        }
353
            description   "
354
            This option specifies the set of tests
355
            for the networking package."
356
        }
357
    }
358
}

powered by: WebSVN 2.1.0

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