• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2NOTE:
3
4Physical Topology
5=================
6
7These tests require two machines. And each machine needs to have 2 or more
8interfaces. These tests assume that they run on the following topology.
9
10                              Control Link
11                +------------------------------------+
12                |                                    |
13        +-------+-------+                    +-------+-------+
14        |               +---- Test Link 0 ---+               |
15        |  Local Host   +          :         +  Remote Host  |
16        |               +---- Test Link n ---+               |
17        +---------------+                    +---------------+
18
19Control Link is used by the local host to control the remote host.
20`control' means, for example, changing the setting of the interfaces that are
21connected to the test links. The setting of the interfaces connected to the
22control link is never changed.
23
24Test Links are the place where the stress tests run. For example, test packets
25flow those links. The number of test links must be at least 1. The setting of
26the interfaces connected to the test links would be changed by the tests.
27Therefore, each test link should not belong to any external network. It is
28recommended to connect each pair of interfaces with the ether cross cables.
29
30Currently, different NIC testcases for ICMP/UDP/TCP/Multicast require plural
31test links.  Other testcases uses only 1 test link. (Test Link 0)
32
33
34
35Installation
36============
37
38Like the other network tests, the remote host must have the LTP installed
39in the same exact location as the local host have. Please refer the `Detailed
40Installation 5.' section in INSTALL.
41
42
43
44Execution
45=========
46
47To run the network stress testcases, use network.sh script, located in
48testscripts directory. For documentation about using network.sh see INSTALL
49and testcases/network/README.md
50
51Unfortunately some stress tests still depend on rsh for accessing remote host, even
52you decide to use SSH or network namespaces with network.sh.
53Instead of rsh, you can use ssh to set the environment variable LTP_RSH.
54Please refer the `Environment Variable' section of this document.
55
56The behaviour of network stress tests is configurable with environment
57variables (See `Environment Variable' section).
58
59
60Attention for HTTP/FTP stress tests
61===================================
62
63When you run http or ftp stress tests, you have to start http or ftp server
64before running the tests.
65About ssh and dns tests, you don't need to run the ssh or dns server.  Each
66test runs named or sshd automatically.
67
68Those tests requires that the remote host has `curl' command in order to
69upload/download files to/from the local host.
70
71When you run the ftp upload tests, please make sure the local host have
72enough disk space to upload somes files. The size of file is able to
73specify the environment variable (See `Environment Variable' section).
74
75
76Environment Variable
77====================
78
79The nestwork stress testcases require the following environment variables:
80
81  RHOST
82  LHOST_HWADDRS
83  RHOST_HWADDRS
84  HTTP_DOWNLOAD_DIR	(for http stress test)
85  FTP_DOWNLOAD_DIR	(for ftp stress test)
86  FTP_UPLOAD_DIR	(for ftp stress test)
87  FTP_UPLOAD_URLDIR	(for ftp stress test)
88
89You are able to configure the behavior of the testcases with the following
90environment variables:
91
92  LTP_RSH
93  NS_DURATION		(for the continual test)
94  NS_TIMES		(for the repetition test)
95  CONNECTION_TOTAL	(for creating a large number of connection test)
96  IP_TOTAL		(for adding large number of IP address test)
97  IP_TOTAL_FOR_TCPIP	(for multi IP address/alias test in icmp/udp/tcp)
98  ROUTE_TOTAL		(for adding large number of route test)
99  MTU_CHANGE_TIMES	(for changing mtu test)
100  IF_UPDOWN_TIMES	(for interface up/down test)
101  MCASTNUM_NORMAL	(for multicast test)
102  MCASTNUM_HEAVY	(for multicast test)
103  DOWNLOAD_BIGFILESIZE	(for http/ftp downloading stress test)
104  DOWNLOAD_REGFILESIZE	(for http/ftp downloading stress test)
105  UPLOAD_BIGFILESIZE	(for ftp uploading stress test)
106  UPLOAD_REGFILESIZE	(for ftp uploading stress test)
107
108In these value, NS_DURATION is important if you'd like to reduce the test time.
109
110Required environment variables
111------------------------------
112
113 o RHOST
114   The host name of the remote host to access it via the control link.
115
116 o LHOST_HWADDRS
117   The blank-separated hardware address list of the interfaces which are
118   connected to a test link at the local host.
119   This value have to have at least one address. The sequence of the hardware
120   address have to be same to the test link sequence.
121
122 o RHOST_HWADDRS
123   The blank-separated hardware address list of the interfaces which are
124   connected to a test link at the remote host.
125   This value have to have at least one address. The sequence of the hardware
126   address have to be same to the test link sequence.
127
128 o HTTP_DOWNLOAD_DIR (for http stress test)
129   The directory out of which the http server will serve the documents.
130   In the apache case, the value of this variable is same as DocumentRoot
131   value in httpd.conf
132
133 o FTP_DOWNLOAD_DIR (for ftp stress test)
134   The directory out of which the ftp server will serve the files.
135
136 o FTP_UPLOAD_DIR (for ftp stress test)
137   The directory which the ftp server will store the uploaded files.
138
139 o FTP_UPLOAD_URLDIR (for ftp stress test)
140   The directory part of URL where the client specifys to upload.
141   Namely, when the URL to upload is ftp://ltp.sourceforge.net/upload ,
142   /upload is the value to set the environment variable.
143
144
145Optional environment variables
146------------------------------
147
148 o LTP_RSH
149   The name of the remote shell command, namely rsh or ssh.
150   In ether case, the remote host must accept the login from the local host
151   without password.
152
153 o NS_DURATION (for the continual test)
154   The duration of the continual test. The time unit is `second'.
155   This variable affects all icmp/tcp/udp tests. The number of the testcase
156   in them is big. Therefore, the test time is reduced when you set small
157   value to the this variable.
158   Except icmp/tcp/udp tests, this variable affects ssh, ftp and http tests.
159
160 o NS_TIMES (for the repetition test)
161   The number of repetition times for the repetition tests.
162   This value affects IP adress add/del testcase, IP address change testcase
163   route add/del testcase and dns query tests.
164
165 o CONNECTION_TOTAL (for creating a large number of connection test)
166   The total number of connection when the testcase requires plural connection.
167   This value affects udp/tcp multi-connection to the same/different port
168   testcases, ftp and http testcases.
169
170 o IP_TOTAL		(for adding large number of IP address test)
171   The total number of IP address to add an interface.
172   This value affect interface tests to add large number of IP address.
173
174 o IP_TOTAL_FOR_TCPIP	(for multi IP address/alias test in icmp/udp/tcp)
175   The total number of IP address to add an interface for TCP/IP testcases.
176   This value affects udp/tcp multi-connection to the different IP
177   address/alias testcases.
178
179 o ROUTE_TOTAL		(for adding large number of route test)
180   The total number of route to add an interface.
181   This value affect interface tests to add large number of route.
182
183 o MTU_CHANGE_TIMES	(for changing mtu test)
184   The times of change the mtu value of an interface. The interval of
185   changing mtu is 5 seconds. Therefore, mtu changing tests requires
186   5 x MTU_CHANGE_TIMES [sec].
187   This value affect interface tests of changing mtu.
188
189 o IF_UPDOWN_TIMES	(for interface up/down test)
190   The up/down times of the interface tests. To up/down an interface takes
191   time. If you specify 10,000 into this value, it takes 6 hours.
192   This value affect interface tests of upping/down the interface.
193
194 o MCASTNUM_NORMAL	(for multicast tests)
195   The number of multicast group to join. This variable is used for
196   the stress test after joining some multicast groups. It is not the
197   main target for joining lots of multicast.
198
199 o MCASTNUM_HEAVY	(for multicast tests)
200   The number of multicast group to join. This variable is used for
201   the stress test for joining lots of multicast group. This value is the
202   limit of the joining multicast group.
203
204 o DOWNLOAD_BIGFILESIZE	(for http/ftp downloading stress test)
205   The file size of the downloading large size file tests.
206   This value affects ftp download and http tests.
207
208 o DOWNLOAD_REGFILESIZE	(for http/ftp downloading stress test)
209   The file size of the downloading file by many clients.
210   This value affects ftp download and http tests.
211
212 o UPLOAD_BIGFILESIZE	(for ftp uploading stress test)
213   The file size of the uploading large size file tests.
214   The server must have UPLOAD_BIGFILESIZE as free disk space.
215   This value affects ftp upload tests.
216
217 o UPLOAD_REGFILESIZE	(for ftp uploading stress test)
218   The file size of the downloading file by many clients.
219   The server must have UPLOAD_REGFILESIZE x CONNECTION_NUM as free disk space.
220   This value affects ftp download and http tests.
221
222--- Mitsuru Chinen <mitch@jp.ibm.com>
223