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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [net/] [tcpip/] [current/] [cdl/] [openbsd_net.cdl] - Blame information for rev 856

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

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      openbsd_net.cdl
4
#
5
#      Networking configuration data
6
#
7
# ====================================================================
8
# ####ECOSPDCOPYRIGHTBEGIN####
9
# -------------------------------------------
10
# This file is part of eCos, the Embedded Configurable Operating System.
11
# Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
12
#
13
# Permission is granted to use, copy, modify and redistribute this
14
# file.
15
#
16
# -------------------------------------------
17
# ####ECOSPDCOPYRIGHTEND####
18
# ====================================================================
19
######DESCRIPTIONBEGIN####
20
#
21
# Author(s):      gthomas
22
# Original data:  gthomas
23
# Contributors:
24
# Date:           1999-11-29
25
#
26
#####DESCRIPTIONEND####
27
#
28
# ====================================================================
29
 
30
cdl_package CYGPKG_NET_OPENBSD_STACK {
31
    display       "OpenBSD TCP/IP Stack"
32
    parent        CYGPKG_NET
33
    doc           ref/tcpip-openbsd.html
34
    include_dir   .
35
    requires      CYGPKG_IO
36
    requires      CYGPKG_ISOINFRA
37
    requires      CYGINT_ISO_C_TIME_TYPES
38
    requires      CYGINT_ISO_STRERROR
39
    requires      CYGINT_ISO_ERRNO
40
    requires      CYGINT_ISO_ERRNO_CODES
41
    requires      CYGINT_ISO_MALLOC
42
    requires      CYGINT_ISO_STRING_BSD_FUNCS
43
    description   "Basic networking support, including TCP/IP."
44
 
45
    implements    CYGPKG_NET_STACK
46
    implements    CYGPKG_NET_STACK_INET
47
    # Note: separating the stack implementation from the common support leads
48
    # to some rather incestious config file relationships.
49
    define_proc {
50
        puts $::cdl_system_header "/***** Networking stack proc output start *****/"
51
        puts $::cdl_header "#include "
52
        puts $::cdl_system_header "#define CYGDAT_NET_STACK_CFG "
53
        puts $::cdl_system_header "/***** Networking stack proc output end *****/"
54
    }
55
 
56
 
57
    # Export our types to 
58
    implements    CYGINT_ISO_BSDTYPES
59
    requires      { CYGBLD_ISO_BSDTYPES_HEADER == "" }
60
 
61
    compile ecos/support.c \
62
        ecos/synch.c \
63
        ecos/timeout.c \
64
        ecos/init.cxx \
65
        sys/kern/uipc_mbuf.c \
66
        sys/kern/uipc_domain.c \
67
        sys/kern/uipc_socket.c \
68
        sys/kern/uipc_socket2.c \
69
        sys/kern/kern_subr.c \
70
        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/ip_id.c \
85
        sys/netinet/ip_icmp.c \
86
        sys/netinet/ip_input.c \
87
        sys/netinet/ip_output.c \
88
        sys/netinet/if_ether.c \
89
        sys/netinet/udp_usrreq.c \
90
        sys/netinet/tcp_input.c \
91
        sys/netinet/tcp_output.c \
92
        sys/netinet/tcp_subr.c \
93
        sys/netinet/tcp_debug.c \
94
        sys/netinet/tcp_usrreq.c \
95
        sys/netinet/tcp_timer.c
96
 
97
    cdl_option CYGPKG_NET_API_LOCAL {
98
        display "Implement the socket API locally"
99
        flavor bool
100
        active_if !CYGPKG_IO_FILEIO
101
        default_value 1
102
        implements CYGINT_ISO_SELECT
103
 
104
        compile sys/kern/uipc_syscalls.c \
105
        sys/kern/sys_socket.c \
106
        sys/kern/sys_generic.c \
107
        lib/socket.c \
108
        lib/close.c \
109
        lib/read.c \
110
        lib/write.c \
111
        lib/bind.c \
112
        lib/connect.c \
113
        lib/accept.c \
114
        lib/listen.c \
115
        lib/shutdown.c \
116
        lib/sendto.c \
117
        lib/recvfrom.c \
118
        lib/recv.c \
119
        lib/getsockname.c \
120
        lib/getpeername.c \
121
        lib/getsockopt.c \
122
        lib/setsockopt.c \
123
        lib/ioctl.c \
124
        lib/select.c
125
 
126
        description "
127
            This option controls support for the network-stack supplied
128
            API."
129
    }
130
 
131
    cdl_option CYGPKG_NET_API_FILEIO {
132
        display "Implement the socket API via Fileio package"
133
        active_if CYGPKG_IO_FILEIO
134
        default_value 1
135
 
136
        compile -library=libextras.a sys/kern/sockio.c
137
 
138
        description "
139
            This option controls support for the fileio subsystem supplied API."
140
    }
141
 
142
    cdl_component CYGPKG_NET_OPENBSD_INET {
143
        display       "INET support"
144
        active_if     CYGPKG_NET_INET
145
        flavor        bool
146
        no_define
147
        default_value 1
148
        description   "
149
            This option enables support for INET (IP) network processing."
150
 
151
# Placeholder only - not implemented yet
152
##        cdl_option CYGPKG_NET_OPENBSD_INET6 {
153
##            display       "IPv6 support"
154
##            active_if     CYGPKG_NET_INET6
155
##            flavor        bool
156
##            default_value 0
157
##            description   "
158
##                This option enables support for IPv6 networking."
159
##        }
160
    }
161
 
162
#    cdl_option CYGPKG_NET_SYSCTL {
163
#        display "Support BSD 'sysctl()' function"
164
#        flavor  bool
165
#        default_value 0
166
#        description   "
167
#            This option includes support for the 'sysctl()' functions."
168
#    }
169
 
170
    cdl_option CYGPKG_NET_NBPF {
171
        display "Number of BPF filters"
172
        flavor  data
173
        default_value 0
174
# Placeholder only - not implemented yet
175
        legal_values  0
176
# Placeholder only - not implemented yet
177
        description   "
178
            This option controls the number of active BPF filters."
179
        define NBPFILTER
180
    }
181
 
182
    cdl_component CYGPKG_NET_BRIDGE {
183
         display "Built-in ethernet bridge code"
184
         default_value 0
185
         implements CYGINT_NET_BRIDGE_HANDLER
186
     no_define
187
         description   "
188
             This option controls whether to include the built-in code for
189
             the Ethernet bridge."
190
     compile sys/net/if_bridge.c \
191
             sys/net/bridgestp.c
192
 
193
         cdl_option CYGNUM_NET_BRIDGES {
194
             display "Number of Ethernet bridges"
195
             flavor  data
196
             default_value 1
197
             legal_values 1 to 999999
198
         }
199
 
200
         cdl_option CYGPKG_NET_BRIDGE_STP_CODE {
201
             display "Include code for Spanning Tree Protocol"
202
             default_value 0
203
             description "
204
                 This option controls whether to include the code for
205
                 the Spanning Tree Protocol on Ethernet bridge."
206
         }
207
    }
208
 
209
    cdl_interface CYGINT_NET_BRIDGE_HANDLER {
210
        display "Support for ethernet bridges in the IP stack"
211
        define NBRIDGE
212
            description "
213
              This interface controls whether calls to bridge code are made
214
              from the IP stack; these are needed if the built-in bridge code
215
              is used, but they can also be enabled in order to call different
216
              bridge code from an external component."
217
    }
218
 
219
    cdl_option CYGPKG_NET_NGIF {
220
        display "Number of GIF things"
221
        flavor  data
222
        default_value 0
223
# Placeholder only - not implemented yet
224
        legal_values  0
225
# Placeholder only - not implemented yet
226
        description   "
227
            This option controls the number of active GIF things."
228
        define NGIF
229
    }
230
 
231
    cdl_option CYGPKG_NET_NLOOP {
232
        display "Number of loopback interfaces"
233
        flavor  data
234
        default_value 1
235
        requires { (CYGPKG_NET_NLOOP > 1) ? CYGPKG_LIBC_STDIO : 1  }
236
        description   "
237
            This option controls the number of loopback, i.e. local, interfaces.
238
            There is seldom need for this value to be anything other than one.
239
            If a different value is required, then the C library STDIO package
240
            is required for sprintf()."
241
        define NLOOP
242
    }
243
 
244
    cdl_option CYGPKG_NET_MEM_USAGE {
245
        display "Memory designated for networking buffers."
246
        flavor  data
247
        default_value 256*1024
248
        description   "
249
            This option controls the amount of memory pre-allocated
250
        for buffers used by the networking code."
251
    }
252
 
253
    cdl_option CYGPKG_NET_NUM_WAKEUP_EVENTS {
254
        display "Number of supported pending network events"
255
        flavor  data
256
        default_value 8
257
        description   "
258
            This option controls the number of pending network events
259
        used by the networking code."
260
    }
261
 
262
    cdl_option CYGPKG_NET_THREAD_PRIORITY {
263
        display "Priority level for backgound network processing."
264
        flavor  data
265
        default_value 7
266
        description   "
267
            This option allows the thread priority level used by the
268
        networking stack to be adjusted by the user.  It should be set
269
        high enough that sufficient CPU resources are available to
270
        process network data, but may be adjusted so that application
271
        threads can have precedence over network processing."
272
    }
273
 
274
    cdl_option CYGPKG_NET_FAST_THREAD_PRIORITY {
275
        display "Priority level for fast network processing."
276
        flavor  data
277
        default_value CYGPKG_NET_THREAD_PRIORITY - 1
278
        description   "
279
            This option sets the thread priority level used by the fast
280
        network thread.  The fast network thread runs often but briefly, to
281
        service network device interrupts and network timeout events.  This
282
        thread should have higher priority than the background network
283
        thread.  It is reasonable to set this thread's priority higher than
284
        application threads for best network throughput, or to set it lower
285
        than application threads for best latency for those application
286
        threads themselves, potentially at a cost to network throughput."
287
    }
288
 
289
    cdl_component CYGPKG_NET_FAST_THREAD_TICKLE_DEVS {
290
        display "Fast network processing thread 'tickles' drivers"
291
        default_value 1
292
        description "
293
            If this is enabled, the fast network thread will tickle the
294
            device(s) periodically, to unblock them when the hardware has
295
            become wedged due to a lost interrupt or other hardware
296
            race-condition type problem.
297
            This is not necessary if a networked app is running which sends
298
            packets itself often - or
299
            uses TCP, or any similar protocol which exchanges keep-alive
300
            packets periodically and often enough.
301
            Trying to send a packet passes control into the driver; this is
302
            sufficient to detect and unblock jammed hardware."
303
 
304
        cdl_option CYGNUM_NET_FAST_THREAD_TICKLE_DEVS_DELAY {
305
            display "Delay in kernel clocks of tickle loop"
306
            flavor data
307
            default_value 50
308
            description "
309
                The default is 50, which will usually mean a delay between
310
                tests for 'stuck' devices of 500mS, that is half a second.
311
                The overhead only applies if no network activity occurred,
312
                so it may be acceptable to make this value very small,
313
                where high CPU load does not matter during network idle
314
                periods, or very large if your application tries often to
315
                send packets itself."
316
        }
317
    }
318
 
319
    cdl_component CYGPKG_NET_OPENBSD_STACK_OPTIONS {
320
        display "Networking support build options"
321
        flavor  none
322
        no_define
323
 
324
        cdl_option CYGPKG_NET_OPENBSD_STACK_CFLAGS_ADD {
325
            display "Additional compiler flags"
326
            flavor  data
327
            no_define
328
            default_value { "-D_KERNEL -D__ECOS -D__INSIDE_NET" }
329
            description   "
330
                This option modifies the set of compiler flags for
331
                building the networking package.
332
                These flags are used in addition
333
                to the set of global flags."
334
        }
335
 
336
        cdl_option CYGPKG_NET_OPENBSD_STACK_CFLAGS_REMOVE {
337
            display "Suppressed compiler flags"
338
            flavor  data
339
            no_define
340
            default_value { "" }
341
            description   "
342
                This option modifies the set of compiler flags for
343
                building the networking package. These flags are removed from
344
                the set of global flags if present."
345
        }
346
    }
347
}

powered by: WebSVN 2.1.0

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