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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [ecos-2.0/] [packages/] [net/] [tcpip/] [v2_0/] [cdl/] [openbsd_net.cdl] - Blame information for rev 1773

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

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

powered by: WebSVN 2.1.0

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