<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<TITLE> The Internet application</TITLE>

<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.04z">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<P>
<A HREF="4_TCPintro"><IMG SRC="pics/PREV.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<A HREF="Front"><IMG SRC="pics/FRONT.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<A HREF="TOC"><IMG SRC="pics/CONTS.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<A HREF="index"><IMG SRC="pics/INDEX.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<A HREF="6_filemap"><IMG SRC="pics/NEXT.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<P>
<H1>5 The Internet application</H1>
<HR>
<P>
This chapter tells you how to set an IP address. It also gives
you information about a variety of modules and * commands that
duplicate UNIX commands. If you're a more experienced Internet
user you may well find these useful.
<H2><A NAME="Set">Set</A>ting an IP address</H2>
<P>
The Internet application allows you to communicate with other
computers on a fully-configured TCP/IP network. For this to work
you need to use !InetSetup to reflect the state of your network,
and your machine.
<H3>Changing the setup </H3>
<P>
Firstly you must run !InetSetup and edit the displayed fields
so that it specifies the machine (host) on the network to which
it is connected.
<P>
A number of options are then displayed which you need to modify;
the first one is Enable TCP/IP Protocol Suite. Choose this option
and all the other options can now be accessed.
<P>
Choosing Interfaces should identify the network card in your machine
and ticking the box will allow you to configure the options -
for example, setting your IP address and the appropriate Netmask.
<P>
Routing allows you to select which host you will be using as a
gateway, so that the computer knows how to access machines on
other networks.
<P>
Host names requires your unique Host name to be entered, as well
as server names and a choice of resolver modules if required,
so that Internet names can be converted to IP numbers by a remote
name server machine.
<H3>Editing the hosts file</H3>
<P>
You will also need to edit the Hosts file - this can be done in
Host names. This forms the link between the host name and the
IP address (see <A HREF="4_TCPintro#plan">If you plan to connect to other sites&#133;</A>
for details of obtaining a unique IP address). The file has the
following format:
<P>
<TT><FONT FACE="Courier">127.0.0.1 loopback localhost loghost
<BR>
1.0.0.1 ahost <BR>
2.0.0.1 anotherhost<BR>
2.0.0.2 agateway<BR>
3.0.0.1 remotehost</FONT></TT>
<P>
You need to specify computers in this list to which software may
need to refer to the remote computer by name. This may include
server and gateway machines. Do not delete the loop-back entry.
<H2><A NAME="Run">Run</A>ning the Internet application</H2>
<P>
To use any of these commands you need to run the Internet application.
There are three ways you can do this:
<UL>
<LI>double-clicking on the Internet icon from the desktop
<LI>typing a command at the command line
<LI>including a command in a boot file.
</UL>
<P>
In both the latter cases you must use a command of the form:
<P>
<TT><FONT FACE="Courier">*Run Internet_pathname.!Internet</FONT></TT>
<P>
where <TT><FONT FACE="Courier">Internet_pathname</FONT></TT> is
the rest of the pathname to the Internet application. You <B>must</B>
start the command with <TT><FONT FACE="Courier">*Run</FONT></TT>;
if you don't RISC OS won't know which filing system holds the
Internet application.
<H3>Getting a <A NAME="command">command</A> line</H3>
<P>
If you're using the desktop, there are three ways of getting a
command line so you can enter * Commands:
<UL>
<LI>Open a task window by pressing Ctrl-F12, or by choosing <B>Task
window</B> from the Task Manager's icon bar menu.
<LI>Temporarily leave the desktop by pressing F12, or by choosing
<B>*Commands</B> from the Task Manager's icon bar menu.
<LI>Permanently leave the desktop by choosing <B>Exit</B> from
the Task Manager's icon bar menu.
</UL>
<H2>Internet <A NAME="mod">mod</A>ule * <A NAME="Commands">Commands</A>
</H2>
<P>
The core of the Internet application is a module named Internet.
It is stored as the !RunImage file within the application. It
provides two * Commands:
<P>
<TABLE BORDER="1">
<TR><TD WIDTH=140><B>Command </B></TD><TD WIDTH=378><B>Use </B>
</TD></TR>
<TR><TD WIDTH=140>*InetGateway</TD><TD WIDTH=378>Toggle IP packet forwarding 
</TD></TR>
<TR><TD WIDTH=140>*InetInfo</TD><TD WIDTH=378>Display Internet module internal statistics
</TD></TR>
</TABLE>
<P>
Running the Internet application loads the Internet module; you
can then use the above * Commands.
<H2><A NAME="Abs">Abs</A>olute programs</H2>
<P>
There are also a set of commands that are provided as Absolute
files (i.e. each file is a program that performs one command)
in the bin subdirectory of the Internet application. These are:
<P>
<TABLE BORDER="1">
<TR><TD WIDTH=158><B>Command </B></TD><TD WIDTH=432><B>Use </B>
</TD></TR>
<TR><TD WIDTH=158>*ARP</TD><TD WIDTH=432>Address resolution display and control
</TD></TR>
<TR><TD WIDTH=158>*IfConfig</TD><TD WIDTH=432>Configure network interface parameters
</TD></TR>
<TR><TD WIDTH=158>*Ping</TD><TD WIDTH=432>Send ICMP ECHO_REQUEST packets to network hosts
</TD></TR>
<TR><TD WIDTH=158>*Route</TD><TD WIDTH=432>Manually manipulate the routing tables
</TD></TR>
</TABLE>
<P>
Running the Internet application adds the bin subdirectory to
the system variable Run$Path. RISC OS then knows where to find
the above * Commands, so you can use them directly from the command
line.
<P>
Although the above are actually programs, in the section that
follows we've treated them as * Commands because you're most likely
to use them in just the same way.
<H2>Ethernet <A NAME="driver">driver</A> module * Commands</H2>
<P>
The Ethernet driver modules (held in the drivers subdirectory
of the application) each provide a single * Command to give information.
<P>
Ether3 refers to the A5000 style podules and EtherB to the Risc
PC network card. Cards produced by different manufacturers may
have differences - such as EtherH (i-cubed) - but all are suitable.
<P>
The Ether3 module also provides a configuration command:
<P>
<TABLE BORDER="1">
<TR><TD WIDTH=149><B>Command </B></TD><TD WIDTH=441><B>Use </B>
</TD></TR>
<TR><TD WIDTH=149>*Configure Ether3</TD><TD WIDTH=441>Sets the configured state 
</TD></TR>
<TR><TD WIDTH=149>*Configure EtherB</TD><TD WIDTH=441>of Acorn Ethernet 3 cards
</TD></TR>
<TR><TD WIDTH=149>*EnInfo</TD><TD WIDTH=441>Display details of physical interface activity, including their physical addresses 
</TD></TR>
</TABLE>
<P>
Running the Internet application loads any appropriate Ethernet
driver modules; you can then use any of the above * Commands that
are relevant to your interface(s).
<HR>
<H2>*ARP<A NAME="arp"></A></H2>
<HR>
<P>
Address resolution display and control
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*ARP <I>host<BR>
</I>*ARP -a<BR>
*ARP -d <I>host<BR>
</I>*ARP -s <I>host</I> <I>phys_addr</I> [temp] [pub]<BR>
*ARP -f <I>filename</I></FONT></TT>
<H3>Parameters</H3>
<H3><TT><I><FONT SIZE=2 FACE="Courier">host</FONT></I></TT><FONT SIZE=4 FACE="Arial">
</FONT></H3>
<P>
an Internet host specified either by name (which must be present
in the host name data base &lt;InetDBase$Path&gt;hosts) or by
address (using the standard Internet dot notation)
<H3><TT><I><FONT SIZE=2 FACE="Courier">phys_addr</FONT></I><FONT SIZE=4 FACE="Courier">
</FONT></TT></H3>
<P>
the physical address of host given in Ethernet format (i.e. six
hexadecimal bytes separated by colons)
<H3><TT><I><FONT SIZE=2 FACE="Courier">filename</FONT></I></TT><FONT SIZE=4 FACE="Arial">
</FONT></H3>
<P>
the full pathname of a file containing multiple entries to be
set in the ARP table
<H3>Use</H3>
<P>
The ARP program displays and modifies the Internet-to-Physical-address
translation tables located in the Internet module and used by
the address resolution protocol ARP.
<P>
With no flags, the program displays the current ARP entry for
host.
<P>
The -a flag makes the program display all the ARP entries currently
in its table. 
<P>
The -d flag makes the program delete an entry for host.
<P>
The -s flag makes the program create an ARP entry for the host
called host with the physical address phys_addr.
<UL>
<LI>The entry will be permanent unless the word temp is given
in the command.
<LI>The entry will be `published' if the word pub is given. This
system will then act as an ARP or Reverse ARP server, responding
to requests for host's physical address even though the host address
is not its own.
</UL>
<P>
The -f flag causes the file filename to be read and multiple entries
to be set in the ARP tables. Entries in the file should be of
the form:
<P>
<TT><FONT FACE="Courier">host phys_addr [temp] [pub]</FONT></TT>
<P>
with argument meanings as given above.
<P>
If you don't know the physical address of an interface, you can
use the *InetInfo command to find it.
<P>
For your reference, the physical address of an Econet interface
takes the form:
<P>
<TT><FONT FACE="Courier">00.00.00.00.<I>station_number</I>.<I>net_number</I></FONT></TT>
<H3>Examples</H3>
<P>
<TT><FONT FACE="Courier">*ARP tp1<BR>
*ARP -a<BR>
*ARP -d 01.01.01.01<BR>
*ARP -s tp1 01.01.01.01.01.01 temp<BR>
*ARP -f adfs::HardDisc.$.Internet.ARP_Table</FONT></TT>
<H3>Related commands</H3>
<P>
None
<HR>
<H2>*Configure Ether3/<A NAME="confether">EtherB</A></H2>
<HR>
<P>
Sets the configured state of Acorn Ethernet 3 cards
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*Configure Ether3 Enable|Disable|Default|Terse|Verbose
[<I>card</I></FONT></TT><FONT SIZE=2>]</FONT>
<H3>Parameters</H3>
<P>
<TT><I><FONT SIZE=2 FACE="Courier">card </FONT></I></TT> the expansion
card's number, as given by *Podules
<H3>Use</H3>
<P>
*Configure Ether3 sets the configured state of all fitted Acorn
Ethernet 3 cards, or of a single card specified by its expansion
card slot number.
<P>
*Configure Ether3 Enable permits the interface to be used - which
is the default - whereas *Configure Ether3 Disable prevents the
interface from being used.
<P>
*Configure Ether3 Default sets the configured state to the default:
namely, Enabled.
<H3>Example</H3>
<P>
<TT><FONT FACE="Courier">*Configure Ether3 Default 0</FONT></TT> 
<H3>Related commands</H3>
<P>
<A HREF="#status">*Status Ether3/EtherB</A>
<HR>
<H2>*E<I>n<A NAME="eninfo">Info</A></I></H2>
<HR>
<P>
Display details of physical interface activity, including their
physical addresses
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*E1Info </FONT></TT> Display details for
all Acorn Ethernet 1 cards
<P>
<TT><FONT FACE="Courier">*E2Info </FONT></TT> Display details for
all Acorn Ethernet 2 cards
<P>
<TT><FONT FACE="Courier">*E3Info </FONT></TT> Display details for
all Ethernet 3 cards
<P>
<TT><FONT FACE="Courier">*EBInfo </FONT></TT> Display details for
all Atomwide-based Network slot cards
<P>
<TT><FONT FACE="Courier">*EHInfo </FONT></TT> Display details for
all i-cubed (I3) cards
<H3>Use</H3>
<P>
*E<I>n</I>Info displays details of physical interface activity,
including the physical addresses of all Ethernet interfaces of
the relevant type that are fitted to the computer.
<P>
Most of the information displayed is runic in nature. It is presented
mainly as an aid to trouble-shooting, should you require it.
<P>
If you are using an interface that is not listed above, you should
consult its documentation to see if its manufacturer has provided
a similar command; we expect most will do so.
<H3>Example</H3>
<P>
<TT><B><FONT SIZE=2 FACE="Courier">*E3Info</FONT></B></TT> 
<P>
<TT><FONT SIZE=2 FACE="Courier">Ether3 interface statistics
<BR>
ea0: 8005 16 bit MEMC1a, slot 2, up, hardware address 00:02:07:00:A3:48
<BR>
Interface driver : ea <BR>
Interface unit : 0 <BR>
Interface location : Expansion slot 2 <BR>
Interface address : 00:02:07:00:A3:48 <BR>
Interface controller: 8005 16 bit MEMC1a <BR>
Initialise time : Wed Mar 1 11:32:02 1995 <BR>
Running time : 2 minutes, 5 seconds. <BR>
Packets sent : 4362<BR>
Packets received : 4830<BR>
Bytes sent : 2276647<BR>
Bytes received : 2352828<BR>
Send errors : <BR>
Receive errors : <BR>
Broadcasts sent : <BR>
Broadcasts received : 298<BR>
<BR>
Multicasts sent : <BR>
Multicasts received : 111<BR>
Monitor sends : <BR>
Monitor receives : <BR>
Send interrupts : 4362<BR>
Receive interrupts : 4830<BR>
Delivered packets : 4835<BR>
Undelivered packets : <BR>
Sends too large : <BR>
Send max collisions : <BR>
Send overflows : <BR>
Sends blocked : <BR>
Receives too small : <BR>
Receives too large : <BR>
Incomplete receives : <BR>
Receive CRC errors : <BR>
Lack of mbufs : <BR>
Receive overflows : <BR>
Standard clients:<BR>
Frame = &amp;0800, ErrLvl=00, AddrLvl=01<BR>
Frame = &amp;0806, ErrLvl=00, AddrLvl=01<BR>
Frame = &amp;8035, ErrLvl=00, AddrLvl=01<BR>
IEEE 802.3 client:<BR>
Frame = &amp;0000, ErrLvl=00, AddrLvl=02<BR>
Log: Ether3 messages can appear here</FONT></TT> 
<H2>Related commands</H2>
<P>
*<A HREF="#Info" >InetInfo</A>
<HR>
<H2>*<A NAME="If">If</A>Config</H2>
<HR>
<P>
Configure network interface parameters
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*IfConfig <I>interface</I> <I>address_family</I>
[<I>address</I> [<I>dest_address</I>]] [parameters] </FONT></TT> 
<P>
<TT><FONT FACE="Courier">*IfConfig <I>interface</I> [<I>protocol_family</I>]
</FONT></TT> 
<P>
<TT><FONT FACE="Courier">*IfConfig -a </FONT></TT> 
<P>
<TT><FONT FACE="Courier">*IfConfig -au </FONT></TT> 
<P>
<TT><FONT FACE="Courier">*IfConfig -ad</FONT></TT> 
<H3>Parameters </H3>
<P>
<TABLE >
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=151><TT><I><FONT SIZE=2 FACE="Courier">address</FONT></I></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=586>for the DARPA-Internet family, the address is either a host name present in the host name data base, hosts, or a DARPA Internet address expressed in the Internet standard dot notation. For the Xerox Network SystemsTM family, addresses are net:a.b.c.d.e.f, where net is the assigned network number (in decimal), and each of the six bytes of the host number, a through f, are specified in hexadecimal. The host number may be omitted on 10Mb/s Ethernet interfaces, which use the hardware physical address, and on interfaces other than the first. For the ISO family, addresses are specified as a long hexadecimal string, as in the Xerox family. However, two consecutive dots imply a zero byte, and the dots are optional, if the user wishes to count out long strings of digits in network byte order.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=151><TT><I><FONT SIZE=2 FACE="Courier">address_family</FONT></I></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=586>Specifies the address family which affects interpretation of the remaining parameters. Since an interface can receive transmissions in differing protocols with different naming schemes, specifying the address family is recommended. The address or protocol families currently supported are inet, iso, and ns.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=151><TT><I><FONT SIZE=2 FACE="Courier">interface</FONT></I></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=586>The interface parameter is a string of the form name unit, for example, en0.
</TD></TR>
</TABLE>
<H3>Use </H3>
<P>
IfConfig is used to assign an address to a network interface and/or
configure network interface parameters. IfConfig must be used
at boot time to define the network address of each interface present
on a machine; it may also be used at a later time to redefine
an interface's address or other operating parameters.
<P>
You can set the following parameters with the IfConfig program:
<P>
<TABLE >
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">alias</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Establish an additional network address for this interface. This is sometimes useful when changing network numbers, and one wishes to accept packets addressed to the old interface.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">arp</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Enable the use of the Address Resolution Protocol in mapping between network level addresses and link level addresses (default). This is currently implemented for mapping between DARPA Internet addresses and 10Mb/s Ethernet addresses.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">-arp</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Disable the use of the Address Resolution Protocol
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">broadcast (Inet only)</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Specify the address to use to represent broadcasts to the network. The default broadcast address is the address with a host part of all 1's.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">debug</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Enable driver-dependant debugging code; usually this turns on extra console error logging.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">delete</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Remove the network address specified. This would be used if you incorrectly specified an alias, or it was no longer needed. If you have incorrectly set an NS address having the side effect of specifying the host portion, removing all NS addresses will allow you to respecify the host portion.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">dest_address</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Specify the address of the correspondent on the other end of a point to point link.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">down</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Mark an interface `down'. When an interface is marked `down', the system will not attempt to transmit messages through that interface. If possible, the interface will be reset to disable reception as well. This action does not automatically disable routes using the interface.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">ipdst</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>This is used to specify an Internet host which is willing to receive ip packets encapsulating NS packets bound for a remote network. An apparent point-to-point link is constructed, and the address specified will be taken as the NS address and network of the destination. IP encapsulation of CLNP packets is done differently.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">metric n</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Set the routing metric of the interface to n, default 0. The routing metric is used by the routing protocol routed. Higher metrics have the effect of making a route less favourable; metrics are counted as addition hops to the destination network or host.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">mtu n</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Set the maximum transmission unit of the interface to n; the default is interface-specific. The mtu is used to limit the size of packets that are transmitted on an interface. Not all interfaces support setting the mtu, and some interfaces have range restrictions.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">netmask mask</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>(Inet and ISO) : specify how much of the address to reserve for subdividing networks into sub-networks. The mask includes the network part of the local address and the subnet part, which is taken from the host field of the address. The mask can be specified as a single hexadecimal number with a leading 0x, with a dot-notation Internet address, or with a pseudo-network name listed in the network table networks. The mask contains 1's for the bit positions in the 32-bit address which are to be used for the network and subnet parts, and 0's for the host part. The mask should contain at least the standard network portion, and the subnet field should be contiguous with the networkportion.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">nsellength n</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>This specifies a trailing number of bytes for a received NSAP used for local identification, the remaining leading part of which is taken to be the NET (Network Entity Title). The default value is 1, which is conformant to US GOSIP. When an ISO address is set in an IfConfig command, it is really the NSAP which is being specified. For example, in US GOSIP, 20 hex digits should be specified in the ISO NSAP to be assigned to the interface. There is some evidence that a number different from 1 may be useful for AFI 37 type addresses.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">trailers</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Request the use of a `trailer' link level encapsulation when sending (default). If a network interface supports trailers, the system will, when possible, encapsulate outgoing messages in a manner which minimizes the number of memory to memory copy operations performed by the receiver. On networks that support the Address Resolution Protocol (see <A HREF="#arp">ARP</A>; currently, only 10 Mb/s Ethernet), this flag indicates that the system should request that other systems use trailers when sending to this host. Similarly, trailer encapsulations will be sent to other hosts that have made such requests. Currently used by Internet protocols only.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">-trailers</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Disable the use of a `trailer' link level encapsulation.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">link[0-2]</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Enable special processing of the link level of the interface. These three options are interface specific in actual effect, however, they are in general used to select special modes of operation. An example of this is to enable SLIP compression. Currently, only used by SLIP.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">-link[0-2]</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Disable special processing at the link level with the specified interface.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">up</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Mark an interface `up'. This may be used to enable an interface after an IfConfig down. It happens automatically when setting the first address on an interface. If the interface was reset when previously marked down, the hardware will be re-initialized
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">IfConfig -a</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>This displays information on all interfaces. When followed by a configuration parameter, it will also set the configuration on all interfaces.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=150><TT><FONT FACE="Courier">IfConfig -au</FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=606>Similar to IfConfig -a, except it only affects interfaces that are currently marked as up. Conversely, IfConfig -ad affects only interfaces that are marked down. IfConfig displays the current configuration for a network interface when no optional parameters are supplied. If a protocol family is specified, IfConfig will report only the details specific to that protocol family. Only the super-user may modify the configuration of a network interface.
</TD></TR>
</TABLE>
<H3>Example </H3>
<P>
<TT><FONT FACE="Courier">*IfConfig ea0 inet tp1 up</FONT></TT> 
<H3>Related Commands </H3>
<P>
None
<HR>
<H2>*Inet<A NAME="Gate">Gate</A>way</H2>
<HR>
<P>
Toggle IP packet forwarding
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*InetGateway 1|0</FONT></TT> 
<H3>Use</H3>
<P>
*InetGateway may be used to enable (*InetGateway 1) or to disable
(*InetGateway 0) IP layer packet forwarding (i.e. gateway operation)
if multiple network interfaces are present.
<P>
The default state is off.
<H3>Example</H3>
<P>
<TT><FONT FACE="Courier">*InetGateway 1</FONT></TT> 
<H3>Related commands</H3>
<P>
None
<HR>
<H2>*Inet<A NAME="Info">Info</A></H2>
<HR>
<P>
Display Internet module internal statistics
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*InetInfo [r][i]</FONT></TT> 
<H3>Use</H3>
<P>
*InetInfo displays detailed information about Internet module
activity. By default it only gives details of internal resource
usage and protocol activity using the options
<P>
<TABLE >
<TR><TD WIDTH=38><TT><FONT FACE="Courier">r</FONT></TT> </TD><TD WIDTH=531>display only internal resource information (the default)
</TD></TR>
<TR><TD WIDTH=38><TT><FONT FACE="Courier">i</FONT></TT> </TD><TD WIDTH=531>display only interface information
</TD></TR>
</TABLE>
<P>
Most of the information displayed is runic in nature. It is presented
mainly as an aid to trouble-shooting, should you require it.
<P>
The i option used in Release 1 of the TCP/IP Protocol Suite to
give information on an interface has been replaced by the *EnInfo
command.
<H3>Example</H3>
<P>
<TT><FONT FACE="Courier">*InetInfo rp</FONT></TT> 
<H3>Related commands</H3>
<P>
*<A HREF="#eninfo">EnInfo</A>
<HR>
<H2>*<A NAME="Ping">Ping</A></H2>
<HR>
<P>
Send ICMP ECHO_REQUEST packets to network hosts
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*Ping [-dfnqrvR] [-c <I>count</I>] [-i
<I>wait</I>] [-l <I>preload</I>] [-p <I>pattern</I>] [-s <I>packetsize</I>]</FONT></TT> 
<H3>Parameters </H3>
<P>
<TABLE >
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=132><TT><FONT FACE="Courier">-c <I>count</I></FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=595>stop after sending and receiving count ECHO_RESPONSE packets.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=132><TT><FONT FACE="Courier">-i <I>wait</I></FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=595>wait within seconds between sending each packet. The default is to wait for one second between each packet. This option is incompatible with the -f option.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=132><TT><FONT FACE="Courier">-l <I>preload</I></FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=595>if preload is specified, ping sends that many packets as fast as possible before falling into its normal mode of behaviour
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=132><TT><FONT FACE="Courier">-p <I>pattern</I></FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=595>you may specify up to 16 `pad' bytes to fill out the packet you send. This is useful for diagnosing data-dependent problems in a network. For example -p ff will cause the sent packet to be filled with all ones.
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=132><TT><FONT FACE="Courier">-s <I>packetsize</I></FONT></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=595>specifies the number of data bytes to be sent. The default is 56, which translate into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data.
</TD></TR>
</TABLE>
<H2>Use </H2>
<P>
An Internet can be a large and complex aggregation of network
hardware, connected together by gateways. Tracking a single-point
hardware or software failure can be difficult. The Ping program
utilises the ICMP protocol's mandatory ECHO_REQUEST datagram to
elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST
datagrams (or pings have an IP and ICMP header, and then an arbitrary
number of padding bytes used to fill out the packet.
<P>
The optional -d parameter sets the SO_DEBUG option on the socket
being used. The optional -f parameter causes a flood ping. It
outputs packets as fast as they come back or one hundred times
per second, whichever is more. For every ECHO_REQUEST sent a period
`.' is printed, while for every ECHO_REPLY received a backspace
is printed. Providing a rapid display of the number of packets
dropped, but only a super-user may use this option and can be
hard on a network. 
<P>
The optional -n parameter specifies numeric output only. No attempt
will be made to look up symbolic names for host addresses.
<P>
The optional -q parameter specifies quiet output. Nothing is displayed
except the summary lines at start-up time and when finished.
<P>
The optional -r parameter bypasses the normal routing tables and
sends directly to a host on an attached network. If the host is
not on a directly-attached network, an error is returned. This
option can be used to ping a local host through an interface that
has no route through it (e.g. after the interface was dropped
by routed).
<P>
The optional -v parameter specifies verbose output. ICMP packets
other than ECHO_RESPONSE that are received are listed. The optional
-R parameter specifies the recording of the route. Includes the
RECORD_ROUTE option in the ECHO_REQUEST packet and displays the
route buffer on returned packets. Note that the IP header is only
large enough for nine such routes. Many hosts ignore or discard
this option.
<P>
When using ping for fault isolation, it should first be run on
the local host, to verify that the local network interface is
up and running. Then, hosts and gateways further and further away
should be `pinged'. 
<H3>ICMP packet details </H3>
<P>
An IP header without options is 20 bytes. An ICMP ECHO_REQUEST
packet contains an additional eight bytes worth of ICMP header
followed by some data. When a packetsize is given, this indicated
the size of this extra piece of data (default is 56). The amount
of data received inside of an IP packet of type ICMP ECHO_REPLY
will always be eight bytes more than the requested data space
(the ICMP header).
<P>
If the data space is at least eight bytes large, ping uses the
first eight bytes of this space to include a timestamp which it
uses in the computation of round trip times. If less than eight
bytes of pad are specified, no round trip times are given.
<H3>Duplicate and damaged packets </H3>
<P>
Ping will report duplicate and damaged packets. Duplicate packets
should never occur, and seem to be caused by inappropriate link-level
retransmissions. Duplicates may occur in many situations and are
rarely (if ever) a good sign, although the presence of low levels
of duplicates may not always be cause for alarm.
<P>
Damaged packets are obviously serious cause for alarm and often
indicate broken hardware somewhere in the ping packet's path (in
the network or in the hosts).
<H3>Trying different data patterns </H3>
<P>
The (inter)network layer should never treat packets differently
depending on the data contained in the data portion. However,
data-dependent problems can get into networks and remain undetected.
In many cases the pattern that will have problems is something
that doesn't have sufficient `transitions', such as all ones or
all zeros. It's not usually enough to specify a data pattern of
all zeros on the command line because the pattern of interest
is at the data link level, and the relationship between what you
type and what the controllers transmit can be complicated.
<P>
This means that if you have a data-dependent problem you will
probably have to do a lot of testing to find it. If you are lucky,
you may manage to find a file that either can't be sent across
your network or that takes longer to transfer than other similar
size files. Then test using -p option of Ping examine for file
repeated patterns.
<H3>Example </H3>
<P>
<TT><FONT FACE="Courier">*Ping -v tp1 1024 20</FONT></TT> 
<H3>Related Commands </H3>
<P>
None
<HR>
<H2>*<A NAME="Route">Route</A></H2>
<HR>
<P>
Manually manipulate the routing tables
<H3>Syntax </H3>
<P>
<TT><FONT FACE="Courier">*Route [-e] [-n] [-v] [-q] add | delete
| change | get | monitor | flush [-net | -host] <I>destination</I>
<I>gateway flags</I> </FONT></TT> 
<P>
<TT><FONT FACE="Courier">*Route [-e] [-n] [-v] [-q] flush | monitor</FONT></TT> 
<H3>Parameters </H3>
<P>
<TABLE >
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><TT><I><FONT SIZE=2 FACE="Courier">destination</FONT></I></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=558>an Internet hot or network specified either by name (which must be present in the respective host or network name data base &lt;InetDBase$Path&gt;...) or by address (using the standard Internet dot notation)
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><TT><I><FONT SIZE=2 FACE="Courier">gateway</FONT></I></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=558>the next hop gateway to which packets should be addressed
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=142><TT><I><FONT SIZE=2 FACE="Courier">flags</FONT></I></TT> 
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH=558>various commands used to manipulate the routing
</TD></TR>
</TABLE>
<H3>Use </H3>
<P>
You can use the Route program manually to manipulate the Internet
module's network routing tables.
<P>
Routes to a particular host are distinguished from those to a
network by interpreting the Internet address associated with the
destination. The optional keywords net and host force the destination
to be interpreted as a network or a host, respectively. Otherwise,
if the destination has a local address part of 0 or if there is
a symbolic name of a network, the route's presumed to be a host.
All symbolic names specified from a destination or a gateway are
looked up first as a host name; if this fails, the name is then
looked up as a network name.
<P>
The -e option makes Route place any fatal error report string
in the system variable Inet$Error instead of writing it to the
standard output.
<P>
The -n option bypasses attempts to print host and network names
symbolically when reporting actions. However, translating between
symbolic names and numerical equivalents can be time consuming
and may require correct operation of the network.
<P>
The -v option (verbose) allows the printing of additional details.
<P>
The -q option allows the suppression of all output.
<P>
There are many flags which can be attached to the routing command
line and they are as follows:
<P>
<TABLE >
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-cloning</FONT></TT> 
</TD><TD WIDTH=539>generates a new route on use</TD></TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-iface</FONT></TT> 
</TD><TD WIDTH=539>destination is directly reachable</TD></TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-static</FONT></TT> 
</TD><TD WIDTH=539>is a manually added route</TD></TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-nostatic</FONT></TT> 
</TD><TD WIDTH=539>is a pretended route added by kernel or daemon
</TD></TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-reject</FONT></TT> 
</TD><TD WIDTH=539>to emit an ICMP unreachable when matched</TD>
</TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-blackhole</FONT></TT> 
</TD><TD WIDTH=539>silently discards packets during updates</TD>
</TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-rtt n</FONT></TT> 
</TD><TD WIDTH=539>shows initial round-trip time</TD></TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-rttvar n</FONT></TT> 
</TD><TD WIDTH=539>shows initial RTT variance</TD></TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-mtu n</FONT></TT> 
</TD><TD WIDTH=539>shows initial MTU</TD></TR>
<TR><TD WIDTH=132><TT><FONT FACE="Courier">-expire n</FONT></TT> 
</TD><TD WIDTH=539>shown expiry time</TD></TR>
</TABLE>
<H3>Examples </H3>
<P>
<TT><FONT FACE="Courier">*Route -n monitor</FONT></TT> 
<H3>Related Commands </H3>
<P>
None
<HR>
<H2>*<A NAME="OLE_LINK2">Status</A> Ether3/<A NAME="status">EtherB</A>
</H2>
<HR>
<P>
Displays the configured state of Acorn Ethernet 3 cards
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*Status Ether3</FONT></TT> 
<H3>Use</H3>
<P>
*Status Ether3 displays the configured state of all fitted Acorn
Ethernet 3 cards.
<H3>Example</H3>
<P>
<TT><B><FONT FACE="Courier">*Status Ether3</FONT></B></TT> 
<P>
<TT><FONT FACE="Courier">ether3 enabled 0</FONT></TT> 
<H2>Related commands</H2>
<P>
<A HREF="#confether">*Configure Ether3</A>
<HR>
<H2>*Status EtherH</H2>
<HR>
<P>
Displays the configured state of Acorn Ethernet H cards
<H3>Syntax</H3>
<P>
<TT><FONT FACE="Courier">*Status EtherH</FONT></TT> 
<H3>Use</H3>
<P>
*Status EtherH displays the configured state of all fitted Acorn
Ethernet H cards.
<H3>Example</H3>
<P>
<TT><B><FONT /TT>  FACE="Courier">*Status EtherH</FONT></B></TT> 
<P>
<TT><FONT FACE="Courier">etherH virtual on</FONT></TT> 
<H3>Related commands</H3>
<P>
<A HREF="#confether">*Configure Ether</A>
<P>
<A HREF="4_TCPintro"><IMG SRC="pics/PREV.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<A HREF="Front"><IMG SRC="pics/FRONT.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<A HREF="TOC"><IMG SRC="pics/CONTS.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<A HREF="index"><IMG SRC="pics/INDEX.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<A HREF="6_filemap"><IMG SRC="pics/NEXT.GIF" HEIGHT="28" WIDTH="96" BORDER="0"></A>
<P>
</BODY>
</HTML>
