1 |
786 |
skrzyp |
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
2 |
|
|
<html>
|
3 |
|
|
<head>
|
4 |
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
5 |
|
|
<meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; U; Linux 2.2.10 i686) [Netscape]">
|
6 |
|
|
</head>
|
7 |
|
|
<body>
|
8 |
|
|
|
9 |
|
|
<center>
|
10 |
|
|
<h1>
|
11 |
|
|
TCP/IP Networking for eCos</h1></center>
|
12 |
|
|
eCos now provides a complete TCP/IP networking stack. This package
|
13 |
|
|
was derived from the latest stable release of <a href="http://www.openbsd.org/">OpenBSD</a>.
|
14 |
|
|
At this time, the networking support is considered "beta" quality although
|
15 |
|
|
it is already fully featured and well tested within the eCos environment.
|
16 |
|
|
<p>Ethernet drivers are provided for these standard supported platforms:
|
17 |
|
|
<blockquote>
|
18 |
|
|
<li>
|
19 |
|
|
Motorola PowerPC MBX/860</li>
|
20 |
|
|
|
21 |
|
|
<li>
|
22 |
|
|
Cirrus Logic EDB72xx</li>
|
23 |
|
|
</blockquote>
|
24 |
|
|
Other drivers for supported platforms are planned or underway.
|
25 |
|
|
<h4>
|
26 |
|
|
Networking Stack Features</h4>
|
27 |
|
|
Since this networking package is based on the venerable BSD code, it is
|
28 |
|
|
very complete and robust. The eCos implementation includes support
|
29 |
|
|
for these protocols:
|
30 |
|
|
<blockquote>
|
31 |
|
|
<li>
|
32 |
|
|
IPv4</li>
|
33 |
|
|
|
34 |
|
|
<li>
|
35 |
|
|
UDP</li>
|
36 |
|
|
|
37 |
|
|
<li>
|
38 |
|
|
TCP</li>
|
39 |
|
|
|
40 |
|
|
<li>
|
41 |
|
|
ICMP</li>
|
42 |
|
|
|
43 |
|
|
<li>
|
44 |
|
|
raw packet interface</li>
|
45 |
|
|
</blockquote>
|
46 |
|
|
These additional features are also present in the package. However
|
47 |
|
|
they are not yet supported:
|
48 |
|
|
<blockquote>
|
49 |
|
|
<li>
|
50 |
|
|
Berkeley Packet Filter</li>
|
51 |
|
|
|
52 |
|
|
<li>
|
53 |
|
|
Multi-cast and uni-cast support, including multi-casting routing</li>
|
54 |
|
|
|
55 |
|
|
<li>
|
56 |
|
|
IPv6</li>
|
57 |
|
|
</blockquote>
|
58 |
|
|
|
59 |
|
|
<h4>
|
60 |
|
|
Provided Documentation</h4>
|
61 |
|
|
Since the networking package is "beta", documentation is still a bit thin.
|
62 |
|
|
However, you will find a complete set of pages documenting the supported
|
63 |
|
|
networking functions (user code API) <a href="tcpip_library.html">here</a>.
|
64 |
|
|
<h4>
|
65 |
|
|
Ethernet Driver Design</h4>
|
66 |
|
|
Note: Currently, the networking stack only supports ethernet based networking.
|
67 |
|
|
<p>The network drivers use a two-layer design. One layer is hardware
|
68 |
|
|
independent but contains all the stack specific code. The other layer
|
69 |
|
|
is platform dependent and communicates with the hardware independent layer
|
70 |
|
|
via a very simple API. In this way, hardware device drivers can actually
|
71 |
|
|
be used with other stacks, if the same API can be provided by that stack.
|
72 |
|
|
We designed the drivers this way to encourage the development of other
|
73 |
|
|
stacks in eCos while allowing reuse of the actual hardware specific code.
|
74 |
|
|
<p>Complete documentation of the ethernet device driver and the associated
|
75 |
|
|
API can be found in the file <tt>net/drivers/eth/common/<i>version</i>/doc/driver_doc</tt>.
|
76 |
|
|
<h4>
|
77 |
|
|
Sample Code</h4>
|
78 |
|
|
Many examples using the networking support are provided. These are
|
79 |
|
|
arranged as eCos test programs, primarily for us to verify the package,
|
80 |
|
|
but also can serve as useful frameworks for program design. We have
|
81 |
|
|
taken a <i>KISS </i>approach to building programs which use the network.
|
82 |
|
|
A single include file <tt><network.h></tt> is all that is required to
|
83 |
|
|
access the stack. A complete, annotated test program can be found
|
84 |
|
|
<a href="sample_program.html">here</a>.
|
85 |
|
|
<br>
|
86 |
|
|
<br>
|
87 |
|
|
</body>
|
88 |
|
|
</html>
|