]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/net/tcpip/v2_0/doc/tcpip_tests.html
Initial revision
[karo-tx-redboot.git] / packages / net / tcpip / v2_0 / doc / tcpip_tests.html
1 <!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; I; Linux 2.2.14 ppc) [Netscape]">
6 </head>
7 <body>
8
9 <center>
10 <h1>
11 eCos TCP/IP Networking Tests and Examples</h1></center>
12 A number of test/example programs are currently provided with the TCP/IP
13 networking package.&nbsp; These are not "tests" in the traditional eCos
14 test suite sense, but rather simple programs which exercise various parts
15 of the networking stack.&nbsp; Also included are a set of performance tests,
16 used to measure throughput and latency in an embedded eCos system.
17 <p>The following paragraphs list the various tests and how they might be
18 used.&nbsp;&nbsp; They are enumerated in the order in which they should
19 be run to verify a system configuration.
20 <p>Note: none of these tests are built by default.&nbsp; The user must
21 enable the <b><tt>CYGPKG_NET_BUILD_TESTS </tt></b>option and then "<tt>make
22 tests</tt>" to create them for the target environment.&nbsp; Also, these
23 tests require that the hardware interfaces be configured to use either
24 BOOTP or static initialization methods.
25 <h3>
26 mbuf_test.c</h3>
27 This should be the first test run on a new system.&nbsp; It simply tests
28 that the networking system can be initialized and that the internal memory
29 management (used by the stack) is functioning.
30 <h3>
31 socket_test.c</h3>
32 This test exercises some of the basic library interfaces.
33 <h3>
34 server_test.c</h3>
35 This test creates a server process on the target hardware which listens
36 on port TCP/7734.&nbsp; To verify that it is working, try to connect to
37 this port from some other [host] system.&nbsp; E.g. on Linux, use the command
38 "<tt>telnet <i>eCos</i> 7734</tt>", where "<i><tt>eCos</tt></i>" is the
39 name associated with the target hardware.&nbsp; Once connected, the eCos
40 application will respond with a "Hello" message and wait for a single line
41 of input text, which will be displayed on the diagnostic channel of the
42 target system.
43 <h3>
44 ping_test.c</h3>
45 This tests attempts to issue an ICMP "echo" request to the "server" host
46 (provided as part of the BOOTP or static configuration information).&nbsp;
47 The output will be similar to the analogous Linux program, "<tt>ping</tt>".&nbsp;
48 The test program also attempts to ping an additional host whose IP address
49 is the server IP+32.&nbsp; This second test is present to verify that the
50 ICMP (actually <tt>receive</tt>) time-out mechanism is working (assuming
51 that the second host is non-existent).
52 <h3>
53 ftp_test.c</h3>
54 This test attempts to make a connection to an FTP server, assuming the
55 default server host.&nbsp; This is an additional test which verifies that
56 the basic TCP functionality is working.
57 <h3>
58 nc_test_master.c</h3>
59
60 <h3>
61 nc_test_slave.c</h3>
62 This pair of programs can be used to measure throughput and latencies in
63 the target system.&nbsp; While both programs have been written in such
64 a way that they can be built and used on either Linux or eCos, the primary
65 use will be to run the "<tt>nc_test_master</tt>" program on a Linux host
66 and the "<tt>nc_test_slave</tt>" on the target hardware.&nbsp; If run in
67 this configuration, the master program will attempt to connect to the slave
68 and make various measurements using both UDP and TCP protocols.&nbsp; Additionally,
69 measurements will be made on an eCos slave of the actual CPU utilization
70 by the networking stack.
71 <p>To build the Linux versions, simply execute (in the eCos source tree,
72 not the install tree):
73 <blockquote><tt>make -f make.linux</tt></blockquote>
74
75 <h3>
76 tcp_echo.c</h3>
77
78 <h3>
79 tcp_sink.c</h3>
80
81 <h3>
82 tcp_source.c</h3>
83 This set of programs is similar to the <i><tt>nc_test_XXX</tt></i> programs
84 described above.&nbsp; However, they are designed to measure overall throughput
85 of the eCos system.&nbsp; The setup allows for one Linux host to run "<tt>tcp_source
86 <i>eCos</i></tt>" and another Linux host to run "<tt>tcp_sink <i>eCos</i></tt>".&nbsp;
87 The "<tt>tcp_echo</tt>" program is run on the target hardware.&nbsp; The
88 tests then measure the throughput and latency of sending TCP data from
89 one host, though the eCos target system and on to another host.&nbsp; Note:
90 the two Linux host systems may be the same computer in which case this
91 becomes a single wire echo test.&nbsp; This test suite is unique in that
92 it attempts to load the target system down with additional background processing
93 at various levels.&nbsp; This is done to simulate a real world environment
94 where the networking is ancillary to the main processing on the target
95 system.
96 <br>&nbsp;
97 </body>
98 </html>