<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
<html>
|
<html>
|
<head>
|
<head>
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; U; Linux 2.2.10 i686) [Netscape]">
|
<meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; U; Linux 2.2.10 i686) [Netscape]">
|
</head>
|
</head>
|
<body>
|
<body>
|
|
|
<center>
|
<center>
|
<h1>
|
<h1>
|
TCP/IP Networking for eCos</h1></center>
|
TCP/IP Networking for eCos</h1></center>
|
eCos now provides a complete TCP/IP networking stack. This package
|
eCos now provides a complete TCP/IP networking stack. This package
|
was derived from the latest stable release of <a href="http://www.openbsd.org/">OpenBSD</a>.
|
was derived from the latest stable release of <a href="http://www.openbsd.org/">OpenBSD</a>.
|
At this time, the networking support is considered "beta" quality although
|
At this time, the networking support is considered "beta" quality although
|
it is already fully featured and well tested within the eCos environment.
|
it is already fully featured and well tested within the eCos environment.
|
<p>Ethernet drivers are provided for these standard supported platforms:
|
<p>Ethernet drivers are provided for these standard supported platforms:
|
<blockquote>
|
<blockquote>
|
<li>
|
<li>
|
Motorola PowerPC MBX/860</li>
|
Motorola PowerPC MBX/860</li>
|
|
|
<li>
|
<li>
|
Cirrus Logic EDB72xx</li>
|
Cirrus Logic EDB72xx</li>
|
</blockquote>
|
</blockquote>
|
Other drivers for supported platforms are planned or underway.
|
Other drivers for supported platforms are planned or underway.
|
<h4>
|
<h4>
|
Networking Stack Features</h4>
|
Networking Stack Features</h4>
|
Since this networking package is based on the venerable BSD code, it is
|
Since this networking package is based on the venerable BSD code, it is
|
very complete and robust. The eCos implementation includes support
|
very complete and robust. The eCos implementation includes support
|
for these protocols:
|
for these protocols:
|
<blockquote>
|
<blockquote>
|
<li>
|
<li>
|
IPv4</li>
|
IPv4</li>
|
|
|
<li>
|
<li>
|
UDP</li>
|
UDP</li>
|
|
|
<li>
|
<li>
|
TCP</li>
|
TCP</li>
|
|
|
<li>
|
<li>
|
ICMP</li>
|
ICMP</li>
|
|
|
<li>
|
<li>
|
raw packet interface</li>
|
raw packet interface</li>
|
</blockquote>
|
</blockquote>
|
These additional features are also present in the package. However
|
These additional features are also present in the package. However
|
they are not yet supported:
|
they are not yet supported:
|
<blockquote>
|
<blockquote>
|
<li>
|
<li>
|
Berkeley Packet Filter</li>
|
Berkeley Packet Filter</li>
|
|
|
<li>
|
<li>
|
Multi-cast and uni-cast support, including multi-casting routing</li>
|
Multi-cast and uni-cast support, including multi-casting routing</li>
|
|
|
<li>
|
<li>
|
IPv6</li>
|
IPv6</li>
|
</blockquote>
|
</blockquote>
|
|
|
<h4>
|
<h4>
|
Provided Documentation</h4>
|
Provided Documentation</h4>
|
Since the networking package is "beta", documentation is still a bit thin.
|
Since the networking package is "beta", documentation is still a bit thin.
|
However, you will find a complete set of pages documenting the supported
|
However, you will find a complete set of pages documenting the supported
|
networking functions (user code API) <a href="tcpip_library.html">here</a>.
|
networking functions (user code API) <a href="tcpip_library.html">here</a>.
|
<h4>
|
<h4>
|
Ethernet Driver Design</h4>
|
Ethernet Driver Design</h4>
|
Note: Currently, the networking stack only supports ethernet based networking.
|
Note: Currently, the networking stack only supports ethernet based networking.
|
<p>The network drivers use a two-layer design. One layer is hardware
|
<p>The network drivers use a two-layer design. One layer is hardware
|
independent but contains all the stack specific code. The other layer
|
independent but contains all the stack specific code. The other layer
|
is platform dependent and communicates with the hardware independent layer
|
is platform dependent and communicates with the hardware independent layer
|
via a very simple API. In this way, hardware device drivers can actually
|
via a very simple API. In this way, hardware device drivers can actually
|
be used with other stacks, if the same API can be provided by that stack.
|
be used with other stacks, if the same API can be provided by that stack.
|
We designed the drivers this way to encourage the development of other
|
We designed the drivers this way to encourage the development of other
|
stacks in eCos while allowing reuse of the actual hardware specific code.
|
stacks in eCos while allowing reuse of the actual hardware specific code.
|
<p>Complete documentation of the ethernet device driver and the associated
|
<p>Complete documentation of the ethernet device driver and the associated
|
API can be found in the file <tt>net/drivers/eth/common/<i>version</i>/doc/driver_doc</tt>.
|
API can be found in the file <tt>net/drivers/eth/common/<i>version</i>/doc/driver_doc</tt>.
|
<h4>
|
<h4>
|
Sample Code</h4>
|
Sample Code</h4>
|
Many examples using the networking support are provided. These are
|
Many examples using the networking support are provided. These are
|
arranged as eCos test programs, primarily for us to verify the package,
|
arranged as eCos test programs, primarily for us to verify the package,
|
but also can serve as useful frameworks for program design. We have
|
but also can serve as useful frameworks for program design. We have
|
taken a <i>KISS </i>approach to building programs which use the network.
|
taken a <i>KISS </i>approach to building programs which use the network.
|
A single include file <tt><network.h></tt> is all that is required to
|
A single include file <tt><network.h></tt> is all that is required to
|
access the stack. A complete, annotated test program can be found
|
access the stack. A complete, annotated test program can be found
|
<a href="sample_program.html">here</a>.
|
<a href="sample_program.html">here</a>.
|
<br>
|
<br>
|
<br>
|
<br>
|
</body>
|
</body>
|
</html>
|
</html>
|
|
|