Stress Test: cl3se3_6

### TEST NAME

> cl3se3 - TCP test on IPv6

### SYNOPSIS

> `sh se3_6` [ `-c` connections ] [ `-p` port ] servername

> `sh cl3_6` [ `-c` connections ] [ `-p` port ] servername

### DESCRIPTION

> `cl3se3_6` is a TCP IPv6 test that transmits a complex pattern from a client to a server by using the TCP protocol. The server receives and verifies the data.

> On the client side only, use the `RUNTIME` environment variable to specify, in seconds, the duration of the test.

### OPTIONS

> `-c` connections
>   Specify the number of connections to make or accept. The values may be different on the client and the server if, for example, you want 20 instances on one server, and 10 instances on each of two clients. Defaults to 1.

> `-p` port
>   The TCP port to use for connections. Defaults to 4004.

### OPERANDS

> servername
>   Either a local host name or the IPv6 address of a machine. On the client side, servername is the host to which to connect. On the server side, servername is the address to which to listen. If a host name is specified, that host name must appear in `/etc/inet/ipnodes` along with the remote machine's IPv6 address. The servername operand is optional for the server. It defaults to the value returned by `gethostname`(3C).

### USAGE VARIABLES

> `RUNTIME`
>   Specifies, in seconds, the duration of the test. This environment variable is required only on the client side.

### SETUP

> You need two machines connected by a network, either back-to-back, or through a hub or switch.

### OUTPUT

> The server initially produces a single line indicating the IP address and port to which it is bound and listening. As each incoming connection is received, the IP address that corresponds to the incoming connection is displayed.

> After the expected number of incoming connections has been received, the output shows that it is waiting for the child processes (one per connection) to complete.

> Similarly, the client indicates to which server it will attempt to connect and displays each process as it starts.

> Finally, each child process completes and displays the number of blocks (each of size 65 Kbytes), and the exit status is reported (normally zero).

### DURATION

> 24 hours

### POSSIBLE CONCURRENT TESTS

> This test can run concurrently with `lsalr_6`, `mpflip`, `scp_6`, spray_6, and `ftpstress_6`.

### NOTES

> - The `cl3_6` test should be run on the client side. The `se3_6` test represents the server version.

> - When you run the test, initiate the server side process before the client process. Otherwise, the test fails.

### EXAMPLES

> On the server side:

> >     # ./se3_6  quanyu
> >     Server quanyu port 4004 is bound
> >     Waiting for child processes...
> >     EOF 59 secs, 63992 blocks
> >     Process 15459 terminated, status 0
> >     EOF 30 secs, 77 blocks
> >     Process 4688 terminated, status 0
> >     !PASS: No failures detected on IPv6

> On the client side:

> >     # env RUNTIME-60 ./cl3_6 quanyu
> >     Client 0 connected - starting to transmit
> >     Waiting for child processes...
> >     client 0: No errors after 60 seconds - sent 63992 blocks
> >     Process 1798 terminated, status 0
> >     !PASS: No failures detected on IPv6

### REFERENCES

> `read`(2), `write`(2), `hosts`(4), `tcp`(7P)

Copyright 2005 Sun Microsystems, Inc. All rights reserved.