% $RCSfile: test.tex,v $
%
% $Log: test.tex,v $
% Revision 1.4  1997/06/06 23:26:39  llp
% made consistent with code
%
% Revision 1.3  1997/06/04 17:10:00  llp
% cleaned up a bit
%
% Revision 1.2  1996/02/02 00:04:22  slm
% Updated copyright and version.
%
% Revision 1.1  1995/07/28  21:21:43  slm
% Initial revision
%
% Revision 1.3.1.3.1.1  1994/10/21  00:00:45  hkaram
% New branch
%
% Revision 1.3.1.3  1994/08/02  23:55:43  davidm
% Sectioning commands now use \protspec and \topic so latex2html has
% an easier time.
%
% Revision 1.3.1.2  1994/07/05  00:42:34  ho
% Indexed.
%
% Revision 1.3.1.1  1994/06/11  15:58:24  menze
% Added reference label
%
%

\subsection{TEST}
\index{test}
\label{TEST}

\topic{NAME}
TEST (instantiated as 'chantest', 'udptest', etc.)

\topic{SPECIFICATION}

\noindent 
The test protocol, usually running a simple a ``ping-pong'' test of the
 protocol below it, for various message lengths and number of round trips.

\topic{SYNOPSIS}

\noindent 
Transport test protocols run in one of two roles, either as ``client''
or as ``server.''  In most cases, the client will send a message to
the server and wait for a reply before sending the next message.
There are no provisions for retransmission: if the protocol below
the test protocol drops a message, the test will fail.

\topic{CONFIGURATION}

\noindent 
When the test protocol instantiates, it can determine which role it
should assume in several ways.  Command line parameters can be used to
cause the same kernel to run as the server on one machine and as the
client on another.  The server should be started up with a ``-s''
flag:

\begin{quote}
\begin{tt}
xkernel -s
\end{tt}
\end{quote}

The client side must be told the host address of the server peer (note
that on the sunos platform, this should be the address of the
simulated IP host.)  This can be done with the ``-c'' command line
option, e.g.:

\begin{quote}
\begin{tt}
xkernel -c192.12.69.54
\end{tt}
\end{quote}

The number of round trips for each packet size can be set with the
``trips'' flag:

\begin{quote}
\begin{tt}
xkernel -trips=10000
\end{tt}
\end{quote}

The test protocols all use the common trace variable {\tt prottest}
which can be set in the third section of graph.comp:

\begin{quote}
\begin{verbatim}
@;
...
name=udptest    protocols=udp;
@;
name=prottest   trace=TR_EVENTS;
\end{verbatim}
\end{quote}

\noindent
If you set a trace level when you declare the test protocol in the
second section of graph.comp, it will be ignored.

\topic{CAVEATS}
Remember that if you are using {\em simeth} you must use the name of
the {\em simulated} host when you invoke the client, not the real host.
