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

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.