pkg://tnos-doc-2.40-release.i386.rpm:230625/
usr/
doc/
tnos/tnos.man
info downloads
Tampa Network Operating System
User Reference Manual
Phil Karn, KA9Q
and
Brian A. Lantz, KO4KS
This manual reflects release version 1.00 of TNOS
as released to the public by KO4KS
- 2 -
1. The TNOS.EXE Program
The MS-DOS executable file TNOS.EXE (Further called Nos) provides Internet
(TCP/IP), NET/ROM and AX.25 facilities. Because it has an internal multi-
tasking operating system, Nos can act simultaneously as a client, a server
and a packet switch for all three sets of protocols. That is, while a local
user accesses remote services, the system can also provide those same ser-
vices to remote users while also switching IP, NET/ROM and AX.25 packets and
frames between other client and server nodes.
The keyboard and display is used by the local operator to control both host
and gateway level functions, for which a number of commands are provided.
1.1. Startup
tnos [-b] [-s <#sockets>] [-d </directory>] [-v] [<startup file>]
When Nos is executed without arguments, it attempts to open the file
autoexec.nos in the root directory of the current drive. If it exists, it is
read and executed as though its contents were typed on the console as com-
mands. This feature is useful for attaching communication interfaces, confi-
guring network addresses, and starting the various services.
Eleven command-line options are accepted:
1.1.1. -b
The -b option specifies the use of BIOS for console output; the default is to
write directly to the video display buffer. Use this option if you are run-
ning under a windowing package and have trouble with output "bleeding
through" on top of other windows.
1.1.2. -s <no_of_sockets>
The -s option specifies the size of the socket array to be allocated within
Nos. This limits the number of network connections that may exist simultane-
ously; the default is 40.
1.1.3. -o <no_of_online_interactive_sessions>
The -o option specifies the size of the session array to be allocated within
Nos. This limits the number of sessions that may exist simultaneously; the
default is 10.
1.1.4. -d </directory>
The -d option allows the user to specify a "root" directory for the confi-
guration and spool files; it defaults to the root directory of the system.
1.1.5. -v
The -v option allows the user to view command execution during the startup of
Nos. It lets the commands read from autoexec.nos echo before they are exe-
cuted. This is a nice help if Nos stops (hangs) during initialization.
After all command line options, the name of a alternate startup file may be
specified. This file is then opened and read instead of autoexec.nos.
1.1.6. -n
The -n option inhibits having a separate session defined for tracing. Using
this option makes trace output display on your screen no matter what session
you are in.
1.1.7. -e
The -e option enables EGA/VGA screen mode. This gives 43 or 50 lines
(respectively) instead of the regular 25.
1.1.8. -f <config_filename>
The -f option allows you to fully define which drives and directories are used
for the TNOS files. The format of the config files is shown in the
accompanying tnos.cfg file.
You can still use the -d option to set a new 'root' directory for tnos.exe but
it is only useful if used before the -f option. If you use -d then you can use
the -f to move some files to non-standard directories by simply commenting out
the files you don't want moved...
1.1.9. -x <XSWAP_pathname>
The -x option allows you to fully define which drives and directory is used to
store XSPAWN swap files, if needed. XSPAWN is described later in this manual.
If the -x option is not specified and disk swapping is needed, the swap file
will be created in the current DOS directory.
1.1.10. -g <foreground_color>
The -g option allows you to specify the starting foreground color to be used
for session screens. The default is white.
1.1.11. -k <background_color>
The -k option allows you to specify the starting background color to be used
for session screens. The default is black.
1.2. DOS environement variables.
The following DOS environement variables can be used to specify things to
NOS.
1.2.1. TZ
The TZ variable should be set to the local timezone. Default is UTC. This is
used on the timestamp in smtp.
1.2.2. MAILER
The MAILER specifies what program should be started when the mail command is
entered. Default is BM.EXE.
1.2.3. COMSPEC
The COMSPEC specifies what command shell will be used to shell out of Nos.
This is normaly set by MS-DOS startup to COMMAND.COM. Default is also
COMMAND.COM.
1.2.4. TMP
The TMP variable is used to create a spot where temporary files are created.
Without TMP being set the temp files are created in the root directory. A
sample is "set TMP=C:\tmp\".
1.2.5. USER
The USER variable is used by ftp and Rlogin to set the username for the rlo-
gin daemon on the remote system. The default when not setting USER is guest.
Guess you don't like it, but that's life. With ftp the user is suggested in
the user name prompt. If a cr only is given the suggested name is used, oth-
erwise the given name.
2. Console modes
The console may be in one of two modes: command mode and converse mode. In
command mode, the prompt net> is displayed and any of the commands described
in the Commands chapter may be entered. In converse mode, keyboard input is
processed according to the current session.
Sessions come in many types: Telnet, Ttylink, Rlogin, FTP, AX25, Finger, Com-
mand, NETROM, Ping, More, Dial, Dir, PPP PAP, Hopcheck and Tip.
In a Telnet, Ttylink, AX25, NETROM, Rlogin, or Tip session, keyboard input is
sent to the remote system and any output from the remote system is displayed
on the console. In an FTP session, keyboard input is first examined to see
if it is a known local command; if so it is executed locally. If not, it is
"passed through" to the remote FTP server. (See the FTP Subcommands
chapter). In a Ping session the user may test the path to a remote site, in
a More session, the user may examine a local file. A Hopcheck session is used
to trace the path taken by packets to reach a specified destination. A Finger
session is used to peek at a remote system for its users (and what they are
doing on some extended responses from UNIX systems). PPP PAP is used as a
link setup like slip between two systems.
The keyboard also has cooked and raw states. In cooked state, input is
line-at-a-time; the user may use the line editing characters ^U, ^R, ^B, ^W
and backspace (or DEL) to erase the line, redisplay the line, redisplay the
remainder of the previous line, erase last word and erase the last
character, respectively. Hitting either return or line feed passes the
complete line up to the application. The UP and DOWN arrows are used in the
Command Session to recall previous commands (see the History command). In raw mode, each character is
immediately passed to the application as it is typed. The keyboard is always
in cooked state in command mode. It is also cooked in converse mode on an AX25, FTP or NET/ROM
session. In a Telnet or Ttylink session it depends on whether the remote end
has issued (and the local end has accepted) the Telnet WILL ECHO option.
(See the echo command).
On the IBM-PC, the user may escape back to command mode by hitting the F10
key or the escape key. On other systems, the user must enter the escape
character, which is by default control-] (hex 1d, ASCII GS). (Note that this
is distinct from the ASCII character of the same name). The escape character
can be changed (see the escape command). The F10 key can be redefined with
the fkey command so the user is now warned to leave one escape possibility
open for himself. Setting both F10 and escape to unreachable codes renders a
system unescapable and the user hung in a session.
In the IBM PC version, each session (including the command "session") has its
own screen. When a new session is created, the command display is saved
and the screen is cleared. The screen is saved in Expanded memory (if it can)
or in a Virtual memory temp file. When the command escape key (usually F10
or ^]) is hit, the current session screen is saved and the command screen is
restored. When a session is resumed, its screen is restored exactly as it
appeared when it was last current.
3. Commands
This section describes the commands recognized in command mode, or within a
startup file such as autoexec.nos. These are given in the following nota-
tion:
command
command literal_parameter
command subcommand <parameter>
command [<optional_parameter>]
command a | b
Many commands take subcommands or parameters, which may be optional or
required. In general, if a required subcommand or parameter is omitted, an
error message will summarize the available subcommands or required parame-
ters. (Giving a '?' in place of the subcommand will also generate the mes-
sage. This is useful when the command word alone is a valid command.) If a
command takes an optional value parameter, issuing the command without the
parameter generally displays the current value of the variable. (Exceptions
to this rule are noted in the individual command descriptions.)
Two or more parameters separated by vertical bar(s) denote a choice between
the specified values. Optional parameters are shown enclosed in [brackets],
and a parameter enclosed in <angle brackets> should be replaced with an
actual value or string. For example, the notation <hostid> denotes an actual
host or gateway, which may be specified in one of two ways: as a numeric IP
address in dotted decimal notation (eg. 44.0.0.1.), or as a symbolic name
listed in the file domain.txt,
All commands and many subcommands may be abbreviated. You only need type
enough of a command's name to distinguish it from others that begin with the
same series of letters. Parameters, however, must be typed in full.
Certain FTP subcommands (eg. put, get, dir, etc) are recognized only in con-
verse mode with the appropriate FTP session; they are not recognized in com-
mand mode. (See the FTP Subcommands chapter.)
3.1. <CR>
Entering a carriage return (empty line) while in command mode puts you in
converse mode with the current session. If there is no current session, Nos
remains in command mode and reissues the net> prompt.
3.2. !
An alias for the shell command.
3.3. #
Commands starting with the hash mark (#) are ignored. This is mainly useful
for comments in the autoexec.nos file.
3.4. abort [<session #>]
Abort a FTP get, put or dir operation in progress. If issued without an argu-
ment, the current session is aborted. (This command works only on FTP ses-
sions.) When receiving a file, abort simply resets the data connection; the
next incoming data packet will generate a TCP RST (reset) response to clear
the remote server. When sending a file, abort sends a premature end-of-file.
Note that in both cases abort will leave a partial copy of the file on the
destination machine, which must be removed manually if it is unwanted.
3.5. arp
Display the Address Resolution Protocol table that maps IP addresses to their
subnet (link) addresses on subnetworks capable of broadcasting. For each IP
address entry the subnet type (eg. Ethernet, AX.25), subnet address and time
to expiration is shown. If the link address is currently unknown, the number
of IP datagrams awaiting resolution is also shown.
3.5.1. arp add <hostid> ether | ax25 | netrom | arcnet | mac <ether_addr> |
<ax25_addr> <iface>
Add a permanent entry to the table. It will not time out as will an
automatically-created entry, but must be removed with the arp drop command.
3.5.2. arp drop <hostid> ether | ax25 | netrom | arcnet | mac <iface>
Delete a permanent entry from the arp table.
3.5.3. arp flush
Drop all automatically-created entries in the ARP table; permanent entries
are not affected.
3.5.4. arp publish <hostid> ether | ax25 | netrom | arcnet | mac <ether_addr> |
<ax25_addr> <iface>
This command is similar to the arp add command, but the system will also
respond to any ARP request it sees on the network that seeks the specified
address. (Use this feature with great care.)
3.6. asystat
Display statistics on attached asynchronous communications interfaces (8250
or 16550A), if any. The display for each port consists of three lines. The
first line gives the port label and the configuration flags; these indicate
whether the port is a 16550A chip, the trigger character if any, whether CTS
flow control is enabled, whether RLSD (carrier detect) line control is
enabled, and the speed in bits per second. (Receiving the trigger character
causes the driver to signal upper layer software that data is ready; it is
automatically set to the appropriate frame end character for SLIP, PPP and
NRS lines.)
The second line of the status display shows receiver (RX) event counts: the
total number of receive interrupts, received characters, receiver overruns
(lost characters) and the receiver high water mark. The high water mark is
the maximum number of characters ever read from the device during a single
interrupt. This is useful for monitoring system interrupt latency margins as
it shows how close the port hardware has come to overflowing due to the ina-
bility of the CPU to respond to a receiver interrupt in time. 8250 chips have
no FIFO, so the high water mark cannot go higher than 2 before overruns
occur. The 16550A chip, however, has a 16-byte receive FIFO which the
software programs to interrupt the CPU when the FIFO is one-quarter full.
The high water mark should typically be 4 or 5 when a 16550A is used; higher
values indicate that the CPU has at least once been slow to respond to a
receiver interrupt.
When the 16550A is used, a count of FIFO timeouts is also displayed on the RX
status line. These are generated automatically by the 16550A when three char-
acter intervals go by with more than 0 but less than 4 characters in the
FIFO. Since the characters that make up a SLIP or NRS frame are normally sent
at full line speed, this count will usually be a lower bound on the number of
frames received on the port, as only the last fragment of a frame generally
results in a timeout (and then only when the frame is not a multiple of 4
bytes long.)
Finally, the software fifo overruns and high water mark are displayed. These
indicate whether the <bufsize> parameter on the attach command needs to be
adjusted (see the Attach Commands chapter).
The third line shows transmit (TX) statistics, including a total count of
transmit interrupts, transmitted characters, the length of the transmit queue
in bytes, the number of status interrupts, and the number of THRE timeouts.
The status interrupt count will be zero unless CTS flow control or RLSD line
control has been enabled. The THRE timeout is a stopgap measure to catch
lost transmit interrupts, which seem to happen when there is a lot of
activity (ideally, this will be zero).
3.7. attach <hw type> ...
Configure and attach a hardware interface to the system. The details are
highly interface dependent and dependent on configuration flags in the file
config.h when the software is build. It can be that not all drivers listed
below will be included in your copy of Nos. Detailed instructions for each
driver are in the Attach Commands chapter. Drivers are available for the
following hardware types:
3.7.1. attach 3c500
Don't use this one anymore. Use the packet driver instead. This driver is
obsolete and not supported anymore.
3.7.2. attach asy
Standard PC asynchronous interface (com port) using the National 8250 or
16450 or 16550A chip or compatible equivalent.
3.7.3. attach axip
A "wormhole" ax25 digipeater device.
3.7.4. attach arcnet
A ARCnet driver via the PACKET driver.
3.7.5. attach drsi
N6TTO driver for the DRSI PCPA 8530 card.
3.7.6. attach eagle
WA3CVG/NG6Q driver for the Eagle Computer card (Zilog 8530).
3.7.7. attach hapn
KE3Z driver for the Hamilton Amateur Packet Network adapter board (Intel
8273).
3.7.8. attach hs
Special "high speed" 8530 driver for the WA4DSY 56kb/s modem.
3.7.9. attach kiss
This enables a multiplexed tnc type to be used for second channel. It is used
to connect a second port to an already attached asy interface. It will copy
most of the params of it's parent port.
3.7.10. attach netrom
This is a psuedo interface to enable NET/ROM operations.
3.7.11. attach packet
Driver for use with separate software "packet drivers" meeting the FTP
Software, Inc, Software Packet Driver specification.
3.7.12. attach pc100
Driver for the PACCOMM PC-100 (Zilog 8530) card.
3.7.13. attach pi
Dma driven 8530 scc board from VE3IFB.
3.7.14. attach scc
PE1CHL driver for generic 8530 cards.
3.7.15. attach slfp
Serial Line Faming Protocol packet driver.
An easy way to obtain a summary of the parameters required for a given device
is to issue a partial attach command (eg. attach packet.) This produces a
usage message giving the complete command format.
3.8. attended [off | on]
Displays or sets the global "I am present" flag in Nos. This flag is used in
the welcome header by incoming ttylink connections.
3.9. autoroute <yes|no>
Displays or sets the IP autorouting option. When set all AX25 IP packets are
analysed and remembered.
3.10. ax25 <subcommand>
These commands are for Ax25 interfaces.
3.10.1. ax25 bc <interface>
The bc command enables broadcasts via interface interface.
3.10.2. ax25 bcinterval [<seconds>]
The bcinterval displays or sets the time in seconds between bc broadcasts.
On display both the interval and the countdown values are shown.
3.10.3. ax25 blimit [<limit>]
Display or set the AX25 retransmission backoff limit. Normally each succes-
sive AX25 retransmission is delayed by twice the value of the previous inter-
val; this is called binary exponential backoff. When the backoff reaches the
blimit setting it is held at that value, which defaults to 30. To prevent
the possibility of "congestive collapse" on a loaded channel, blimit should
be set at least as high as the number of stations sharing the channel. Note
that this is applicable only on actual AX25 connections; UI frames will never
be retransmitted by the AX25 layer.
3.10.4. ax25 bctext ["broadcast text"]
The bctext command displays or sets the text to be send for broadcast mes-
sages send out every bcinterval seconds.
3.10.5. ax25 digipeat [<iface>]
Display or set the digipeater enable flag for the given interface. If the axip interface is used this
flag MUST be on , otherwise the digipeat function will not work at all.
3.10.6. ax25 filter <0 | 1 | 2 | 3>
The filter commands enables or disables the logging in the heard lists of
source and destination ax25_addresses. This is a bitwise or function where
the 01 value is for source stations and the 02 value for destination sta-
tions. When the bit is off , logging is enabled, when on disabeled.
3.10.7. ax25 flush
Clear the AX.25 "heard" list (see ax25 heard).
3.10.8. ax25 heard [<interface>]
Display the AX.25 "heard" list. For each interface that is configured to use
AX.25, a list of all ax25_addresses heard through that interface is shown,
along with a count of the number of packets heard from each station and the
interval, in hr:min:sec format, since each station was last heard. The local
station always appears first in the listing; the packet count actually
reflects the number of packets transmitted. This entry is always present even
if no packets have been sent. If interface is given, only the heard list for
that interface is displayed. Note that logging of heard stations is con-
trolled with the ax25 filter command.
3.10.9. ax25 hearddest [<interface>]
Displays the destination list, i.e. the addressed to stations. Next to the
time the last transmission to that station the time that station replied (if
heard) is displayed. This gives a good reference to see if a station is
reachable and responding.
3.10.10. ax25 irtt [<milliseconds>]
Display or set the initial value of smoothed round trip time to be used when
a new AX25 connection is created. The value is in milliseconds. The actual
round trip time will be learned by measurement once the connection has been
established.
3.10.11. ax25 kick <axcb>
Force a retransmission on the specified AX.25 control block. The control
block address can be found with the ax25 status command.
3.10.12. ax25 maxframe [<count>]
Establish the maximum number of frames that will be allowed to remain unack-
nowledged at one time on new AX.25 connections. This number cannot be greater
than 7. Without count it will display the current setting. Note that the
maximum outstaning frame count only works with virtual connections. UI frames
are not affected.
3.10.13. ax25 mycall [<ax25_addr>]
Display or set the default local AX.25 address. The standard format is used,
(eg. KA9Q-0 or WB6RQN-5). This command must be given before any attach com-
mands using AX.25 mode are given.
3.10.14. ax25 paclen [<size>]
Limit the size of I-fields on new AX.25 connections. If IP datagrams or
fragments larger than this are transmitted, they will be transparently frag-
mented at the AX.25 level, sent as a series of I frames, and reassembled back
into a complete IP datagram or fragment at the other end of the link. To have
any effect on IP datagrams, this parameter should be less than or equal to
the MTU of the associated interface.
3.10.15. ax25 pthresh [<size>]
Display or set the poll threshold to be used for new AX.25 Version 2 connec-
tions. The poll threshold controls retransmission behavior as follows. If
the oldest unacknowledged I-frame size is less than the poll threshold, it
will be sent with the poll (P) bit set if a timeout occurs. If the oldest
unacked I-frame size is equal to or greater than the threshold, then a RR or
RNR frame, as appropriate, with the poll bit set will be sent if a timeout
occurs.
The idea behind the poll threshold is that the extra time needed to send a
"small" I-frame instead of a supervisory frame when polling after a timeout
is small, and since there's a good chance the I-frame will have to be sent
anyway (i.e., if it were lost previously) then you might as well send it as
the poll. But if the I-frame is large, send a supervisory (RR/RNR) poll
instead to determine first if retransmitting the oldest unacknowledged I-
frame is necessary; the timeout might have been caused by a lost acknowledge-
ment. This is obviously a tradeoff, so experiment with the poll threshold
setting. The default is 128 bytes, one half the default value of paclen.
3.10.16. ax25 reset <axcb>
Delete the AX.25 connection control block at the specified address.
3.10.17. ax25 retry [<count>]
Limit the number of successive unsuccessful retransmission attempts on new
AX.25 connections. If this limit is exceeded, link re-establishment is
attempted. If this fails retry times, then the connection is abandoned and
all queued data is deleted.
3.10.18. ax25 route
Display the AX.25 routing table that specifies the digipeaters to be used in
reaching a given station.
3.10.18.1. ax25 route add <target> <iface> [digis ... ]
Add an entry to the AX.25 routing table. An automatic ax25 route add is exe-
cuted if digipeaters are specified in an AX25 connect command, or if a con-
nection is received from a remote station via digipeaters. Such automatic
routing table entries won't override locally created entries, however.
3.10.18.2. ax25 route drop <target> <iface>
Drop an entry for target from the AX.25 routing table.
3.10.18.3. ax25 route mode <target> <iface> [vc | datagram | interface]
Sets the mode to vc | datagram | interface for target. Interface is the
default for that interface. Vc is a virtual circuit (ax25 connected mode) and
datagram is unconnected mode, (AX25 UI frames).
3.10.19. ax25 status [<axcb>]
Without an argument, display a one-line summary of each AX.25 control block.
If the address of a particular control block is specified, the contents of
that control block are dumped in more detail. Note that the send queue units
are frames, while the receive queue units are bytes.
3.10.20. ax25 t3 [<milliseconds>]
Display or set the AX.25 idle "keep alive" timer. Value is in milliseconds.
3.10.21. ax25 t4 [<seconds>]
Display or set the AX.25 Link "redundancy" timer. Value is in seconds. When
no exchange has been had during this time the link is reset and closed.
3.10.22. ax25 timertype [l | e | o]
Sets or displays the type of timer used for retransmission and recovery:
linear, exponential or original.
3.10.23. ax25 version [1 | 2]
Display or set the version of the AX.25 protocol to attempt to use on new
connections. The default is 1 (the version that does not use the poll/final
bits).
3.10.24. ax25 window [<size>]
Set the number of bytes that can be pending on an AX.25 receive queue beyond
which I frames will be answered with RNR (Receiver Not Ready) responses.
This presently applies only to suspended interactive AX.25 sessions, since
incoming I-frames containing network (IP, NET/ROM) packets are always pro-
cessed immediately and are not placed on the receive queue. However, when an
AX.25 connection carries both interactive and network packet traffic, an RNR
generated because of backlogged interactive traffic will also stop network
packet traffic from being sent.
3.11. bbs
Enter the local bbs port (same as a telnet session to your own station).
For the current commands set, see the accompaning file named "sumary".
3.12. bootp <subcommand>
This is a bootp server / client, included into Nos. It is picked up from the
University of Michigan in Ann Arbor. It is included into the sources of Nos
but is not used nor tested by me. (PA0GRI) Its usability is fague but the
discussions on tcp-group drove me to include this for possible use of reus-
able addresses.
3.12.1. bootp start
Starts the bootp server.
3.12.2. bootp stop
Stops the bootp server.
3.12.3. bootp dns [<ipaddr>]
Display or set the list of domain name servers for bootp.
3.12.4. bootp dyip [<iface> | <iface> <ipaddr1> <ipaddr2> | <iface> off]
Display or set the interface address range. The range is between ipaddr1 and
ipaddr2, both in dot notation.
3.12.5. bootp host [<hostaddr> <hardware type> <hardware addr> <ip addr>
[boot file]]
Display or activate a bootp process. Hardware type is netrom, ether, macap-
pletalk or ax25. Hardware addr is the interface name. Ip addr must be in dot
notation.
3.12.6. bootp rmhost <ipaddr>
Delete ipaddr from the host table.
3.12.7. bootp homedir [<directory> | default]
Display or set the directory where the bootp files reside. The default direc-
tory is bpfiles.
3.12.8. bootp defaultfile [<bootfile> | default]
Display or set the file name of the bootp file. The default is boot.
3.12.9. bootp logfile [<filename> | default] [on | off]
Starts or stops the logging of bootp requests to filename or the default file
name bootplog.
3.12.10. bootp logscreen [on | off]
Enables or disables the logging of bootp to the screen.
3.13. bootpd
This starts the server daemon for bootp.
3.14. cd [<dirname>]
Change the current working directory, and display the new setting. Without
an argument, cd simply displays the current directory without change. The
pwd command is an alias for cd.
3.15. close [<session>]
Close the specified session; without an argument, close the current session.
On an AX.25 session, this command initiates a disconnect. On a FTP or Telnet
session, this command sends a FIN (i.e., initiates a close) on the session's
TCP connection. This is an alternative to asking the remote server to ini-
tiate a close (QUIT to FTP, or the logout command appropriate for the remote
system in the case of Telnet). When either FTP or Telnet sees the incoming
half of a TCP connection close, it automatically responds by closing the out-
going half of the connection. Close is more graceful than the reset command,
in that it is less likely to leave the remote TCP in a "half-open" state.
3.16. cls
Clears the current session screen (command screen).
3.17. comm <interface> <text-string>
The comm command sends text-string via interface. This can be used to send
straight text to an tnc still in TAPR command mode during Nos startup. Note
that to preserve spaces tabs etc. to include the string between double quote
characters. Aka: comm ax1 "start kiss"
3.18. connect <iface> <ax25_addr> [<digipeater> ... ]
Initiate a "vanilla" AX.25 session to the specified ax25_addr using the
specified interface. Data sent on this session goes out in conventional AX.25
packets with no upper layer protocol. The de-facto presentation standard
format is used, in that each packet holds one line of text, terminated by a
carriage return. A single AX.25 connection may be used for terminal-to-
terminal, IP and NET/ROM traffic. The three types of data being automati-
cally separated by their AX.25 Level 3 Protocol IDs.
Up to 7 optional digipeaters may be given; note that the word via is NOT
needed. If digipeaters are specified, they are automatically added to the
AX25 routing table as though the ax25 route add command had been given before
issuing the connect command.
3.19. delete <filename>
The filename is removed from the file system. Wildcards are permitted. Should
work the same as MS-DOS's delete command.
3.20. detach <iface>
Detach a previously attached interface from the system. All IP routing table
entries referring to this interface are deleted, and forwarding references by
any other interface to this interface are removed.
3.21. dialer <iface> [<file> [<seconds> [<pings> [<hostid>]]]]
Setup an autodialer session for the interface. Whenever the interface is
idle for the interval in <seconds>, the autodialer will ping the <hostid>.
If there is no answer after <pings> attempts, the autodialer will execute the
special commands contained in the <dialer-file>.
If the interval in <seconds> is zero, a previous dialer command process will
be removed. If the number of <pings> is zero, the <dialer-file> will be exe-
cuted without pinging the <hostid>.
The file may have any valid name, and must be located in the configuration
root directory (see the Installion section). The commands in the file are
described in the Dialer Subcommands chapter.
Commands in file are:
3.21.1. control <up | down>
3.21.2. send <string> [<milliseconds>]
Sends string to the interface. If milliseconds is given, inter character tim-
ing is milliseconds milliseconds.
3.21.3. speed <bps>
Displays or sets the current interface speed to bps baud.
3.21.4. status <up | down>
3.21.5. wait <milliseconds> [<string> [speed]]
Wait the amount of milliseconds. If string is given, incoming characters from
the interface are compared with string. If an compare is found and speed is
the string speed, the next numbers read from the interface is the new bau-
drate used. This works like HAYES response CONNECT 9600. The wait command
could habe been "wait 10000 CONNECT speed". This waits 10 seconds for the
CONNECT response from the modem.
3.22. dir [<dirname>]
List the contents of the specified directory on the console. If no argument
is given, the current directory is listed. Note that this command works by
first listing the directory into a temporary file, and then creating a more
session to display it. After this completes, the temporary file is deleted.
3.23. disconnect [<session>]
An alias for the close command (for the benefit of AX.25 users).
3.24. domain <subcommand>
The domain commands control and show the working of the name to internet
address mapping software. NOS currently only has a client with a simple file
reading local server. A real server is needed to service the community for
their growing needs.
3.24.1. domain addserver <hostid>
Add a domain name server to the list of name servers. Note that, when this
command is given in the autoexec.nos file the ip address command should given
be before this command is used. (If not, Nos will not kow how to resolve the
address, and an answer will never be recognized, or worse: just plain hangs
the system.)
3.24.2. domain cache <subcommand>
Following commands work on the domain cache. These are resource records (see
RFC 1033/1034) held in memory.
3.24.2.1. domain cache clean [<yes | no>]
Displays or sets the discard of expired resource records. Expired records
have their timeout value decremented to zero. Normaly resource records get a
default timeout value of 1800 seconds. After this time they are considered
"old" and if referenced again the domain name resolver should be enquired
again. When clean is off (the default), expired records will be retained; if
no replacement can be obtained from another domain name server, these records
will continue to be used.
When clean is on, expired records will be removed from the file whenever any
new record is added to the file.
3.24.2.2. domain cache list
This command shows the current content of the in memory cache for resource
records.
3.24.2.3. domain cache size [<size>]
Display or set the nominal maximum size of the local memory cache. The
default is 20.
(Note: The cache may be temporarily larger when waiting for new records to be
written to the domain.txt file.)
3.24.2.4. domain cache wait [<seconds>]
Display or set the interval in seconds to wait for additional activity before
updating the domain.txt file. The default is 300 seconds (5 minutes).
3.24.3. domain dropserver <hostid>
Remove a domain name server from the list of name servers. You are warned
when you delete the last name server.
3.24.4. domain listservers
List the currently configured domain name servers, along with statistics on
how many queries and replies have been exchanged with each one, response
times, etc.
3.24.5. domain maxwait [<timeout>]
This sets a timeout value (1 to 255 seconds) to a query or domain name
server. This is not set for a already defined server but will be used for a
newly defined name server. Also the value is used for domain nslookups. Note
that name servers can have (PC based) trouble finding records in an large
database. The default is set to 30 seconds.
3.24.6. domain retry [<retries>]
The retry value (number) limits the number of queries send out to remote
domain name resolvers before giving up and telling you that host
xyzzy.ampr.org does not exist. The total time lost with a query is retries *
timeout * number of domain servers defined.
3.24.7. domain suffix [<domain suffix> | none]
Display or specify the default domain name suffix to be appended to a host
name when it contains no periods. For example, if the suffix is set to
ampr.org. and the user enters telnet ka9q, the domain resolver will attempt
to find ka9q.ampr.org.. If the host name being sought contains one or more
periods, however, the default suffix is NOT applied if the last part of the
name is less than 5 characters and contains only letters; e.g.,
telnet foo.bar would NOT be turned into foo.bar.ampr.org..
telnet foo.ka9q will be turned into foo.ka9q.ampr.org.. Note that a trail-
ing dot (.) is required for the suffix. If the suffix is the string none
(without trailing period) the current suffix is cleared and forgotten.
3.24.8. domain trace [on | off]
Display or set the flag controlling the tracing of domain server requests and
responses. Trace messages will be seen only if a domain name being sought is
not found in the local cache file, domain.txt.
3.24.9. domain translate [off | on]
Display or set the flag that controls the translation of ip adress in dot
notation into symbolic names. The translation process makes heavely use of
reverse domain name lookups. Do not set this flag unless you have a good and
fast connection to a domain name server or have a fast domain.txt handler and
domain.txt contains all IN-ADDR.ARPA. records you ever wanted.
3.24.10. domain verbose [off | on]
Display or set the flag controlling the return of a full name (true) or only
the first name (dot delimiter) (false). This is for IP address to name trans-
lation only.
3.25. drsistat
Shows the statistics for all configured drsi boards.
3.26. dump <hex-address | .> [decimal-range]
The dump command shows memory in hex and ascii. Hex-address is a 32 bit value
for a PC split into page address and page offset. A splitting colon is not
used nor accepted. If decimal-range is not given , 128 bytes are displayed.
dump . displayes memory starting at the end of a previous dump command.
3.27. echo [accept | refuse]
Display or set the flag controlling client Telnet's response to a remote WILL
ECHO offer.
The Telnet presentation protocol specifies that in the absence of a nego-
tiated agreement to the contrary, neither end echoes data received from the
other. In this mode, a Telnet client session echoes keyboard input locally
and nothing is actually sent until a carriage return is typed. Local line
editing is also performed: backspace deletes the last character typed, while
control-U deletes the entire line.
When communicating from keyboard to keyboard the standard local echo mode is
used, so the setting of this parameter has no effect. However, many timeshar-
ing systems (eg. UNIX) prefer to do their own echoing of typed input. (This
makes screen editors work right, among other things). Such systems send a
Telnet WILL ECHO offer immediately upon receiving an incoming Telnet
connection request. If echo accept is in effect, a client Telnet session will
automatically return a DO ECHO response. In this mode, local echoing and
editing is turned off and each key stroke is sent immediately (subject to the
Nagle tinygram algorithm in TCP). While this mode is just fine across an
Ethernet, it is clearly inefficient and painful across slow paths like packet
radio channels. Specifying echo refuse causes an incoming WILL ECHO offer to
be answered with a DONT ECHO; the client Telnet session remains in the local
echo mode. Sessions already in the remote echo mode are unaffected. (Note:
Berkeley Unix has a bug in that it will still echo input even after the
client has refused the WILL ECHO offer. To get around this problem, enter the
stty -echo command to the shell once you have logged in.)
3.28. eol [unix | standard]
Display or set Telnet's end-of-line behavior when in remote echo mode. In
standard mode, each key is sent as-is. In unix mode, carriage returns are
translated to line feeds. This command is not necessary with all UNIX sys-
tems; use it only when you find that a particular system responds to line
feeds but not carriage returns. Only SunOS release 3.2 seems to exhibit this
behavior; later releases are fixed.
3.29. escape [<char>]
Display or set the current command-mode escape character in hex. On the PC,
the escape character is default ^]. The alternate escape key is F10 unless
F10 is redefined with fkey.
3.30. etherstat
Display 3-Com Ethernet controller statistics (if configured).
3.31. exit
Exit the nos program and return to MS-DOS.
3.32. finger <user@hostid> | <@hostid>
Issue a network finger request for user user at host hostid. This creates a
client session which may be interrupted, resumed, reset, etc, just like a
Telnet client session. If only @hostid is given, all users on that host are
identified.
3.33. fkey [<number> [<string>]]
Fkey displays or sets values for the programmable keys on the PC keyboard.
fkey alone gives a display of all remapable keys and their number. fkey
number displays the current value for that key. fkey number string assigns
string to that key. Control characters can be created by prefixing then with
an ^ character. A cr is ^M. To insert an ^ in the string 2 ^'s next to each
other are needed. Following is the map of keys and their number. F1 is func-
tion key 1. Sf1 is Shift function key 1. Cf1 is Control function key 1. Af1
is Alt function key 1. Etc. The right most row is the numeric keypad.
key number key number key number key number key number
f1 59 sf1 84 cf1 94 af1 104 pgup 73
f2 60 sf2 85 cf2 95 af2 105 pgdn 81
f3 61 sf3 86 cf3 96 af3 106 home 71
f4 62 sf4 87 cf4 97 af4 107 end 79
f5 63 sf5 88 cf5 98 af5 108 arup 72
f6 64 sf6 89 cf6 99 af6 109 ardn 80
f7 65 sf7 90 cf7 100 af7 110 ar l 75
f8 66 sf8 91 cf8 101 af8 111 ar r 77
f9 67 sf9 92 cf9 102 af9 112 ins 82
f10 68 sf10 93 cf10 103 af10 113 del 83
f11 133 sf11 135 cf11 137 af11 139 stab 15
f12 134 sf12 136 cf12 138 af12 140 cprtsc 114
cpgup 132 cpgdn 118 chome 119 cend 117
The mapping can be made to look like a vt100 / ansi keyboard by
assigned value strings for following keys:
number string key
59 " 33OP" /* F1 */
60 " 33OQ" /* F2 */
61 " 33OR" /* F3 */
62 " 33OS" /* F4 */
71 " 10" /* home*/
72 " 33[A" /* up arrow*/
73 " 25" /* pgup */
75 " 33[D" /* left arrow */
77 " 33[C" /* right arrow */
79 " 05" /* end */
80 " 33[B" /* down arrow */
81 " 12" /* pgdn */
82 " 01" /* ins */
83 " 177" /* del */
3.34. ftp <hostid>
Open an FTP control channel to the specified remote host and enter converse
mode on the new session. Responses from the remote server are displayed
directly on the screen. See theFTP Subcommands chapter for descriptions of
the commands available in a FTP session.
3.35. ftype [ascii | binary | image | logical <size>]
This command displays or sets the default start file mode (ascii or binary)
for ftp transfers. If ftype binary or image is given the next ftp session
started will be in binary type. No binary command is needed once the session
is started. In case of logical, the "word" size is set to size.
3.36. help
Display a brief summary of top-level commands.
3.37. hop <subcommands>
These commands are used to test the connectivity of the network.
3.37.1. hop check <hostid>
Initiate a hopcheck session to the specified host. This uses a series of UDP
"probe" packets with increasing IP TTL fields to determine the sequence of
gateways in the path to the specified destination. This function is patterned
after the UNIX traceroute facility.
ICMP message tracing should be turned off before this command is executed
(see the icmp trace command).
3.37.2. hop maxttl [<hops>]
Display or set the maximum TTL value to be used in hop check sessions. This
effectively bounds the radius of the search.
3.37.3. hop maxwait [<seconds>]
Display or set the maximum interval, in seconds, that a hopcheck session will
wait for responses at each stage of the trace. The default is 5 seconds.
3.37.4. hop queries [<count>]
Display or set the number of UDP probes that will be sent at each stage of
the trace. The default is 3.
3.37.5. hop trace [on | off]
Display or set the flag that controls the display of additional information
during a hop check session.
3.38. hostname [<name>]
Display or set the local host's name. By convention this should be the same
as the host's primary domain name. This string is used only in the greeting
messages of the various network servers; note that it does NOT set the
system's IP address.
If <name> is the same as an <iface> (see the Attach commands chapter), this
command will search for a CNAME domain resource record which corresponds to
the IP address of the <iface>.
3.39. hs
Display statistics about the HS high speed HDLC driver (if configured and
active).
3.40. icmp <subcommand>
These commands are used for the Internet Control Message Protocol service.
3.40.1. icmp echo [on | off]
Display or set the flag controlling the asynchronous display of ICMP Echo
Reply packets. This flag must be on for one-shot pings to work (see the ping
command.)
3.40.2. icmp status
Display statistics about the Internet Control Message Protocol (ICMP),
including the number of ICMP messages of each type sent or received.
3.40.3. icmp trace [on | off]
Display or set the flag controlling the display of ICMP error messages. These
informational messages are generated by Internet routers in response to rout-
ing, protocol or congestion problems. This option should be turned off before
using the hop check facility because it relies on ICMP Time Exceeded mes-
sages, and the asynchronous display of these messages will be mingled with
hop check command output.
3.41. ifconfig
Display a list of interfaces, with a short status for each.
3.41.1. ifconfig [<iface> [[[ <subcommand> <param>] <subcommand> <param>]
.... ]
When only iface is given, a extended interface status is displayed. Multiple
subcommand / parameter can be put on one line.
3.41.2. ifconfig <iface> broadcast <addr>
Set the broadcast address of interface iface to addr. Addr can eighter be an
ax25_addr or an ether_addr, depending on the interface type, with 1's in the
host part of the address. This is related to the netmask sub-command. See
also the arp command.
3.41.3. ifconfig <iface> description ["description"]
This command sets the interface description to the string specified. If no
string is supplied, the current description is cleared. The description is
displayed with the ifconfig iface command (no parameters) and with the mail-
box commands.
3.41.4. ifconfig <iface> encapsulation <slip | ax25 | ether | encap | ppp>
Sets the encapsulation for interface iface to slip / ax25 / ether / encap /
ppp.
- 21 -
3.41.5. ifconfig <iface> forward <iface-2>
When a forward is defined, all output for interface iface is redirected to
the interface directed by iface-2. To remove the forward, set <iface-2> to
<iface>.
3.41.6. ifconfig <iface> ipaddress <addr>
Set the IP address to addr for this interface. This might be nessesary when a
system acts as a gateway. Like an system with IP address 44.137.1.8 has an
Internet access via its ethernet. The Internet IP address could be
129.179.122.10. An ifconfig ec0 ipaddress 129.179.122.10 sets the correct
address for that interface. Now routing to that system will work. (Note that
the 44.x.x.x address is NOT connected to the Internet.) See also the host-
name and ip address commands.
3.41.7. ifconfig <iface> linkaddress <hardware-dependant>
Set the hardware dependant address for this interface. For AX.25 this can be
the callsign, for ethernet a new ethernet address.
3.41.8. ifconfig <iface> mtu <param>
Set the maximum transfer unit to param octeds (bytes). See the Setting ...
MTU, MSS and Window chapter for more information.
3.41.9. ifconfig <iface> netmask <address>
Set the sub-net mask for this interface. The <address> takes the form of an
IP address with 1's in the network and subnet parts of the address, and 0's
in the host part of the address. Sample: ifconfig ec0 netmask 0xffffff00
for a class C network (24 bits). This is related to the broadcast sub-
command. See also the route command.
3.41.10. ifconfig <iface> rxbuf <size>
Set the receive buffer size.
3.42. info
Info gives information about the version of Nos currently running and its
buildin configuration. The configuration info is build with defines in
config.h in the source distribution. That way it gives automatically correct
configuration information.
3.43. ip <subcommand>
These commands are used for the Internet Protocol service.
3.43.1. ip access <permit|deny|delete> <dest addr>[/<bits>] <ifname>
[lowport [higport]]
Set or display access control for IP routing functions. This command imple-
ments router access functions to NosFp. Permit enables dest-addr packets to
be routed via ifname. Deny disables those. If lowport is not given, all ports
are assumed. If only lowport is given, that port is only checked for permis-
sion If lowport and highport are given, that is the range of ports
permitted/denied. Dest-addr can be the word all for all addresses possible.
Lowport can be the word none for all ports. The ip access delete must match
a previous defined permit or deny to be able to delete that definition. Some
samples:
ip access permit 44/8 ax0
ip access deny all ax0 1 1023
ip access