%
% $RCSfile: ip.tex,v $
%
% $Log: ip.tex,v $
% Revision 1.2  1996/02/02 00:04:22  slm
% Updated copyright and version.
%
% Revision 1.1  1995/07/28  21:17:09  slm
% Initial revision
%
% Revision 1.11.1.1  1994/10/20  23:59:27  hkaram
% New branch
%
% Revision 1.11  1994/08/02  23:55:43  davidm
% Sectioning commands now use \protspec and \topic so latex2html has
% an easier time.
%
% Revision 1.10  1994/07/05  00:42:34  ho
% Indexed.
%
% Revision 1.9  1994/01/12  21:25:12  menze
% Added a section label
%

\subsection{IP}
\index{ip}
\label{IP}

\topic{NAME}
IP (Internet Protocol)

\topic{SPECIFICATION}

\noindent J. Postel. {\it Internet Protocol}. Request for Comments 
768, USC Information Sciences Institute, Marina del Ray, Calif., Aug. 1980.

\topic{SYNOPSIS}

\noindent IP handles fragmentation and routing required in
transmitting messages across heterogeneous interconnected networks.
This implementation is complete, with the exception of some of the
optional header fields.

\topic{REALM}

\noindent
IP is in the ASYNC realm.

\topic{PARTICIPANTS}

\noindent
IP removes a pointer to an IPhost from the top of the stack of each
participant.  If the local participant is missing or if the local
IPhost pointer is ANY\_HOST, IP will select an appropriate local
IPhost.

\topic{CONTROL OPERATIONS}

\begin{description}

\item[{\tt IP\_MYNET:}]
Return local host's IP network number.
This is an IP address with the host
component set to 0.  (session only)
\begin{description}
\item[{\rm Input:}] none
\item[{\rm Output:}] {\tt IPhost}
\end{description}

\item[{\tt IP\_REDIRECT:}] Modifies routing table to use a specified
gateway when delivering packets to a specified IP address.
The first address is for the destination
and the second is for the gateway.  (session or protocol)
\begin{description}
\item[{\rm Input:}] {\tt IPhost[2]}
\item[{\rm Output:}] none
\end{description}

\item[{\tt IP\_GETPSEUDOHDR:}] 
Fills the buffer with a partial IP pseudoheader, containing the
source address, destination address, and the upper protocol type.
The packet length field and the zero-block are both set to zero. 
(session only)
\begin{description}
\item[{\rm Input:}] none
\item[{\rm Output:}] {\tt IPpseudoHdr} 
\end{description}

\item[{\tt IP\_PSEUDOHDR:}] 
Used by protocols that use the IP pseudoheader (e.g., TCP and UDP) to
alert protocols between them and IP that they must not change the
length of packets without worrying about the length field in the
pseudoheader.  IP itself simply absorbs this control operation and
returns.
\begin{description}
\item[{\rm Input:}] none
\item[{\rm Output:}] none
\end{description}

\end{description}

\topic{CONFIGURATION}

\noindent
IP must be configured above VNET:

\begin{verbatim}
         name=ip protocols=vnet;
\end{verbatim}

\medskip

If an explicit route for a remote network is not specified, 
IP will forward packets for that network to a {\em default gateway},
if one has been configured.
The default gateway can be set with a rom file entry of the
form:
\begin{verbatim}
         ip    gateway     127.1.22.11
\end{verbatim}

If no default getway has been configured, or the specified default
gateway can not be reached directly, IP will operate without a default
gateway and ERR\_XOBJ will be returned in cases where a default
gateway would otherwise have been used.

\topic{AUTHORS}

\noindent Clinton Jeffery, David Kays and Ed Menze
