NNNNeeeettttwwwwoooorrrrkkkk OOOOppppeeeerrrraaaattttiiiinnnngggg SSSSyyyysssstttteeeemmmm
                            UUUUsssseeeerrrr RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll


                              Phil Karn, KA9Q
                                      and
                      Gerard van der Grinten, PA0GRI






























              This manual reflects version 911229 of NOS 2.0p
                    as released to the public by PA0GRI



















                                   - 2 -





_1.  _T_h_e _N_O_S._E_X_E _P_r_o_g_r_a_m

The MS-DOS executable file NNNNOOOOSSSS....EEEEXXXXEEEE (Further  called  NNNNoooossss)  provides  Internet
(TCP/IP),  NET/ROM  and  AX.25 facilities.  Because it has an internal multi-
tasking operating system, NNNNoooossss 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.  _S_t_a_r_t_u_p

nos [-b] [-s <#sockets>] [-d </directory>] [-v] [<startup file>]

When NNNNoooossss is  executed  without  arguments,  it  attempts  to  open  the  file
aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss 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.

Four command-line options are accepted:

_1._1._1.  -_b

The ----bbbb 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 <_n_o__o_f__s_o_c_k_e_t_s>

The ----ssss option specifies the size of the _s_o_c_k_e_t array to be  allocated  within
NNNNoooossss.  This limits the number of network connections that may exist simultane-
ously; the default is 40.

_1._1._3.  -_d </_d_i_r_e_c_t_o_r_y>

The ----dddd 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._4.  -_v

The ----vvvv option allows the user to view command execution during the startup of
NNNNoooossss.  It  lets  the commands read from aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss echo before they are exe-
cuted. This is a nice help if NNNNoooossss 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 aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss.









                                   - 3 -
_1._2.  _D_O_S _e_n_v_i_r_o_n_e_m_e_n_t _v_a_r_i_a_b_l_e_s.

The following DOS environement variables can be used  to  specify  things  to
NNNNOOOOSSSS.

_1._2._1.  _T_Z

The TZ variable should be set to the local timezone. Default is UTC.  This is
used on the timestamp in smtp.

_1._2._2.  _M_A_I_L_E_R

The MAILER specifies what program should be started when the mmmmaaaaiiiillll command  is
entered. Default is BM.EXE.

_1._2._3.  _C_O_M_S_P_E_C

The COMSPEC specifies what command shell will be used to _s_h_e_l_l  _o_u_t  of  NNNNoooossss.
This  is  normaly  set  by  MS-DOS  startup  to COMMAND.COM.  Default is also
COMMAND.COM.

_1._2._4.  _T_M_P

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.  _U_S_E_R

The USER variable is used by ffffttttpppp and RRRRllllooooggggiiiinnnn 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 ffffttttpppp 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.  _C_o_n_s_o_l_e _m_o_d_e_s

The console may be in one of two modes: _c_o_m_m_a_n_d _m_o_d_e and _c_o_n_v_e_r_s_e  _m_o_d_e.   In
_c_o_m_m_a_n_d  _m_o_d_e, the prompt nnnneeeetttt>>>> is displayed and any of the commands described
in the CCCCoooommmmmmmmaaaannnnddddssss chapter may be entered.  In _c_o_n_v_e_r_s_e _m_o_d_e, keyboard input  is
processed according to the _c_u_r_r_e_n_t _s_e_s_s_i_o_n.

Sessions come in many types: _T_e_l_n_e_t, _T_t_y_l_i_n_k, _R_l_o_g_i_n, _F_T_P, _A_X_2_5, _F_i_n_g_e_r, _C_o_m_-
_m_a_n_d, _N_E_T_R_O_M, _P_i_n_g, _M_o_r_e, _D_i_a_l, _D_i_r, _P_P_P _P_A_P, _H_o_p_c_h_e_c_k and _T_i_p.

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  FFFFTTTTPPPP  SSSSuuuubbbbccccoooommmmmmmmaaaannnnddddssss
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 _c_o_o_k_e_d and _r_a_w  states.   In  _c_o_o_k_e_d  state,  input  is
line-at-a-time;  the  user may use the line editing characters ^U, ^R, ^B, ^W
and backspace to erase the line, redisplay the line, redisplay the  remainder
of  the  previous  line,  erase  last  word  and  erase  the  last character,




                                   - 4 -
respectively.  Hitting either return or line feed passes the complete line up
to the application.  In _r_a_w mode, each character is immediately passed to the
application as it is typed.  The keyboard is always in _c_o_o_k_e_d state  in  com-
mand  mode.   It  is  also _c_o_o_k_e_d 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 eeeecccchhhhoooo command).

On the IBM-PC, the user may escape back to _c_o_m_m_a_n_d _m_o_d_e by  hitting  the  F10
key  or  the  _e_s_c_a_p_e  key.   On other systems, the user must enter the _e_s_c_a_p_e
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 eeeessssccccaaaappppeeee 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 in
memory and the screen is cleared.  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.  NNNNoooossssFFFFpppp eeeexxxxppppeeeeccccttttssss tttthhhhaaaatttt tttthhhheeee ddddrrrriiiivvvveeeerrrr NNNNAAAANNNNSSSSYYYY....SSSSYYYYSSSS
iiiissss llllooooaaaaddddeeeedddd ttttoooo ssssuuuuppppppppoooorrrrtttt tttthhhheeee ssssccccrrrreeeeeeeennnn aaaannnndddd tttteeeerrrrmmmmiiiinnnnaaaallll eeeemmmmuuuullllaaaattttiiiioooonnnn rrrroooouuuuttttiiiinnnneeeessss.... AAAANNNNSSSSYYYY....SSSSYYYYSSSS hhhhaaaassss
mmmmaaaannnnyyyy pppprrrroooobbbblllleeeemmmmssss aaaannnndddd sssshhhhoooouuuulllldddd NNNNOOOOTTTT bbbbeeeeeeeennnn uuuusssseeeedddd.... VVVVeeeerrrrssssiiiioooonnnn 22224444 ooooffff nnnnaaaannnnssssyyyy....ssssyyyyssss ((((nnnnaaaannnn22224444hhhhyyyycccc....zzzziiiipppp
oooonnnn ddddoooowwwwnnnnllllooooaaaadddd ssssyyyysssstttteeeemmmmssss)))) sssshhhhoooouuuulllldddd bbbbeeee uuuusssseeeedddd  ffffoooorrrr  bbbbeeeesssstttt  rrrreeeessssuuuullllttttssss....  UUUUsssseeeerrrrssss  ooooffff  DDDDeeeesssskkkkVVVViiiieeeewwww
sssshhhhoooouuuulllldddd  bbbbeeee  ooookkkk  wwwwiiiitttthhhh ddddvvvvaaaannnnssssyyyy....ssssyyyyssss aaaassss iiiitttt hhhhaaaassss bbbbeeeeeeeennnn rrrreeeeppppoooorrrrtttteeeedddd tttthhhhaaaatttt ttttaaaabbbb eeeexxxxppppaaaannnnssssiiiioooonnnn iiiissss
aaaallllllll rrrriiiigggghhhhtttt uuuunnnnddddeeeerrrr DDDDVVVV....

_3.  _C_o_m_m_a_n_d_s

This section describes the commands recognized in command mode, or  within  a
startup  file  such  as aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss.  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 <<<<hhhhoooossssttttiiiidddd>>>> 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 ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt,

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




                                   - 5 -
same series of letters. Parameters, however, must be typed in full.

Certain FTP subcommands (eg. ppppuuuutttt,,,, ggggeeeetttt,,,, ddddiiiirrrr, etc) are recognized only in  con-
verse  mode with the appropriate FTP session; they are not recognized in com-
mand mode.  (See the FFFFTTTTPPPP SSSSuuuubbbbccccoooommmmmmmmaaaannnnddddssss chapter.)

_3._1.  <_C_R>

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, NNNNoooossss
remains in command mode and reissues the nnnneeeetttt>>>> prompt.

_3._2.  !

An alias for the sssshhhheeeellllllll command.

_3._3.  #

Commands starting with the hash mark (#) are ignored. This is  mainly  useful
for comments in the aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss file.

_3._4.  _a_b_o_r_t [<_s_e_s_s_i_o_n #>]

Abort a FTP ggggeeeetttt,,,, ppppuuuutttt oooorrrr ddddiiiirrrr 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, aaaabbbboooorrrrtttt 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, aaaabbbboooorrrrtttt sends a premature end-of-file.
Note  that  in  both cases aaaabbbboooorrrrtttt will leave a partial copy of the file on the
destination machine, which must be removed manually if it is unwanted.

_3._5.  _a_r_p

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.  _a_r_p _a_d_d <_h_o_s_t_i_d> _e_t_h_e_r |  _a_x_2_5  |  _n_e_t_r_o_m  |  _a_r_c_n_e_t  <_e_t_h_e_r__a_d_d_r>  |
<_a_x_2_5__a_d_d_r>

Add a permanent entry to  the  table.  It  will  not  time  out  as  will  an
automatically-created entry, but must be removed with the aaaarrrrpppp ddddrrrroooopppp command.

_3._5._2.  _a_r_p _d_r_o_p <_h_o_s_t_i_d> _e_t_h_e_r | _a_x_2_5 | _n_e_t_r_o_m | _a_r_c_n_e_t

Delete a permanent entry from the arp table.

_3._5._3.  _a_r_p _f_l_u_s_h

Drop all automatically-created entries in the ARP  table;  permanent  entries
are not affected.

_3._5._4.  _a_r_p _p_u_b_l_i_s_h <_h_o_s_t_i_d> _e_t_h_e_r | _a_x_2_5 | _n_e_t_r_o_m |  _a_r_c_n_e_t  <_e_t_h_e_r__a_d_d_r>  |
<_a_x_2_5__a_d_d_r>

This command is similar to the aaaarrrrpppp aaaadddddddd 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.)





                                   - 6 -
_3._6.  _a_u_t_o_r_o_u_t_e <_y_e_s|_n_o>

Displays or sets the IP autorouting option. When set all AX25 IP packets  are
analysed and remembered.

_3._7.  _a_s_y_s_t_a_t

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 _t_r_i_g_g_e_r _c_h_a_r_a_c_t_e_r 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 _t_r_i_g_g_e_r _c_h_a_r_a_c_t_e_r
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 _h_i_g_h _w_a_t_e_r _m_a_r_k.  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 AAAAttttttttaaaacccchhhh CCCCoooommmmmmmmaaaannnnddddssss 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._8.  _a_t_t_a_c_h <_h_w _t_y_p_e> ...

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 NNNNoooossss.  Detailed instructions for each
driver are in the AAAAttttttttaaaacccchhhh CCCCoooommmmmmmmaaaannnnddddssss chapter.  Drivers  are  available  for  the
following hardware types:





                                   - 7 -
_3._8._1.  _a_t_t_a_c_h _3_c_5_0_0

Don't use this one anymore. Use the packet driver  instead.  This  driver  is
obsolete and not supported anymore.

_3._8._2.  _a_t_t_a_c_h _a_s_y

Standard PC asynchronous interface (com port)  using  the  National  8250  or
16450 or 16550A chip or compatible equivalent.

_3._8._3.  _a_t_t_a_c_h _a_x_i_p

A "wormhole" ax25 digipeater device.

_3._8._4.  _a_t_t_a_c_h _a_r_c_n_e_t

A ARCnet driver via the PACKET driver.

_3._8._5.  _a_t_t_a_c_h _d_r_s_i

N6TTO driver for the DRSI PCPA 8530 card.

_3._8._6.  _a_t_t_a_c_h _e_a_g_l_e

WA3CVG/NG6Q driver for the Eagle Computer card (Zilog 8530).

_3._8._7.  _a_t_t_a_c_h _h_a_p_n

KE3Z driver for the Hamilton Amateur  Packet  Network  adapter  board  (Intel
8273).

_3._8._8.  _a_t_t_a_c_h _h_s

Special "high speed" 8530 driver for the WA4DSY 56kb/s modem.

_3._8._9.  _a_t_t_a_c_h _k_i_s_s

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._8._1_0.  _a_t_t_a_c_h _n_e_t_r_o_m

This is a psuedo interface to enable NET/ROM operations.

_3._8._1_1.  _a_t_t_a_c_h _p_a_c_k_e_t

Driver for use with  separate  software  "packet  drivers"  meeting  the  FTP
Software, Inc, Software Packet Driver specification.

_3._8._1_2.  _a_t_t_a_c_h _p_c_1_0_0

Driver for the PACCOMM PC-100 (Zilog 8530) card.

_3._8._1_3.  _a_t_t_a_c_h _p_i

Dma driven 8530 scc board from VE3IFB.








                                   - 8 -
_3._8._1_4.  _a_t_t_a_c_h _s_c_c

PE1CHL driver for generic 8530 cards.

_3._8._1_5.  _a_t_t_a_c_h _s_l_f_p

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. aaaattttttttaaaacccchhhh ppppaaaacccckkkkeeeetttt.)  This produces a
usage message giving the complete command format.

_3._9.  _a_t_t_e_n_d_e_d [_o_f_f | _o_n]

Displays or sets the global "I am present" flag in NNNNoooossss. This flag is used  in
the welcome header by incoming ttylink connections.

_3._1_0.  _a_x_2_5 <_s_u_b_c_o_m_m_a_n_d>

These commands are for Ax25 interfaces.

_3._1_0._1.  _a_x_2_5 _b_c <_i_n_t_e_r_f_a_c_e> [_o_n | _o_f_f]

The bc command displays or  enables  or  disables  broadcasts  via  interface
iiiinnnntttteeeerrrrffffaaaacccceeee when on | off are given.

_3._1_0._2.  _a_x_2_5 _b_c_i_n_t_e_r_v_a_l [<_s_e_c_o_n_d_s>]

The bcinterval displays or sets the time in seconds  between  bbbbcccc  broadcasts.
On display both the interval and the countdown values are shown.

_3._1_0._3.  _a_x_2_5 _b_c_k_i_c_k <_i_n_t_e_r_f_a_c_e>

The bckick command issues a direct broadcast to interface iiiinnnntttteeeerrrrffffaaaacccceeee  when  so
enabled by a _a_x_2_5 _b_c <_i_n_t_e_r_f_a_c_e> _o_n command.

_3._1_0._4.  _a_x_2_5 _b_c_t_e_x_t ["_b_r_o_a_d_c_a_s_t _t_e_x_t"]

The bctext command displays or sets the text to be send  for  broadcast  mes-
sages send out every bbbbcccciiiinnnntttteeeerrrrvvvvaaaallll seconds.

_3._1_0._5.  _a_x_2_5 _b_l_i_m_i_t [<_l_i_m_i_t>]

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 _b_i_n_a_r_y _e_x_p_o_n_e_n_t_i_a_l _b_a_c_k_o_f_f.  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._1_0._6.  _a_x_2_5 _d_e_s_t

See ax25 hearddest command. This is a shorthand version of it.

_3._1_0._7.  _a_x_2_5 _d_i_g_i_p_e_a_t [_o_n | _o_f_f]

Display or set the digipeater enable flag. If the axip interface is used this
flag MUST be on , otherwise the digipeat function will not work at all.





                                   - 9 -
_3._1_0._8.  _a_x_2_5 _f_i_l_t_e_r <_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._1_0._9.  _a_x_2_5 _f_l_u_s_h

Clear the AX.25 "heard" list (see aaaaxxxx22225555 hhhheeeeaaaarrrrdddd).

_3._1_0._1_0.  _a_x_2_5 _h_e_a_r_d [<_i_n_t_e_r_f_a_c_e>]

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 aaaaxxxx22225555 ffffiiiilllltttteeeerrrr command.

_3._1_0._1_1.  _a_x_2_5 _h_e_a_r_d_d_e_s_t [<_i_n_t_e_r_f_a_c_e>]

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._1_0._1_2.  _a_x_2_5 _i_r_t_t [<_m_i_l_l_i_s_e_c_o_n_d_s>]

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._1_0._1_3.  _a_x_2_5 _k_i_c_k <_a_x_c_b>

Force a retransmission on the specified AX.25  control  block.   The  control
block address can be found with the aaaaxxxx22225555 ssssttttaaaattttuuuussss command.

_3._1_0._1_4.  _a_x_2_5 _m_a_x_f_r_a_m_e [<_c_o_u_n_t>]

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 ccccoooouuuunnnntttt it will display the current  setting.  Note  that  the
maximum outstaning frame count only works with virtual connections. UI frames
are not affected.

_3._1_0._1_5.  _a_x_2_5 _m_y_c_a_l_l [<_a_x_2_5__a_d_d_r>]

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 aaaattttttttaaaacccchhhh com-
mands using AX.25 mode are given.

_3._1_0._1_6.  _a_x_2_5 _p_a_c_l_e_n [<_s_i_z_e>]

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




                                  - 10 -
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._1_0._1_7.  _a_x_2_5 _p_t_h_r_e_s_h [<_s_i_z_e>]

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 ppppaaaacccclllleeeennnn.

_3._1_0._1_8.  _a_x_2_5 _r_e_s_e_t <_a_x_c_b>

Delete the AX.25 connection control block at the specified address.

_3._1_0._1_9.  _a_x_2_5 _r_e_t_r_y [<_c_o_u_n_t>]

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 rrrreeeettttrrrryyyy times, then the connection  is  abandoned  and
all queued data is deleted.

_3._1_0._2_0.  _a_x_2_5 _r_o_u_t_e

Display the AX.25 routing table that specifies the digipeaters to be used  in
reaching a given station.

_3._1_0._2_0._1.  _a_x_2_5 _r_o_u_t_e _a_d_d <_t_a_r_g_e_t> [_d_i_g_i_s ... ]

Add an entry to the AX.25 routing table.  An automatic aaaaxxxx22225555 rrrroooouuuutttteeee aaaadddddddd is exe-
cuted  if  digipeaters are specified in an AX25 ccccoooonnnnnnnneeeecccctttt 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._1_0._2_0._2.  _a_x_2_5 _r_o_u_t_e _d_r_o_p <_t_a_r_g_e_t>

Drop an entry for target from the AX.25 routing table.

_3._1_0._2_0._3.  _a_x_2_5 _r_o_u_t_e _m_o_d_e <_t_a_r_g_e_t> [_v_c | _d_a_t_a_g_r_a_m | _i_n_t_e_r_f_a_c_e]

Sets the mode to vc | datagram |  interface  for  target.  IIIInnnntttteeeerrrrffffaaaacccceeee  is  the
default for that interface. VVVVcccc is a virtual circuit (ax25 connected mode) and
ddddaaaattttaaaaggggrrrraaaammmm is unconnected mode, (AX25 UI frames).

_3._1_0._2_1.  _a_x_2_5 _s_t_a_t_u_s [<_a_x_c_b>]

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




                                  - 11 -
that control block are dumped in more detail. Note that the send queue  units
are frames, while the receive queue units are bytes.

_3._1_0._2_2.  _a_x_2_5 _t_3 [<_m_i_l_l_i_s_e_c_o_n_d_s>]

Display or set the AX.25 idle "keep alive" timer. Value is in milliseconds.

_3._1_0._2_3.  _a_x_2_5 _t_4 [<_s_e_c_o_n_d_s>]

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._1_0._2_4.  _a_x_2_5 _t_i_m_e_r_t_y_p_e [_l | _e | _o]

Sets or displays the type of timer  used  for  retransmission  and  recovery:
lllliiiinnnneeeeaaaarrrr,,,, eeeexxxxppppoooonnnneeeennnnttttiiiiaaaallll or oooorrrriiiiggggiiiinnnnaaaallll.

_3._1_0._2_5.  _a_x_2_5 _v_e_r_s_i_o_n [_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._1_0._2_6.  _a_x_2_5 _w_i_n_d_o_w [<_s_i_z_e>]

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._1_1.  _b_b_s

Enter the local bbs port (same as a telnet session to your own station).
Current commands are:
help      ? <command>
area      a [<area>]
bye       b
connect   c <node>
          c <interface> <ax25_addr> [[<ax25_addr>] .... ]
download  d <filename>
          du <filename>         (for uuencode bin file)
escape    e [<escape char.]
finger    f [<user>]
help      h [<command>]
info      i
jheard    j
kill      k <msg number>
list      l [<msg number>]
mbusers   m
nodes     n <node>
operator  o
ports     p
read      r [<msg number>]
send      s[f] <usename[@hostid] [<from_addr>] [$bul_id]
send repl sr [<mgs number>]
telnet    t <hostid>
upload    u <filename>




                                  - 12 -
verbose   v <n>
what      w [<directory>]
expert    x
zap       z <filename>
sysop     @

_3._1_2.  _b_o_o_t_p <_s_u_b_c_o_m_m_a_n_d>

This is a bootp server / client, included into NNNNoooossss. It is picked up from  the
University  of  Michigan in Ann Arbor. It is included into the sources of NNNNoooossss
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._1_2._1.  _b_o_o_t_p _s_t_a_r_t

Starts the bootp server.

_3._1_2._2.  _b_o_o_t_p _s_t_o_p

Stops the bootp server.

_3._1_2._3.  _b_o_o_t_p _d_n_s [<_i_p_a_d_d_r>]

Display or set the list of domain name servers for bbbboooooooottttpppp.

_3._1_2._4.  _b_o_o_t_p _d_y_i_p [<_i_f_a_c_e> | <_i_f_a_c_e> <_i_p_a_d_d_r_1> <_i_p_a_d_d_r_2> | <_i_f_a_c_e> _o_f_f]

Display or set the interface address range. The range is between _i_p_a_d_d_r_1  and
_i_p_a_d_d_r_2, both in dot notation.

_3._1_2._5.  _b_o_o_t_p _h_o_s_t [<_h_o_s_t_a_d_d_r> <_h_a_r_d_w_a_r_e _t_y_p_e>  <_h_a_r_d_w_a_r_e  _a_d_d_r>  <_i_p  _a_d_d_r>
[_b_o_o_t _f_i_l_e]]

Display or activate a bootp process. _H_a_r_d_w_a_r_e _t_y_p_e is netrom,  ether,  macap-
pletalk  or ax25. _H_a_r_d_w_a_r_e _a_d_d_r is the interface name. _I_p _a_d_d_r must be in dot
notation.

_3._1_2._6.  _b_o_o_t_p _r_m_h_o_s_t <_i_p_a_d_d_r>

Delete _i_p_a_d_d_r from the host table.

_3._1_2._7.  _b_o_o_t_p _h_o_m_e_d_i_r [<_d_i_r_e_c_t_o_r_y> | _d_e_f_a_u_l_t]

Display or set the directory where the bbbboooooooottttpppp files reside. The default direc-
tory is bpfiles.

_3._1_2._8.  _b_o_o_t_p _d_e_f_a_u_l_t_f_i_l_e [<_b_o_o_t_f_i_l_e> | _d_e_f_a_u_l_t]

Display or set the file name of the bbbboooooooottttpppp file. The default is boot.

_3._1_2._9.  _b_o_o_t_p _l_o_g_f_i_l_e [<_f_i_l_e_n_a_m_e> | _d_e_f_a_u_l_t] [_o_n | _o_f_f]

Starts or stops the logging of bbbboooooooottttpppp requests to _f_i_l_e_n_a_m_e or the default file
name _b_o_o_t_p_l_o_g.

_3._1_2._1_0.  _b_o_o_t_p _l_o_g_s_c_r_e_e_n [_o_n | _o_f_f]

Enables or disables the logging of bbbboooooooottttpppp to the screen.






                                  - 13 -
_3._1_3.  _b_o_o_t_p_d

This starts the server daemon for bbbboooooooottttpppp.

_3._1_4.  _c_d [<_d_i_r_n_a_m_e>]

Change the current working directory, and display the new  setting.   Without
an  argument,  ccccdddd  simply displays the current directory without change.  The
ppppwwwwdddd command is an alias for ccccdddd.

_3._1_5.  _c_l_o_s_e [<_s_e_s_s_i_o_n>]

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 (QQQQUUUUIIIITTTT 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 rrrreeeesssseeeetttt command,
in that it is less likely to leave the remote TCP in a "half-open" state.

_3._1_6.  _c_l_s

Clears the current session screen (command screen).

_3._1_7.  _c_o_m_m <_i_n_t_e_r_f_a_c_e> <_t_e_x_t-_s_t_r_i_n_g>

The ccccoooommmmmmmm command sends tttteeeexxxxtttt----ssssttttrrrriiiinnnngggg via iiiinnnntttteeeerrrrffffaaaacccceeee.  This can be used  to  send
straight  text  to an tnc still in TAPR command mode during NNNNoooossss startup. Note
that to preserve spaces tabs etc. to include the string between double  quote
characters. Aka: comm ax1 "start kiss"

_3._1_8.  _c_o_n_n_e_c_t <_i_f_a_c_e> <_a_x_2_5__a_d_d_r> [<_d_i_g_i_p_e_a_t_e_r> ... ]

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  vvvviiiiaaaa  is  NOT
needed.  If  digipeaters  are  specified, they are automatically added to the
AX25 routing table as though the aaaaxxxx22225555 rrrroooouuuutttteeee aaaadddddddd command had been given before
issuing the ccccoooonnnnnnnneeeecccctttt command.

_3._1_9.  _d_e_l_e_t_e <_f_i_l_e_n_a_m_e>

The ffffiiiilllleeeennnnaaaammmmeeee is removed from the file system.

_3._2_0.  _d_e_t_a_c_h <_i_f_a_c_e>

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.








                                  - 14 -
_3._2_1.  _d_i_a_l_e_r <_i_f_a_c_e> [<_f_i_l_e> [<_s_e_c_o_n_d_s> [<_p_i_n_g_s> [<_h_o_s_t_i_d>]]]]

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 IIIInnnnssssttttaaaalllllllliiiioooonnnn section).  The commands in the file are
described in the DDDDiiiiaaaalllleeeerrrr SSSSuuuubbbbccccoooommmmmmmmaaaannnnddddssss chapter.
Commands in ffffiiiilllleeee are:

_3._2_1._1.  _c_o_n_t_r_o_l <_u_p | _d_o_w_n>


_3._2_1._2.  _s_e_n_d <_s_t_r_i_n_g> [<_m_i_l_l_i_s_e_c_o_n_d_s>]

Sends ssssttttrrrriiiinnnngggg to the interface. If mmmmiiiilllllllliiiisssseeeeccccoooonnnnddddssss is given, inter character tim-
ing is mmmmiiiilllllllliiiisssseeeeccccoooonnnnddddssss milliseconds.

_3._2_1._3.  _s_p_e_e_d <_b_p_s>

Displays or sets the current interface speed to bbbbppppssss baud.

_3._2_1._4.  _s_t_a_t_u_s <_u_p | _d_o_w_n>


_3._2_1._5.  _w_a_i_t <_m_i_l_l_i_s_e_c_o_n_d_s> [<_s_t_r_i_n_g> [_s_p_e_e_d]]

Wait the amount of mmmmiiiilllllllliiiisssseeeeccccoooonnnnddddssss. If ssssttttrrrriiiinnnngggg is given, incoming characters from
the  interface  are compared with ssssttttrrrriiiinnnngggg. If an compare is found and ssssppppeeeeeeeedddd 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._2_2.  _d_i_r [<_d_i_r_n_a_m_e>]

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  mmmmoooorrrreeee
session to display it. After this completes, the temporary file is deleted.

_3._2_3.  _d_i_s_c_o_n_n_e_c_t [<_s_e_s_s_i_o_n>]

An alias for the cccclllloooosssseeee command (for the benefit of AX.25 users).

_3._2_4.  _d_o_m_a_i_n <_s_u_b_c_o_m_m_a_n_d>

The domain commands control and show the working  of  the  name  to  internet
address  mapping software. NNNNOOOOSSSS 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.








                                  - 15 -
_3._2_4._1.  _d_o_m_a_i_n _a_d_d_s_e_r_v_e_r <_h_o_s_t_i_d>

Add a domain name server to the list of name servers.  Note that,  when  this
command is given in the aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss file the iiiipppp aaaaddddddddrrrreeeessssssss command should given
be before this command is used.  (If not, NNNNoooossss will not kow how to resolve the
address,  and  an answer will never be recognized, or worse: just plain hangs
the system.)

_3._2_4._2.  _d_o_m_a_i_n _c_a_c_h_e <_s_u_b_c_o_m_m_a_n_d>

Following commands work on the domain cache. These are resource records  (see
RFC 1033/1034) held in memory.

_3._2_4._2._1.  _d_o_m_a_i_n _c_a_c_h_e _c_l_e_a_n [<_y_e_s | _n_o>]

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._2_4._2._2.  _d_o_m_a_i_n _c_a_c_h_e _l_i_s_t

This command shows the current content of the in memory  cache  for  resource
records.

_3._2_4._2._3.  _d_o_m_a_i_n _c_a_c_h_e _s_i_z_e [<_s_i_z_e>]

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 ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt file.)

_3._2_4._2._4.  _d_o_m_a_i_n _c_a_c_h_e _w_a_i_t [<_s_e_c_o_n_d_s>]

Display or set the interval in seconds to wait for additional activity before
updating the ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt file.  The default is 300 seconds (5 minutes).

_3._2_4._3.  _d_o_m_a_i_n _d_r_o_p_s_e_r_v_e_r <_h_o_s_t_i_d>

Remove a domain name server from the list of name servers.   You  are  warned
when you delete the last name server.

_3._2_4._4.  _d_o_m_a_i_n _l_i_s_t_s_e_r_v_e_r_s

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._2_4._5.  _d_o_m_a_i_n _m_a_x_w_a_i_t [<_t_i_m_e_o_u_t>]

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




                                  - 16 -
database. The default is set to 30 seconds.

_3._2_4._6.  _d_o_m_a_i_n _r_e_t_r_y [<_r_e_t_r_i_e_s>]

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._2_4._7.  _d_o_m_a_i_n _s_u_f_f_i_x [<_d_o_m_a_i_n _s_u_f_f_i_x> | _n_o_n_e]

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
aaaammmmpppprrrr....oooorrrrgggg.... and the user enters tttteeeellllnnnneeeetttt kkkkaaaa9999qqqq, the domain resolver  will  attempt
to  find  kkkkaaaa9999qqqq....aaaammmmpppprrrr....oooorrrrgggg.....  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.,
tttteeeellllnnnneeeetttt ffffoooooooo....bbbbaaaarrrr would NOT be turned into ffffoooooooo....bbbbaaaarrrr....aaaammmmpppprrrr....oooorrrrgggg.....
tttteeeellllnnnneeeetttt ffffoooooooo....kkkkaaaa9999qqqq will be turned into ffffoooooooo....kkkkaaaa9999qqqq....aaaammmmpppprrrr....oooorrrrgggg.....  Note that a  trail-
ing  dot  (.)  is  required for the suffix.  If the suffix is the string nnnnoooonnnneeee
(without trailing period) the current suffix is cleared and forgotten.

_3._2_4._8.  _d_o_m_a_i_n _t_r_a_c_e [_o_n | _o_f_f]

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, ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt.

_3._2_4._9.  _d_o_m_a_i_n _t_r_a_n_s_l_a_t_e [_o_f_f | _o_n]

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._2_4._1_0.  _d_o_m_a_i_n _v_e_r_b_o_s_e [_o_f_f | _o_n]

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._2_4._1_1.  _d_o_m_a_i_n _x_y_z_z_y

This is (when spelled fully) a magic word to enable domain queries to outside
domain  servers when reading commands from the startup file. This should only
be used by those who have reliable access to a domain name server.

_3._2_5.  _d_r_s_i_s_t_a_t

Shows the statistics for all configured drsi boards.

_3._2_6.  _d_u_m_p <_h_e_x-_a_d_d_r_e_s_s | .> [_d_e_c_i_m_a_l-_r_a_n_g_e]

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.
dddduuuummmmpppp .... displayes memory starting at the end of a previous dump command.







                                  - 17 -
_3._2_7.  _e_c_h_o [_a_c_c_e_p_t | _r_e_f_u_s_e]

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  connec-
tion  request.  If  eeeecccchhhhoooo  aaaacccccccceeeepppptttt  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 eeeecccchhhhoooo rrrreeeeffffuuuusssseeee 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
ssssttttttttyyyy ----eeeecccchhhhoooo command to the shell once you have logged in.)

_3._2_8.  _e_o_l [_u_n_i_x | _s_t_a_n_d_a_r_d]

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._2_9.  _e_s_c_a_p_e [<_c_h_a_r>]

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 ffffkkkkeeeeyyyy.

_3._3_0.  _e_t_h_e_r_s_t_a_t

Display 3-Com Ethernet controller statistics (if configured).

_3._3_1.  _e_x_i_t

Exit the _n_o_s program and return to MS-DOS.

_3._3_2.  _f_i_n_g_e_r <_u_s_e_r@_h_o_s_t_i_d> | <@_h_o_s_t_i_d>

Issue a network finger request for user uuuusssseeeerrrr at host hhhhoooossssttttiiiidddd. This  creates  a
client  session  which  may  be interrupted, resumed, reset, etc, just like a
Telnet client session. If only @@@@hhhhoooossssttttiiiidddd is given, all users on that  host  are
identified.







                                  - 18 -
_3._3_3.  _f_k_e_y [<_n_u_m_b_e_r> [<_s_t_r_i_n_g>]]

Fkey displays or sets values for the programmable keys on  the  PC  keyboard.
ffffkkkkeeeeyyyy  alone  gives  a  display  of all remapable keys and their number.  ffffkkkkeeeeyyyy
nnnnuuuummmmbbbbeeeerrrr displays the current value for that key.  ffffkkkkeeeeyyyy nnnnuuuummmmbbbbeeeerrrr  ssssttttrrrriiiinnnngggg  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
The mapping is taken to  look  like  a  vt100  /  ansi  keyboard.   Currently
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 */


























                                  - 19 -
_3._3_4.  _f_t_p <_h_o_s_t_i_d>

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 theFFFFTTTTPPPP SSSSuuuubbbbccccoooommmmmmmmaaaannnnddddssss chapter  for  descriptions  of
the commands available in a FTP session.

_3._3_5.  _f_t_y_p_e [_a_s_c_i_i | _b_i_n_a_r_y | _i_m_a_g_e | _l_o_g_i_c_a_l <_s_i_z_e>]

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 ssssiiiizzzzeeee.

_3._3_6.  _h_e_l_p

Display a brief summary of top-level commands.

_3._3_7.  _h_o_p <_s_u_b_c_o_m_m_a_n_d_s>

These commands are used to test the connectivity of the network.

_3._3_7._1.  _h_o_p _c_h_e_c_k <_h_o_s_t_i_d>

Initiate a _h_o_p_c_h_e_c_k 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 ttttrrrraaaacccceeeerrrroooouuuutttteeee facility.

ICMP message tracing should be turned off before  this  command  is  executed
(see the iiiiccccmmmmpppp ttttrrrraaaacccceeee command).

_3._3_7._2.  _h_o_p _m_a_x_t_t_l [<_h_o_p_s>]

Display or set the maximum TTL value to be used in hop check sessions.   This
effectively bounds the radius of the search.

_3._3_7._3.  _h_o_p _m_a_x_w_a_i_t [<_s_e_c_o_n_d_s>]

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._3_7._4.  _h_o_p _q_u_e_r_i_e_s [<_c_o_u_n_t>]

Display or set the number of UDP probes that will be sent at  each  stage  of
the trace. The default is 3.

_3._3_7._5.  _h_o_p _t_r_a_c_e [_o_n | _o_f_f]

Display or set the flag that controls the display of  additional  information
during a hop check session.

_3._3_8.  _h_o_s_t_n_a_m_e [<_n_a_m_e>]

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 AAAAttttttttaaaacccchhhh ccccoooommmmmmmmaaaannnnddddssss  chapter),  this
command  will  search for a CNAME domain resource record which corresponds to




                                  - 20 -
the IP address of the <iface>.

_3._3_9.  _h_s

Display statistics about the HS high speed HDLC  driver  (if  configured  and
active).

_3._4_0.  _i_c_m_p <_s_u_b_c_o_m_m_a_n_d>

These commands are used for the Internet Control Message Protocol service.

_3._4_0._1.  _i_c_m_p _e_c_h_o [_o_n | _o_f_f]

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 ppppiiiinnnngggg
command.)

_3._4_0._2.  _i_c_m_p _s_t_a_t_u_s

Display statistics  about  the  Internet  Control  Message  Protocol  (ICMP),
including the number of ICMP messages of each type sent or received.

_3._4_0._3.  _i_c_m_p _t_r_a_c_e [_o_n | _o_f_f]

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  hhhhoooopppp  cccchhhheeeecccckkkk  facility because it relies on ICMP Time Exceeded mes-
sages, and the asynchronous display of these messages will  be  mingled  with
hhhhoooopppp cccchhhheeeecccckkkk command output.

_3._4_1.  _i_f_c_o_n_f_i_g

Display a list of interfaces, with a short status for each.

_3._4_1._1.  _i_f_c_o_n_f_i_g [<_i_f_a_c_e> [[[ <_s_u_b_c_o_m_m_a_n_d>  <_p_a_r_a_m>]  <_s_u_b_c_o_m_m_a_n_d>  <_p_a_r_a_m>]
... ]

When only iface is given, a extended interface status is displayed.  Multiple
subcommand / parameter can be put on one line.

_3._4_1._2.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _b_r_o_a_d_c_a_s_t <_a_d_d_r>

Set the broadcast address of interface iface to aaaaddddddddrrrr.  AAAAddddddddrrrr 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 nnnneeeettttmmmmaaaasssskkkk  sub-command.   See
also the aaaarrrrpppp command.

_3._4_1._3.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _d_e_s_c_r_i_p_t_i_o_n ["_d_e_s_c_r_i_p_t_i_o_n"]

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 iiiiffffccccoooonnnnffffiiiigggg iiiiffffaaaacccceeee command (no parameters) and with the  mail-
box commands.

_3._4_1._4.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _e_n_c_a_p_s_u_l_a_t_i_o_n <_s_l_i_p | _a_x_2_5 | _e_t_h_e_r | _e_n_c_a_p | _p_p_p>

Sets the encapsulation for interface iface to slip / ax25 / ether /  encap  /
ppp.






                                  - 21 -
_3._4_1._5.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _f_o_r_w_a_r_d <_i_f_a_c_e-_2>

When a forward is defined, all output for interface iiiiffffaaaacccceeee  is  redirected  to
the  interface  directed by iiiiffffaaaacccceeee----2222.  To remove the forward, set <iface-2> to
<iface>.

_3._4_1._6.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _i_p_a_d_d_r_e_s_s <_a_d_d_r>

Set the IP address to aaaaddddddddrrrr 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  iiiiffffccccoooonnnnffffiiiigggg  eeeecccc0000  iiiippppaaaaddddddddrrrreeeessssssss 111122229999....111177779999....111122222222....11110000 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 hhhhoooosssstttt----
nnnnaaaammmmeeee and iiiipppp aaaaddddddddrrrreeeessssssss commands.

_3._4_1._7.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _l_i_n_k_a_d_d_r_e_s_s <_h_a_r_d_w_a_r_e-_d_e_p_e_n_d_a_n_t>

Set the hardware dependant address for this interface.  For AX.25 this can be
the callsign, for ethernet a new ethernet address.

_3._4_1._8.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _m_t_u <_p_a_r_a_m>

Set the maximum transfer unit to ppppaaaarrrraaaammmm octeds (bytes).  See the  SSSSeeeettttttttiiiinnnngggg  ............
MMMMTTTTUUUU,,,, MMMMSSSSSSSS aaaannnndddd WWWWiiiinnnnddddoooowwww chapter for more information.

_3._4_1._9.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _n_e_t_m_a_s_k <_a_d_d_r_e_s_s>

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 bbbbrrrrooooaaaaddddccccaaaasssstttt sub-
command.  See also the rrrroooouuuutttteeee command.

_3._4_1._1_0.  _i_f_c_o_n_f_i_g <_i_f_a_c_e> _r_x_b_u_f <_s_i_z_e>

Set the receive buffer size.

_3._4_2.  _i_n_f_o

IIIInnnnffffoooo gives information about the version of NNNNoooossss  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._4_3.  _i_p <_s_u_b_c_o_m_m_a_n_d>

These commands are used for the Internet Protocol service.

_3._4_3._1.  _i_p _a_c_c_e_s_s <_p_e_r_m_i_t|_d_e_n_y|_d_e_l_e_t_e> <_d_e_s_t _a_d_d_r>[/<_b_i_t_s>] <_i_f_n_a_m_e> <_p_r_o_t_o_-
_c_o_l> <_l_o_w_p_o_r_t> [_h_i_g_p_o_r_t]

Set or display access control for IP routing functions. This  command  imple-
ments  router access functions to NNNNoooossssFFFFpppp.... PPPPeeeerrrrmmmmiiiitttt eeeennnnaaaabbbblllleeeessss ddddeeeesssstttt----aaaaddddddddrrrr ppppaaaacccckkkkeeeettttssss  ooooffff
ttttyyyyppppeeee pppprrrroooottttooooccccoooollll ttttoooo bbbbeeee rrrroooouuuutttteeeedddd vvvviiiiaaaa iiiiffffnnnnaaaammmmeeee.... DDDDeeeennnnyyyy ddddiiiissssaaaabbbblllleeeessss tttthhhhoooosssseeee....  PPPPrrrroooottttooooccccoooollll ccccaaaannnn  bbbbeeee
ttttccccpppp  oooorrrr  uuuuddddpppp.... OOOOnnnnllllyyyy tttthhhhoooosssseeee ttttwwwwoooo pppprrrroooottttooooccccoooollll ttttyyyyppppeeeessss aaaarrrreeee cccchhhheeeecccckkkkeeeedddd....  IIIIffff lllloooowwwwppppoooorrrrtttt iiiissss ggggiiiivvvveeeennnn
aaaassss kkkkeeeeyyyywwwwoooorrrrdddd aaaallllllll,,,, aaaallllllll ppppoooorrrrttttssss aaaarrrreeee aaaassssssssuuuummmmeeeedddd....  IIIIffff oooonnnnllllyyyy lllloooowwwwppppoooorrrrtttt iiiissss ggggiiiivvvveeeennnn,,,,  tttthhhhaaaatttt  ppppoooorrrrtttt
iiiissss  oooonnnnllllyyyy  cccchhhheeeecccckkkkeeeedddd ffffoooorrrr ppppeeeerrrrmmmmiiiissssssssiiiioooonnnn....  IIIIffff lllloooowwwwppppoooorrrrtttt aaaannnndddd hhhhiiiigggghhhhppppoooorrrrtttt aaaarrrreeee ggggiiiivvvveeeennnn,,,, tttthhhhaaaatttt iiiissss
tttthhhheeee rrrraaaannnnggggeeee ooooffff ppppoooorrrrttttssss ppppeeeerrrrmmmmiiiitttttttteeeedddd////ddddeeeennnniiiieeeedddd....  DDDDeeeesssstttt----aaaaddddddddrrrr ccccaaaannnn bbbbeeee tttthhhheeee wwwwoooorrrrdddd aaaallllllll  ffffoooorrrr  aaaallllllll
aaaaddddddddrrrreeeesssssssseeeessss  ppppoooossssssssiiiibbbblllleeee....  TTTThhhheeee iiiipppp aaaacccccccceeeessssssss ddddeeeelllleeeetttteeee mmmmuuuusssstttt mmmmaaaattttcccchhhh aaaa pppprrrreeeevvvviiiioooouuuussss ddddeeeeffffiiiinnnneeeedddd ppppeeeerrrr----
mmmmiiiitttt oooorrrr ddddeeeennnnyyyy ttttoooo bbbbeeee aaaabbbblllleeee ttttoooo ddddeeeelllleeeetttteeee tttthhhhaaaatttt ddddeeeeffffiiiinnnniiiittttiiiioooonnnn....  SSSSoooommmmeeee ssssaaaammmmpppplllleeeessss::::




                                  - 22 -
iiiip access permit 44/8 ax0 tcp 20 25
ip access deny all ax0 tcp 1 1023
ip access permit all ax0 udp all If no access list is  created,  all  inter-
faces might carry all types. If an access control is defined for an interface
there must be an permit defined for that interface to allow trafic.  Thus  an
partial denyal without an permit is an complete denyal for that interface.

_3._4_3._2.  _i_p _a_c_c_e_s_s _t_r_a_c_e <_d_e_s_t _a_d_d_r|_0>

The ip access trace command shows the desissions made during  access  control
for given address. Specifing the address 0 disables the trace. No subnet bits
are recognized, just a full 32 bits address. This is a debug tool.

_3._4_3._3.  _i_p _a_d_d_r_e_s_s [<_h_o_s_t_i_d>]

Display or set the default local IP  address.  This  command  must  be  given
before  an  aaaattttttttaaaacccchhhh  command if it is to be used as the default IP address for
the interface.

_3._4_3._4.  _i_p _r_t_i_m_e_r [<_s_e_c_o_n_d_s>]

Display or set the IP reassembly timeout. The default is 30  seconds.   VVVVaaaalllluuuueeee
is in seconds.

_3._4_3._5.  _i_p _s_t_a_t_u_s

Display Internet Protocol (IP) statistics, such as total  packet  counts  and
error counters of various types.

_3._4_3._6.  _i_p _t_t_l [<_h_o_p_s>]

Display or set the default time-to-live value  placed  in  each  outgoing  IP
datagram.  This limits the number of switch hops the datagram will be allowed
to take. The idea is to bound the lifetime of the  packet  should  it  become
caught  in  a routing loop, so make the value slightly larger than the number
of hops across the network you expect to transit packets.  The default is set
at compilation time to the official recommended value for the Internet.

_3._4_4.  _i_s_a_t [_o_n | _o_f_f]

Display or set the AT flag.  Normaly this flag is set when  an  interface  is
attached  with an interrupt of 8 or higher. This is to signal that the second
interrupt controllerc in a AT also needs an return of interrupt  signal.   If
an  AT  type  clock is in use, this command will allow measurement of time in
milliseconds, rather than clock ticks (55 milliseconds per clock tick).  Dur-
ing  I/O initialisation this flag is set if the monitor prom has the standard
byte 0xfc at address f000:fffe.

_3._4_5.  _k_i_c_k [<_s_e_s_s_i_o_n>]

Kick all sockets associated with a session; if no argument is given, kick the
current  session.   Performs  the same function as the aaaaxxxx22225555 kkkkiiiicccckkkk and ttttccccpppp kkkkiiiicccckkkk
commands, but is easier to type.

_3._4_6.  _l_o_c_k [_p_a_s_s_w_o_r_d <"_p_a_s_s_w_o_r_d _s_t_r_i_n_g">]

Locks the keyboard or defines a password string.  If ppppaaaasssssssswwwwoooorrrrdddd is  given  then
<password> is saved as the unlock string.  If no parameters are supplied, the
keyboard becomes locked when a password was specified earlier.  If  the  key-
board  is  locked,  the password is requested.  If a correct password is sup-
plied, the keyboard becomes  unlocked.   The  setting  of  the  password  and




                                  - 23 -
locking  of the keyboard can only been done by the system console keyboard or
aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss startup file.  The password can not been shown.

_3._4_7.  _l_o_g [_s_t_o_p | <_f_i_l_e_n_a_m_e>]

Display the current log filename or set the ffffiiiilllleeeennnnaaaammmmeeee for logging server  ses-
sions.  If  ssssttttoooopppp is given as the argument, logging is terminated (the servers
themselves are unaffected).  If a file name is given as an  argument,  server
session log entries will be appended to it.

_3._4_8.  _l_z_w [<_s_u_b_c_o_m_m_a_n_d>]

Lzw is the data compression capability on  some  sockets.  This  command  set
defines or changes their definition. Normaly leave this set default.

_3._4_8._1.  _l_z_w _m_o_d_e <_f_a_s_t|_c_o_m_p_a_c_t>

Displays or sets  the  compression  methode  used  on  data  compression  for
specific sockets. Currently SMTP can use compression.

_3._4_8._2.  _l_z_w _b_i_t_s <_n_u_m_b_e_r>

Displays or sets the number of bits used for the compression size.  The  more
bits defined the larger the table space needed. Range is 9 to 16.

_3._4_9.  _m_a_i_l

This command will start a shell escape command. The mailer  used  is  defined
with the DOS environment variable MAILER, wich defaults to BBBBMMMM....EEEEXXXXEEEE.

_3._5_0.  _m_b_o_x [<_s_u_b_c_o_m_m_a_n_d>]

Display the status of the mailbox server system (if configured).

_3._5_0._1.  _m_b_o_x _a_t_t_e_n_d [_y_e_s | _n_o]

Displays or sets the attended flag on. This is used to announce in the  mail-
box if the station mannager is willing to attend his station (chat).

_3._5_0._2.  _m_b_o_x _e_x_p_e_r_t <_o_n|_o_f_f>

Displays or set the level expected of a mailbox user. When set (s)he  gets  a
short  ( > ) prompt. When not set a long prompt is send with the first letter
of each mailbox command as prompt. The user can then set Xpert  mode  to  get
the short prompt.

_3._5_0._3.  _m_b_o_x _f_w_d_i_n_f_o ["_f_o_r_w_a_r_d _i_n_f_o"]

Displays or sets the mailbox forward info to be included in the R:  line  for
forwarded BBS bulletins.  An empty string ("") as info clears the info field.

Sample: netrom fwdinfo "HNLNET BBS"

Will show '[HNLNET BBS]' in the R: line.

_3._5_0._4.  _m_b_o_x _h_a_d_d_r_e_s_s ["_h_o_m_e-_a_d_d_r_e_s_s"]

Displays or sets the home address field to be included in  the  R:  line  for
forwarded BBS bulletins.  An empty string ("") clears the field.

Sample: netrom haddress "#CRV.OR.USA"




                                  - 24 -
Will show '@WG7J#CRV.OR.USA' in the R: line. (when ax mycall is WG7J)

_3._5_0._5.  _m_b_o_x _j_u_m_p_s_t_a_r_t <_o_n|_o_f_f>

Displays or sets the mailbox jumpstart code. When set  and  an  "known"  node
connects to the mailbox, no extra line needs to be send to activate the mail-
box but the prompt is send directly. Warning: When set, it takes a  while  to
hear  all  nodes and an AX25 connect could have an wrong start as there is no
wait for a level 3 protocol check.  Especialy  RSPF  in  virtual  mode  could
course serious problems.

_3._5_0._6.  _m_b_o_x _k_i_c_k

To kick the mailbox back in activity after retry timeouts.

_3._5_0._7.  _m_b_o_x _m_a_x_m_s_g

To display or set the maximum number of messages per area when  an  notesfile
is shown to a user. This reserves lots of memory for every mailbox session.

_3._5_0._8.  _m_b_o_x _m_o_t_d ["_m_e_s_s_a_g_e _s_t_r_i_n_g"]

Display ot set the mailbox welcoming Message Of The Day.

_3._5_0._9.  _m_b_o_x _n_r_i_d <_o_n|_o_f_f>

DIsplays or sets the Netrom id flag. When set the node id is displayed on the
prompt line.

_3._5_0._1_0.  _m_b_o_x _o_p_e_r_a_t_o_r [<_a_d_d_r_e_s_s>]

The operator command shows or sets  an  alternate  address  for  the  control
operator. When set and mbox attend is off or the user is "shelled out" and an
mbox user requests a Operator command, the ttylink session is  redirected  to
the address specified. Else it works as before that the mbox user is notified
with "Unattended". When the system pointed to by address  has  also  set  its
attended to off, then an Unattended is replied with as well (but generated by
the remote station). This is a "flaky" way of having an  attended  unattended
system.

_3._5_0._1_1.  _m_b_o_x _p_a_s_s_w_o_r_d <"_p_a_s_s_w_o_r_d _s_t_r_i_n_g">

Sets a password string to be presented to Sysops entering that  mode  in  the
mailbox  (using  the  @ command and having that priviledge set to their login
name/password in ffff////ffffttttppppuuuusssseeeerrrrssss). When a password is defined (max 30  characters)
then  (s)he  is  prompted with 5 numbers before letting her/him in.  The five
numbers represent the 5 character locations in the  string  defined,  whereby
the  first character is number 0.  Multiple lines of 5 characters can be send
to fool "snoopers".  The end of password sending is signaled  with  an  empty
line.  If  there  was a good response, sysop mode is entered.  The setting of
the password can only been done by the system console or aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss startup
file. The password can not been shown.

_3._5_0._1_2.  _m_b_o_x _q_t_h ["_q_t_h _i_n_f_o"]

Sample: netrom qth "Driebruggen, NL"


Displays or sets the info for qth in the R: line for forwarded BBS messages.






                                  - 25 -
_3._5_0._1_3.  _m_b_o_x _s_e_c_u_r_e <_y_e_s|_n_o>

Displays or sets the security option for mailbox gateway users. If set  users
comming  in via telnet to the bbs are not allowed to use the gateway.  If not
set anybody can use the gateway. (Note: No check for Bozo's).  Also the mail-
box send command is disabled except for ax25 and netrom connects.

_3._5_0._1_4.  _m_b_o_x _s_m_t_p_t_o_o <_y_e_s|_n_o>

Displays or sets the flag to include SMTP headers in BBS messages.  When  set
SMTP headers are included in messages. When not set not included.

_3._5_0._1_5.  _m_b_o_x _s_t_a_t_u_s

An alias for just entering mbox on the prompt line.

_3._5_0._1_6.  _m_b_o_x _t_i_m_e_r [<_s_e_c_o_n_d_s>]

Display the current interval and time remainig or set the mailbox  forwarding
timer.

_3._5_0._1_7.  _m_b_o_x _t_i_p_t_i_m_e_o_u_t

Displays or sets the timeout value for tip connection timeout. After  ttttiiiimmmmeeeeoooouuuutttt
seconds of no activity the connection is closed.

_3._5_0._1_8.  _m_b_o_x _t_r_a_c_e [_y_e_s | _n_o]

Displays or sets mailbox forward trace code flag. The trace is  very  minimal
but every one working on mailbox/forward code now has a common flag MMMMttttrrrraaaacccceeee.

_3._5_0._1_9.  _m_b_o_x _u_t_c <_o_f_f_s_e_t>

Displays or sets the offset you are according  to  ZULU  time.  Positive  and
negative  numbers  are supported and full leap year and month calculation are
done. This is used by the mailbox forwarding to give a standard time  in  the
R: line.

_3._5_0._2_0.  _m_b_o_x _z_i_p_c_o_d_e _z_i_p

Displays or sets the info for the zip field for R:  line  BBS  header  lines.
This  field  is  max 7 characters long as released. For USA the zip is only 6
numbers long. Netherlands has 4 figures a space and 2  letters.  Guess  every
PTT wants something they "invented" their own.

Sample: netrom zip "3465 TJ"    or:  netrom zip 54551


_3._5_1.  _m_e_m_o_r_y <_s_u_b_c_o_m_m_a_n_d>

These commands are used for memory allocation.

_3._5_1._1.  _m_e_m_o_r_y _d_e_b_u_g [_o_n|_o_f_f]

Displays or sets the memory allocator debug flag. If set debug information is
written  to the log file containing most flags and parameters from the memory
allocation routines.








                                  - 26 -
_3._5_1._2.  _m_e_m_o_r_y _e_f_f_i_c_i_e_n_t [_y_e_s | _n_o]

Displays or sets the search algorithm for buffer memory. When set the  search
is  always  started  from  the beginning of the free list. This is slower but
keeps memory fragmentation to a minimum. When clear search is started on  the
end,  accounting  for  more  memory  fragmentation but keeping speed. Roumers
state that you should include this command as the first line in aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss.
The current releases default sets efficient to yes.

_3._5_1._3.  _m_e_m_o_r_y _f_r_e_e_l_i_s_t

Display the storage allocator free list. Each entry consists  of  a  starting
address, in hex, and a size, in decimal bytes.

_3._5_1._4.  _m_e_m_o_r_y _i_b_u_f_s_i_z_e [<_s_i_z_e>]

Display or set the size of the buffers in the  interrupt  buffer  pool.   The
size  should  be  set to the largest type of buffer plus a header size of 22.
For example: If your ax25 is the omly interface and a packet length of 256 is
defined,  the  ibufsize  should  be 256 + 10 * 6 + 22. The 10 * 6 is the ax25
header (source , destination and 8 digipeaters).

_3._5_1._5.  _m_e_m_o_r_y _m_i_n_h_e_a_p [<_n_u_m_b_e_r>]

Displays or sets the minimum heap size to be allocated before shell  escaping
to  DOS.  This  assures a free heap so that NNNNoooossss can run trough without gettig
short on memory for a while.

_3._5_1._6.  _m_e_m_o_r_y _n_i_b_u_f_s [<_n_u_m_b_e_r>]

Display or set the number of interrupt buffer pool buffers.  If the number of
buffers  is  set,  the  statistics in the mmmmeeeemmmmoooorrrryyyy ssssttttaaaattttuuuussss display are reset for
number of interrupt buffer fails. The minimum available value is set  to  the
requested  number  of buffers.  A roule of thumb for the number of buffers is
to watch the statistics and keep a minimum of 2  free  buffers.  Increase  or
decrease as required.

_3._5_1._7.  _m_e_m_o_r_y _s_i_z_e_s

Display a histogram of storage allocator request sizes. Each histogram bin is
a binary order of magnitude (i.e., a factor of 2).

_3._5_1._8.  _m_e_m_o_r_y _s_t_a_t_u_s

Display a summary of storage allocator statistics. The first line  shows  the
base address of the heap, its total size, the amount of heap memory available
in bytes and as a percentage of the total heap size, and the amount of memory
left  over  (i.e., not placed on the heap at startup) and therefore available
for sssshhhheeeellllllll subcommands.

The second line shows the total number of calls to allocate and  free  blocks
of  memory, the difference of these two values (i.e., the number of allocated
blocks outstanding), the number of allocation requests that were  denied  due
to  lack  of memory, and the number of calls to free() that attempted to free
garbage (eg. by freeing the same block twice or freeing a garbled pointer).

The third line shows the garbage collection status.  Garbage collection is  a
separate  process running every second. If memory is "low" garbage collection
routines are called in "Red alert" mode, else in "Yellow alert".

The fourth line shows the number of calls to malloc and  free  that  occurred




                                  - 27 -
with  interrupts  off. In normal situations these values should be zero.  The
fourth line shows statistics for the special pool of fixed-size buffers  used
to satisfy requests for memory at interrupt time. The variables shown are the
number of buffers currently in the  pool,  their  size,  and  the  number  of
requests that failed due to exhaustion of the pool.

The fifth line shows the current setting of the interrupt  buffer  pool,  its
minimal  value  and the number of no buffers available.  These statistics are
reset when a mmmmeeeemmmmoooorrrryyyy nnnniiiibbbbuuuuffffssss <<<<nnnnuuuummmmbbbbeeeerrrr>>>> command is given.

_3._5_1._9.  _m_e_m_o_r_y _t_h_r_e_s_h [<_s_i_z_e>]

Displays or sets the memory threshold size in bytes.  If  memory  gets  below
this value , no more new sessions are started or accepted.

_3._5_2.  _m_k_d_i_r <_d_i_r_n_a_m_e>

Create a sub-directory in the current working directory.

_3._5_3.  _m_o_d_e <_i_f_a_c_e> [_v_c | _d_a_t_a_g_r_a_m]

Control the default transmission mode on the specified AX.25  interface.   In
ddddaaaattttaaaaggggrrrraaaammmm mode, IP packets are encapsulated in AX.25 UI frames and transmitted
without any other link level mechanisms, such as connections or  acknowledge-
ments.

In vvvvcccc (virtual circuit) mode, IP packets are encapsulated in AX.25  I  frames
and are acknowledged at the link level according to the AX.25 protocol.  Link
level connections are opened if necessary.

In both modes, ARP is used to map IP to AX.25 addresses.  The defaults can be
overridden  with the type-of-service (TOS) bits in the IP header.  Turning on
the "reliability" bit causes I frames to be used, while turning on  the  "low
delay"  bit uses UI frames.  (The effect of turning on both bits is undefined
and subject to change).

In both modes, IP-level fragmentation is done if the datagram is larger  than
the interface  MTU.  In virtual circuit mode, however, the resulting datagram
(or fragments) is further fragmented at the AX.25 layer if it (or  they)  are
still  larger  than  the  AX.25  ppppaaaacccclllleeeennnn  parameter.  In  AX.25 fragmentation,
datagrams are broken into several I frames and reassembled at  the  receiving
end  before  being passed to IP. This is preferable to IP fragmentation when-
ever possible because of decreased overhead (the IP header isn't repeated  in
each  fragment)  and  increased  robustness  (a  lost fragment is immediately
retransmitted by the link layer).

_3._5_4.  _m_o_r_e <_f_i_l_e> [<_f_i_l_e> ...]

Display the specified file(s) a screen at a time.  To  proceed  to  the  next
screen,  press  the  space bar; to cancel the display, hit the 'q' key.  A CR
advances a line.  The mmmmoooorrrreeee command creates a session that you can suspend and
resume just like any other session.

_3._5_5.  _m_o_t_d [<"_m_e_s_s_a_g_e _o_f _t_h_e _d_a_y">]

Display the current message or  sets  the  welcome  message  to  the  defined
string.








                                  - 28 -
_3._5_6.  _m_u_l_t_i_t_a_s_k [_o_n | _o_f_f]

Displays or sets the multi task flag. If set NNNNoooossss  continues  to  service  its
interrupts  and  handling  of  normal operation when put in the background by
executing a shell escape. Some programs do not like  to  miss  valuable  time
taken away this way and weard results can happen. Clearing the flag stops all
activiity fron NNNNoooossss when put in the background.

_3._5_7.  _n_e_t_r_o_m <_s_u_b_c_o_m_m_a_n_d>


_3._5_7._1.  _n_e_t_r_o_m _a_c_k_t_i_m_e [<_m_i_l_l_i_s_e_c_o_n_d_s>]

Displays or sets the ack delay timer, similary to ax25 t2.

_3._5_7._2.  _n_e_t_r_o_m _a_l_i_a_s <_a_l_i_a_s>

This sets the nnnneeeettttrrrroooommmm alias for this station. Other stations  can  connect  to
the  ax25  callsign  and  to the Netrom alias (when set). The alias is broad-
casted with a Netrom broadcast.

_3._5_7._3.  _n_e_t_r_o_m _b_c_n_o_d_e_s <_i_f_a_c_e>

Initiates an immediate broadcast of nodelist on iiiiffffaaaacccceeee.

_3._5_7._4.  _n_e_t_r_o_m _c_a_l_l <_c_a_l_l>

Displays or sets the call to be used by the netrom interface. Note: this is a
shortcut for the "ifconfig netrom linkaddress call" command.

_3._5_7._5.  _n_e_t_r_o_m _c_o_n_n_e_c_t <_n_o_d_e>

Start a connection to nnnnooooddddeeee.

_3._5_7._6.  _n_e_t_r_o_m _c_h_o_k_e_t_i_m_e [<_m_i_l_l_i_s_e_c_o_n_d_s>]

Display or set the time breaking a send choke. Choke is the term netrom  uses
for flow control conditions.

_3._5_7._7.  _n_e_t_r_o_m _d_e_r_a_t_e [_o_n | _o_f_f]

Display or set automatic derating of netrom routes on link failure.

_3._5_7._8.  _n_e_t_r_o_m _i_n_t_e_r_f_a_c_e <_i_f_a_c_e> <_q_u_a_l_i_t_y>

Define a netrom interface iiiiffffaaaacccceeee.  The quality can be between 1 and  255.  For
compatibility  with other implementations set this to 192 normaly. A check is
made that the interface is of type CL_AX25,  meaning  NETROM  capable  media.
Note:  the alias is not specified on this line anymore. Use netrom alias com-
mand.

_3._5_7._9.  _n_e_t_r_o_m _i_r_t_t [<_m_i_l_l_i_s_e_c_o_n_d_s>]

Display or set the initial round trip time.

_3._5_7._1_0.  _n_e_t_r_o_m _k_i_c_k <&_n_r_c_b>

Give the control block a kick to get activity going again.







                                  - 29 -
_3._5_7._1_1.  _n_e_t_r_o_m _l_o_a_d [<_f_i_l_e_n_a_m_e>]

When fully implemented reloads a saved netrom  node  list  to  continue  from
where you left when you saved the list. All entry's read are time decremented
as if normal time just went on. If it took some time  (oooobbbbssssoooottttiiiimmmmeeeerrrr  *  x)  your
list could be empty as they all timed out.

_3._5_7._1_2.  _n_e_t_r_o_m _m_i_n_q_u_a_l_i_t_y [<_v_a_l_u_e>]

Display or set the minimum quality for recognizing  a  node  entry.   Entry's
below this value are not considered valuable for usage.

_3._5_7._1_3.  _n_e_t_r_o_m _n_o_d_e_f_i_l_t_e_r <_s_u_b_c_o_m_m_a_n_d>

Node filtering.

_3._5_7._1_3._1.  _n_e_t_r_o_m _n_o_d_e_f_i_l_t_e_r _a_d_d <_n_e_i_g_h_b_o_r> <_i_f_a_c_e>

Allow nnnneeeeiiiigggghhhhbbbboooorrrr to give us node updates.

_3._5_7._1_3._2.  _n_e_t_r_o_m _n_o_d_e_f_i_l_t_e_r _d_r_o_p <_n_e_i_g_h_b_o_r> <_i_f_a_c_e>

Disallow nnnneeeeiiiigggghhhhbbbboooorrrr to give us node updates.

_3._5_7._1_3._3.  _n_e_t_r_o_m _n_o_d_e_f_i_l_t_e_r _m_o_d_e [_n_o_n_e | _a_c_c_e_p_t | _r_e_j_e_c_t]

Display or set the initial filter schema. NNNNoooonnnneeee accepts  all.   AAAAcccccccceeeepppptttt,accepts
only  from  nodes  defined in nnnneeeettttrrrroooommmm nnnnooooddddeeeeffffiiiilllltttteeeerrrr aaaadddddddd lists.  RRRReeeejjjjeeeecccctttt,no accepts
from nodes defined in nnnneeeettttrrrroooommmm nnnnooooddddeeeeffffiiiilllltttteeeerrrr aaaadddddddd lists.

_3._5_7._1_4.  _n_e_t_r_o_m _n_o_d_e_t_i_m_e_r [<_s_e_c_o_n_d_s>]

Display or set the interval our node list is transmitted.

_3._5_7._1_5.  _n_e_t_r_o_m _o_b_s_o_t_i_m_e_r [<_s_e_c_o_n_d_s>]

Display or set the time a node quality gets decremented.

_3._5_7._1_6.  _n_e_t_r_o_m _p_r_o_m_i_s_c_i_o_u_s [_o_f_f | _o_n]

Enables nodes with a higher quality than defined with minquality.  If on, all
nodes are received, independent od nodefilter.

_3._5_7._1_7.  _n_e_t_r_o_m _q_l_i_m_i_t [<_b_y_t_e_s>]

Display or set the maximum queue limit for chat. Similar to ax25 window.

_3._5_7._1_8.  _n_e_t_r_o_m _r_e_s_e_t <&_n_r_c_b>

Remove the control block. You can find the control block with ssssoooocccckkkkeeeetttt.

_3._5_7._1_9.  _n_e_t_r_o_m _r_e_t_r_i_e_s [<_v_a_l_u_e>]

Display or set the maximum number of retries on connect, disconnect or data.

_3._5_7._2_0.  _n_e_t_r_o_m _r_o_u_t_e <_s_u_b_c_o_m_m_a_n_d>

Netrom routing commands.







                                  - 30 -
_3._5_7._2_0._1.  _n_e_t_r_o_m _r_o_u_t_e _a_d_d <_a_l_i_a_s> <_d_e_s_t_i_n_a_t_i_o_n> <_i_f_a_c_e> <_q_u_a_l_i_t_y>  <_n_e_i_g_h_-
_b_o_r>

Add a netrom route.

_3._5_7._2_0._2.  _n_e_t_r_o_m _r_o_u_t_e _d_r_o_p <_d_e_s_t_i_n_a_t_i_o_n> <_n_e_i_g_h_b_o_r> <_i_f_a_c_e>

Delete a netrom route.

_3._5_7._2_0._3.  _n_e_t_r_o_m _r_o_u_t_e _i_n_f_o <_d_e_s_t_i_n_a_t_i_o_n>

Display the route it would take to get to ddddeeeessssttttiiiinnnnaaaattttiiiioooonnnn.

_3._5_7._2_1.  _n_e_t_r_o_m _s_t_a_t_u_s

Displays all netrom connections.

_3._5_7._2_2.  _n_e_t_r_o_m _s_a_v_e [<_f_i_l_e_n_a_m_e>]

When fully implemented, saves the current  netrom  node  list  in  memory  to
/netrom.sav or filename, if given.

_3._5_7._2_3.  _n_e_t_r_o_m _t_i_m_e_r_t_y_p_e [_e_x_p_o_n_e_n_t_i_a_l | _l_i_n_e_a_r]

Displays or sets the type of backoff.

_3._5_7._2_4.  _n_e_t_r_o_m _t_t_l [<_h_o_p_s>]

Display or set the maximum number of hops a frame might hop before discarded,
if it did not reach its destination before.

_3._5_7._2_5.  _n_e_t_r_o_m _u_s_e_r [<_u_s_e_r_n_a_m_e>]

Display or set our netrom user name. This is used on outgoing connects.

_3._5_7._2_6.  _n_e_t_r_o_m _v_e_r_b_o_s_e [_o_f_f | _o_n]

Display or set the verbose flag. If set all nodes known to us are transmitted
each  time  the  nnnnooooddddeeeettttiiiimmmmeeeerrrr  expires. If off, only your stations node ident is
send out.

_3._5_7._2_7.  _n_e_t_r_o_m _w_i_n_d_o_w [<_f_r_a_m_e_s>]

Display or set the size of the sliding window. This is the largest  send  and
receive window we might negotiate.

_3._5_8.  _n_n_t_p <_s_u_b_c_o_m_m_a_n_d>

Network news transfer protocol has the following subcommands:

_3._5_8._1.  _n_n_t_p _a_d_d_s_e_r_v_e_r <_n_n_t_p_s_e_r_v_e_r> <_s_e_c_o_n_d_s> [<_r_a_n_g_e>] [<_g_r_o_u_p_s>]

Add a nntp news server to quiry  every  sssseeeeccccoooonnnnddddssss  interval  for  new  articles
specified  by  the nntp groups command. Range can be a limit in time to query
like _n_n_t_p _a_d_d_s_e_r_v_e_r _s_o_m_e_s_e_r_v_e_r _6_0_0 _2_2:_0_0-_2_3:_0_0,  to  only  query  the  server
between 10 and 11pm.  Multiple nntp add can be used co concatenate groups (up
to 512 bytes) The interval sssseeeeccccoooonnnnddddssss can be set to 0, so that normaly the  nntp
client  does not query the server regulary but an _n_n_t_p _k_i_c_k _n_n_t_p_s_e_r_v_e_r can be
used to start a session.






                                  - 31 -
_3._5_8._2.  _n_n_t_p _d_i_r_e_c_t_o_r_y <_d_i_r_e_c_t_o_r_y>

Show or set default directory for spooling news.  This  is  not  the  control
directory but the (alternate) place to spool articles to.

_3._5_8._3.  _n_n_t_p _d_r_o_p_s_e_r_v_e_r <_n_n_t_p_s_e_r_v_e_r>


_3._5_8._4.  _n_n_t_p _g_r_o_u_p_s <_g_r_o_u_p> [<_g_r_o_u_p> ...]

Set or display currently set newsgroups.

_3._5_8._5.  _n_n_t_p  _k_i_c_k <_n_n_t_p_s_e_r_v_e_r>

Kick the client to get in touch with the named server.

_3._5_8._6.  _n_n_t_p _l_i_s_t_s_e_r_v_e_r_s

Lists the curently defined servers.

_3._5_9.  _n_n_t_p _q_u_i_e_t [_y_e_s | _n_o]

Shows or sets the flag controlling the display of newly  received  nntp  news
messages.  The  smpt  quiet  fag controls the beep following the message.  If
both are off, nothing is shown, keeping the  display  from  getting  hung  on
-more- when running unattended.

_3._6_0.  _n_n_t_p _t_r_a_c_e <_l_e_v_e_l>

Sets or shows the current trace level for the nntp client.  0  No  tracing  1
(default) displays serious errors.  2  displays as 1 and transient errors.  3
displays as 2 and session progress.  4  displays as  3  and  actual  received
articles.  5  displays errors.

_3._6_1.  _n_r_s_t_a_t

Displays the netrom interface statistics.

_3._6_2.  _p_a_r_a_m <_i_f_a_c_e> [<_p_a_r_a_m> ...]

Invoke a device-specific control routine.  On  a  KISS  TNC  interface,  this
sends  control  packets  to the TNC.  Data bytes are treated as decimal.  For
example, ppppaaaarrrraaaammmm aaaaxxxx0000 1111 222255555555  will set the keyup timer (type field =  1)  on  the
KISS TNC configured as ax0 to 2.55 seconds (255 x .01 sec).  On a SLIP inter-
face, the ppppaaaarrrraaaammmm command allows the baud rate to be read  (without  arguments)
or  set.  On  asy  lines DTR and RTS can be (and possibly should be) set with
param iface dtr 1 and param iface rts 1.  The implementation of this  command
for the various interface drivers is incomplete and subject to change.
Current commands defined are:
  0  Data       - Normal KISS data
  1  TxDelay    - set TX delay for TNC
  2  Persist    - set persistence delay for TNC
  3  Slottime   - set slottime delay for TNC
  4  TxTail     - set TX tail delay for TNC
  5  Fulldup    - set Full duplex for TNC
  6  Hardware   - Hardware dependent
  7  TxMute     -
  8  DTR        - 0 = down, 1 = up
  9  RTS        - 0 = down, 1 = up
 10  Speed      - baud rate
 11  Enddelay   -




                                  - 32 -
 12  Group      -
 13  Idle       -
 14  Min        -
 15  Maxkey     -
 16  Wait       -
 17  Parity     - 0 = none, 1 = even, 2 = odd parity
129  Down       -
130  Up         -
254  Return2    - Some tnc's need this
255  Return     - Reset a tnc from KISS into command mode

_3._6_3.  _p_i_n_g <_h_o_s_t_i_d> [<_l_e_n_g_t_h> [<_m_i_l_l_i_s_e_c_o_n_d_s> [<_i_n_c_f_l_a_g>]]]

Ping (send ICMP Echo Request packets to) the specified host. By  default  the
data  field  contains only a small timestamp to aid in determining round trip
time; if the optional lllleeeennnnggggtttthhhh argument is given,  the  appropriate  number  of
data bytes (consisting of hex 55) are added to the ping packets.

If mmmmiiiilllllllliiiisssseeeeccccoooonnnnddddssss is specified, pings will  be  repeated  indefinitely  at  the
specified  number  of  milliseconds;  otherwise  a single, "one shot" ping is
done.  Responses to one-shot  pings  appear  asynchronously  on  the  command
screen,  while  repeated  pings  create  a  session that may be suspended and
resumed.  Pinging continues until the session is manually reset.

The iiiinnnnccccffffllllaaaagggg option causes a repeated ping to increment the target IP  address
for  each  ping;  it  is  an  experimental feature for searching blocks of IP
addresses for active hosts.

_3._6_4.  _p_o_p <_s_u_b_c_o_m_m_a_n_d>

The ppppoooopppp client provides an automatic interface to  the  ppppoooopppp  server  that  is
totaly  transparen to the user; all that the user needs to do is to set a few
key parameters and the client will take it from there, appart from registring
with  the server station manager for setting up the user data. (see _p_o_p _u_s_e_r_-
_d_a_t_a command.  To read more about _p_o_p, read rfc937.  The following  paragraph
describe  the ppppoooopppp subcommands.

_3._6_4._1.  _p_o_p _m_a_i_l_b_o_x [<_n_a_m_e>]

Show the defined name or sets the name to nnnnaaaammmmeeee for POP mail  queries  to  the
mailhost.  The  server  keeps  the  mail  in  the  mailbox  nnnnaaaammmmeeee  located  in
/spool/mail/nnnnaaaammmmeeee.txt. This is a mandatory parameter.

_3._6_4._2.  _p_o_p _m_a_i_l_h_o_s_t [<_i_p_a_d_d_r>]

Show the currently defined host address for a  ppppoooopppp  server  or  sets  the  IP
address  to the system named iiiippppaaaaddddddddrrrr for POP connections.  This is a mandatory
parameter.

_3._6_4._3.  _p_o_p _k_i_c_k

Start a POP connection now. (one shot connection)

_3._6_4._4.  _p_o_p _t_i_m_e_r [<_s_e_c_o_n_d_s>]

Show the current setting and time remaining untill  next  server  enquiry  or
when  sssseeeeccccoooonnnnddddssss is given, defines the interval that a ppppoooopppp connection is started
every <seconds> to retrieve mail from the server system.  When the  timer  is
not set the client is only started with a _p_o_p _k_i_c_k command.






                                  - 33 -
_3._6_4._5.  _p_o_p _u_s_e_r_d_a_t_a <_n_a_m_e> <_p_a_s_s_w_o_r_d>

Sets up the userdata used for validation on the POP server system. Note  that
<name>  and  <password> are case sensitive. When only pop userdata is entered
to show the values only the <name> is shown. (ultimate in  security,  if  you
realy  want to see the password look in the "ether").  Remember: the name and
password should also be defined at the server site in the _p_o_p_u_s_e_r_s file.

_3._6_5.  _p_o_p_m_a_i_l <_s_u_b_c_o_m_m_a_n_d>

ppppooooppppmmmmaaaaiiiillll is a newer implementation of the pop  client/server.  It  can  handle
both pop2 and pop3 type pop client/servers. For functionality see pop but the
subcommands are different.

_3._6_5._1.  _p_o_p_m_a_i_l _a_d_d_s_e_r_v_e_r <_h_o_s_t> [<_s_e_c_o_n_d_s>] [_h_h:_m_m-_h_h:_m_m] <_p_r_o_t_o_c_o_l> <_m_a_i_l_-
_b_o_x> <_u_s_e_r_n_a_m_e> <_p_a_s_s_w_o_r_d>

Add hhhhoooossssttttPPPP aaaassss aaaa ppppoooopppp sssseeeerrrrvvvveeeerrrr.... WWWWhhhheeeennnn sssseeeeccccoooonnnnddddssss iiiissss ggggiiiivvvveeeennnn,,,, aaaa ttttiiiimmmmeeeerrrr iiiissss ssssttttaaaarrrrtttteeeedddd ttttoooo qqqquuuueeeerrrryyyy
tttthhhheeee  hhhhoooosssstttt wwwwiiiitttthhhh tttthhhhaaaatttt iiiinnnntttteeeerrrrvvvvaaaallll ffffoooorrrr mmmmaaaaiiiillll.... IIIIffff nnnnooootttt ssssppppeeeecccciiiiffffiiiieeeedddd nnnnoooo qqqquuuueeeerrrriiiinnnngggg ttttoooo tttthhhheeee ppppoooopppp
hhhhoooosssstttt  wwwwiiiillllllll bbbbeeee ssssttttaaaarrrrtttteeeedddd.... YYYYoooouuuu hhhhaaaavvvveeee ttttoooo ddddoooo tttthhhhaaaatttt mmmmaaaannnnuuuuaaaallllyyyy wwwwiiiitttthhhh aaaa kkkkiiiicccckkkk....  WWWWhhhheeeennnn  hhhhhhhh::::mmmmmmmm----
hhhhhhhh::::mmmmmmmm iiiissss ggggiiiivvvveeeennnn tttthhhheeeennnn oooonnnnllllyyyy iiiinnnn tttthhhhaaaatttt eeeexxxxaaaacccctttt ttttiiiimmmmeeeeffffrrrraaaammmmeeee aaaarrrreeee qqqquuuueeeerrrriiiieeeessss ttttoooo tttthhhheeee hhhhoooosssstttt mmmmaaaaddddeeee
((((aaaalllllllloooowwwweeeedddd))))....  PPPPrrrroooottttooooccccoooollll iiiissss eeeeiiiigggghhhhtttteeeerrrr PPPPOOOOPPPP2222 oooorrrr PPPPOOOOPPPP3333,,,, ddddeeeeppppeeeennnnddddiiiinnnngggg oooonnnn tttthhhheeee  mmmmaaaaiiiillll  sssseeeerrrrvvvviiiicccceeee
tttthhhheeee hhhhoooosssstttt iiiissss pppprrrroooovvvviiiiddddiiiinnnngggg.... NNNNooootttteeee:::: ppppoooopppp2222 iiiissss ssssuuuuppppeeeerrrrcccceeeeddddeeeedddd bbbbyyyy ppppoooopppp3333.... MMMMaaaaiiiillllbbbbooooxxxx iiiissss tttthhhheeee mmmmaaaaiiiillll----
bbbbooooxxxx nnnnaaaammmmeeee oooonnnn tttthhhheeee hhhhoooosssstttt wwwwhhhheeeerrrreeee ffffoooorrrreeee mmmmaaaaiiiillll hhhhaaaassss ttttoooo bbbbeeee ppppiiiicccckkkkeeeedddd uuuupppp.... UUUUsssseeeerrrrnnnnaaaammmmeeee aaaannnndddd  ppppaaaassssssss----
wwwwoooorrrrdddd  aaaarrrreeee  tttthhhhiiiissss  ssssyyyysssstttteeeemmmmssss  vvvvaaaalllliiiiddddaaaattttiiiioooonnnn  ppppaaaarrrraaaammmmeeeetttteeeerrrrssss  ffffoooorrrr tttthhhheeee hhhhoooosssstttt....  NNNNooootttteeee tttthhhhaaaatttt oooonnnn
eeeennnntttteeeerrrriiiinnnngggg tttthhhhiiiissss ccccoooommmmmmmmaaaannnndddd tttthhhheeee hhhhoooosssstttt nnnnaaaammmmeeee iiiissss llllooooooookkkkeeeedddd uuuupppp.... IIIIffff nnnnoooonnnn eeeexxxxssssiiiissssttttaaaannnntttt  aaaannnn  eeeerrrrrrrroooorrrr
mmmmeeeessssssssaaaaggggeeee iiiissss pppprrrreeeesssseeeennnntttteeeedddd....

_3._6_5._2.  _p_o_p_m_a_i_l _d_r_o_p_s_e_r_v_e_r <_h_o_s_t>

Drops hhhhoooosssstttt from the list of pop servers to be queried.   All   references  to
the entry are deleted from the current system.

_3._6_5._3.  _p_o_p_m_a_i_l _k_i_c_k <_h_o_s_t>

Starts a pop session with hhhhoooosssstttt to retrieve mail. This command is needed  when
no interval is specified with the ppppooooppppmmmmaaaaiiiillll aaaaddddddddsssseeeerrrrvvvveeeerrrr command.

_3._6_5._4.  _p_o_p_m_a_i_l _l_i_s_t

Lists the current popmail server table.

_3._6_5._5.  _p_o_p_m_a_i_l _q_u_i_e_t <_y_e_s|_n_o>

Displays or sets the notification of new mail ariving via pop.

_3._6_5._6.  _p_o_p_m_a_i_l _t_r_a_c_e <_l_e_v_e_l>

Displays or sets the trace level of pop sessions. Current trace levels are:
0 - No tracing
1 - Serious errors reported
2 - Transient errors reported
3 session progress reported Note that tracing only goes to the log file.

_3._6_6.  _p_p_p <_s_u_b_c_o_m_m_a_n_d_s>

These commands are used for Point to Point Protocol interfaces.

This implementation of PPP  is  designed  to  be  as  complete  as  possible.
Because  of  this,  the number of options can be rather daunting.  However, a
typical PPP configuration might include the following commands:




                                  - 34 -

       attach asy 0x3f8 4 ppp pp0 4096 1500 9600
       dial pp0 30 <hostid> 3 dialer.pp0
       #
       ppp pp0 lcp local accm 0
       ppp pp0 lcp local compress address on
       ppp pp0 lcp local compress protocol on
       ppp pp0 lcp local magic on
       ppp pp0 lcp open active
       #
       ppp pp0 ipcp local compress tcp 16 1
       ppp pp0 ipcp open active
       #
       route add default pp0


_3._6_6._1.  _p_p_p <_i_f_a_c_e>

Display the status of the PPP interface.

_3._6_6._2.  _p_p_p <_i_f_a_c_e> _l_c_p ...

These commands are used for the LCP [Link Control Protocol] configuration.

_3._6_6._2._1.  _p_p_p <_i_f_a_c_e> _l_c_p _c_l_o_s_e

Shutdown the PPP interface.

_3._6_6._2._2.  _p_p_p <_i_f_a_c_e> _l_c_p _l_o_c_a_l ...

These commands control the configuration of the local side of the  link.   If
an  option is specified, the parameters will be used as the initial values in
configuration requests.  If not specified, that option will not be requested.

For each of these options, the aaaalllllllloooowwww parameter  will  permit  the  remote  to
include  that option in its response, even when the option is not included in
the request.  By default, all options are allowed.

_3._6_6._2._2._1.  _p_p_p <_i_f_a_c_e> _l_c_p _l_o_c_a_l _a_c_c_m [ <_b_i_t_m_a_p> | _a_l_l_o_w [_o_n | _o_f_f] ]

Display or set the Async Control Character Map.  The default is 0xffffffff.

_3._6_6._2._2._2.  _p_p_p <_i_f_a_c_e> _l_c_p _l_o_c_a_l _a_u_t_h_e_n_t_i_c_a_t_e [ _p_a_p | _n_o_n_e |  _a_l_l_o_w  [_o_n  |
_o_f_f] ]

Display or set the authentication protocol.  The default is nnnnoooonnnneeee.

_3._6_6._2._2._3.  _p_p_p <_i_f_a_c_e> _l_c_p _l_o_c_a_l _c_o_m_p_r_e_s_s _a_d_d_r_e_s_s/_c_o_n_t_r_o_l  [  _o_n  |  _o_f_f  |
_a_l_l_o_w [_o_n | _o_f_f] ]

Display or set the option to compress the address and control fields  of  the
PPP  HLDC-like  header.   This  is  generally desirable for slow asynchronous
links, and undesirable for fast or synchronous links.  The default is off.

_3._6_6._2._2._4.  _p_p_p <_i_f_a_c_e> _l_c_p _l_o_c_a_l _c_o_m_p_r_e_s_s _p_r_o_t_o_c_o_l [ _o_n | _o_f_f | _a_l_l_o_w [_o_n |
_o_f_f] ]

Display or set the option to compress the protocol field of the PPP HLDC-like
header.   This  is  generally  desirable  for  slow  asynchronous  links, and
undesirable for fast or synchronous links.  The default is off.





                                  - 35 -
_3._6_6._2._2._5.  _p_p_p <_i_f_a_c_e> _l_c_p _l_o_c_a_l _m_a_g_i_c [ _o_n | _o_f_f | <_v_a_l_u_e> | _a_l_l_o_w  [_o_n  |
_o_f_f] ]

Display or set the initial Magic Number.  The default is off (zero).

_3._6_6._2._2._6.  _p_p_p <_i_f_a_c_e> _l_c_p _l_o_c_a_l _m_r_u [ <_s_i_z_e> | _a_l_l_o_w [_o_n | _o_f_f] ]

Display or set the Maximum Receive Unit.  The default is 1500.

_3._6_6._2._2._7.  _p_p_p <_i_f_a_c_e> _l_c_p _l_o_c_a_l _d_e_f_a_u_l_t

Reset the options to their default values.

_3._6_6._2._3.  _p_p_p <_i_f_a_c_e> _l_c_p _o_p_e_n _a_c_t_i_v_e | _p_a_s_s_i_v_e

Wait for the physical layer to come up.  If  aaaaccccttttiiiivvvveeee,  initiate  configuration
negotiation.  If ppppaaaassssssssiiiivvvveeee, wait for configuration negotiation from the remote.

_3._6_6._2._4.  _p_p_p <_i_f_a_c_e> _l_c_p _r_e_m_o_t_e ...

These commands control the configuration of the remote side of the link.  The
options are identical to those of the local side.  If an option is specified,
the parameters will be  used  in  responses  to  the  remote's  configuration
requests.  If not specified, that option will be accepted if it is allowed.

For each of these options, the aaaalllllllloooowwww parameter  will  permit  the  remote  to
specify that option in its request.  By default, all options are allowed.

_3._6_6._2._5.  _p_p_p <_i_f_a_c_e> _l_c_p _t_i_m_e_o_u_t [<_s_e_c_o_n_d_s>]

Display or set the interval to  wait  between  configuration  or  termination
attempts.  The default is 3 seconds.

_3._6_6._2._6.  _p_p_p <_i_f_a_c_e> _l_c_p _t_r_y ...

These commands are used for the various counters.

_3._6_6._2._6._1.  _p_p_p <_i_f_a_c_e> _l_c_p _t_r_y _c_o_n_f_i_g_u_r_e [<_c_o_u_n_t>]

Display or set the number of configuration requests sent.  The default is 10.

_3._6_6._2._6._2.  _p_p_p <_i_f_a_c_e> _l_c_p _t_r_y _f_a_i_l_u_r_e [<_c_o_u_n_t>]

Display or set the number of bad  configuration  requests  allowed  from  the
remote.  The default is 5.

_3._6_6._2._6._3.  _p_p_p <_i_f_a_c_e> _l_c_p _t_r_y _t_e_r_m_i_n_a_t_e [<_c_o_u_n_t>]

Display or set the number of termination requests sent before shutdown.   The
default is 2.

_3._6_6._3.  _p_p_p <_i_f_a_c_e> _i_p_c_p ...

These commands are used for the IPCP  [Internet  Protocol  Control  Protocol]
configuration.

The cccclllloooosssseeee,,,, ooooppppeeeennnn,,,, ttttiiiimmmmeeeeoooouuuutttt and  ttttrrrryyyy  sub-commands  are  identical  to  the  LCP
(described above).







                                  - 36 -
_3._6_6._3._1.  _p_p_p <_i_f_a_c_e> _i_p_c_p _l_o_c_a_l ...

These commands control the configuration of the local side of the  link.   If
an  option is specified, the parameters will be used as the initial values in
configuration requests.  If not specified, that option will not be requested.

For each of these options, the aaaalllllllloooowwww parameter  will  permit  the  remote  to
include  that option in its response, even when the option is not included in
the request.  By default, all options are allowed.

_3._6_6._3._1._1.  _p_p_p <_i_f_a_c_e> _i_p_c_p _l_o_c_a_l _a_d_d_r_e_s_s [ <_h_o_s_t_i_d> | _a_l_l_o_w [_o_n | _o_f_f] ]

Display or set the local address for negotiation purposes.  If an address  of
0  is  specified,  the  other  side  of the link will supply the address.  By
default, no addresses are negotiated.

_3._6_6._3._1._2.  _p_p_p <_i_f_a_c_e> _i_p_c_p _l_o_c_a_l _c_o_m_p_r_e_s_s [ _t_c_p <_s_l_o_t_s> [<_f_l_a_g>] | _n_o_n_e  |
_a_l_l_o_w [_o_n | _o_f_f] ]

Display or set the compression protocol.  The default is nnnnoooonnnneeee.

The ttttccccpppp <slots> specifies the number of "conversation" slots, which must be 1
to  255.   (This  may be limited at compilation time to a smaller number.)  A
good choice is in the range 4 to 16.

The ttttccccpppp <flag> is 0 (don't compress the slot number) or 1 (OK to compress the
slot number).  KA9Q can handle compressed slot numbers, so the default is 1.

_3._6_6._3._2.  _p_p_p <_i_f_a_c_e> _i_p_c_p _r_e_m_o_t_e ...

These commands control the configuration of the remote side of the link.  The
options are identical to those of the local side.  If an option is specified,
the parameters will be  used  in  responses  to  the  remote's  configuration
requests.  If not specified, that option will be accepted if it is allowed.

For each of these options, the aaaalllllllloooowwww parameter  will  permit  the  remote  to
specify that option in its request.  By default, all options are allowed.

_3._6_6._4.  _p_p_p <_i_f_a_c_e> _p_a_p ...

These commands are used for the PAP [Password Authentication Protocol] confi-
guration.

The ttttiiiimmmmeeeeoooouuuutttt and ttttrrrryyyy sub-commands are identical to the LCP (described  above).
However, the terminate counter is unused.

_3._6_6._4._1.  _p_p_p <_i_f_a_c_e> _p_a_p _u_s_e_r [ <_u_s_e_r_n_a_m_e> [<_p_a_s_s_w_o_r_d>] ]

Display or set the username (the password may be  set,  but  not  displayed).
When  the  username  is  specified, but no password is supplied, the ffffttttppppuuuusssseeeerrrrssss
file is searched for the password.  When a username/password  is  unknown  or
rejected,  a  session  will  appear  at  the  console  to  prompt  for  a new
username/password.

_3._6_6._5.  _p_p_p <_i_f_a_c_e> _t_r_a_c_e [<_f_l_a_g_s>]

Display or set the flags that control the logging of information  during  PPP
link configuration.

The flag value is 0 for none, 1 for basic, and 2 for general.  Values greater
than  2 are usually not compiled, and are described in the appropriate source




                                  - 37 -
files where they are defined.

_3._6_7.  _p_s

Display all current processes in the system. The fields are as follows:

PPPPIIIIDDDD - Process ID (the address of the process descriptor).

SSSSPPPP - The current value of the process stack pointer.

ssssttttkkkkssssiiiizzzzeeee - The size of the stack allocated to the process.

mmmmaaaaxxxxssssttttkkkk - The apparent peak stack utilization of this process. This is done in
a  somewhat  heuristic  fashion, so the numbers should be treated as approxi-
mate. If this number reaches or exceeds the stksize  figure,  the  system  is
almost certain to crash; the _n_o_s._e_x_e program should be recompiled to give the
process a larger allocation when it is started.

eeeevvvveeeennnntttt - The event this task is waiting for, if it is not runnable.

ffffllll - Process status flags. There are three: I (Interrupts enabled), W  (Wait-
ing  for event) and S (suspended). The I flag is set whenever a task has exe-
cuted a pwait() call (wait for event) without first disabling hardware inter-
rupts.  Only tasks that wait for hardware interrupt events will turn off this
flag; this is done to avoid critical sections and missed  interrupts.  The  W
flag  indicates  that  the  process is waiting for an event; the eeeevvvveeeennnntttt column
will be non-blank. Note that although there may be several runnable processes
at  any  time  (shown  in the ppppssss listing as those without the W flag and with
blank event fields) only one process is actually running at any  one  instant
(The  Refrigerator  Light  Effect  says that the ppppssss command is always the one
running when this display is generated.)

_3._6_8.  _p_w_d [<_d_i_r_n_a_m_e>]

An alias for the ccccdddd command.

_3._6_9.  _r_a_r_p <_s_u_b_c_o_m_m_a_n_d>

This uses the reverse address resolution protocol.

_3._6_9._1.  _r_a_r_p _q_u_e_r_y <_i_f_a_c_e> <_c_a_l_l_s_i_g_n>

This starts a reverse resolution request via iiiiffffaaaacccceeee to find the IP address for
ccccaaaallllllllssssiiiiggggnnnn.  It  counts  down  for 10 seconds before giving up listening for an
answer.

_3._7_0.  _r_e_c_o_r_d [_o_f_f | <_f_i_l_e_n_a_m_e>]

Append to ffffiiiilllleeeennnnaaaammmmeeee all data received on the current session.   Data  sent  on
the  current session is also written into the file except for Telnet sessions
in remote echo mode.  The command rrrreeeeccccoooorrrrdddd ooooffffffff stops recording and  closes  the
file.

_3._7_1.  _r_e_m_o_t_e [-_p <_p_o_r_t>] [-_k <_k_e_y>] [-_a <_k_i_c_k_a_d_d_r>] <_h_o_s_t_i_d> _e_x_i_t | _r_e_s_e_t  |
_k_i_c_k

Send a UDP packet to the specified host commanding it to exit  the  NNNNoooossss  pro-
gram, reset the processor, or force a retransmission on TCP connections.  For
this command to be accepted, the remote system must  be  running  the  rrrreeeemmmmooootttteeee
server  and  the  port  number specified in the rrrreeeemmmmooootttteeee command must match the
port number given when the server was started on the remote system.   If  the




                                  - 38 -
port numbers do not match, or if the remote server is not running on the tar-
get system, the command packet is ignored.  Even if the command  is  accepted
there is no acknowledgement.

The kkkkiiiicccckkkk command forces a retransmission timeout on all TCP connections  that
the remote node may have with the local node.  If the -a option is used, con-
nections to the specified host are kicked instead. No key is required for the
kick subcommand.

The eeeexxxxiiiitttt and rrrreeeesssseeeetttt subcommands are mainly useful for restarting the nos  pro-
gram  on  a  remote  unattended  system after the configuration file has been
updated.  The remote system should invoke the NNNNoooossss program automatically  upon
booting,  preferably in an infinite loop.  For example, under MS-DOS the boot
disk should contain the following in aaaauuuuttttooooeeeexxxxeeeecccc....bbbbaaaatttt:

       :loop
       nos
       goto :loop



_3._7_1._1.  _r_e_m_o_t_e -_s <_k_e_y>

The exit and reset subcommands of remote require a password.  The password is
set on a given system with the ----ssss option, and it is specified in a command to
a remote system with the ----kkkk option. If no password is set with the ----ssss option,
then the exit and reset subcommands are disabled.

Note that rrrreeeemmmmooootttteeee is an experimental feature in NOS; it is _n_o_t  yet  supported
by any other TCP/IP implementation.

_3._7_2.  _r_e_n_a_m_e <_o_l_d_f_i_l_e_n_a_m_e> <_n_e_w_f_i_l_e_n_a_m_e>

Rename oooollllddddffffiiiilllleeeennnnaaaammmmeeee to nnnneeeewwwwffffiiiilllleeeennnnaaaammmmeeee.

_3._7_3.  _r_e_s_e_t [<_s_e_s_s_i_o_n>]

Reset the specified session; if no argument is given, reset the current  ses-
sion.   This  command  should be used with caution since it does not reliably
inform the remote end that the connection no longer exists.  (In TCP a  reset
(RST) message will be automatically generated should the remote TCP send any-
thing after a local reset has been done.  In AX.25 the DM message performs  a
similar  role.   Both are used to get rid of a lingering half-open connection
after a remote system has crashed.)

_3._7_4.  _r_i_p <_s_u_b_c_o_m_m_a_n_d>

These commands are used for the RIP service.

_3._7_4._1.  _r_i_p _a_c_c_e_p_t <_g_a_t_e_w_a_y>

Remove the specified gateway from  the  RIP  filter  table,  allowing  future
broadcasts from that gateway to be accepted.

_3._7_4._2.  _r_i_p _a_d_d <_h_o_s_t_i_d> <_s_e_c_o_n_d_s> [<_f_l_a_g_s>]

Add an entry to the RIP broadcast table. The IP routing table will be sent to
hhhhoooossssttttiiiidddd  every  interval  of  sssseeeeccccoooonnnnddddssss. If ffffllllaaaaggggssss is specified as 1, then "split
horizon" processing will be performed for this destination. That is,  any  IP
routing  table  entries  pointing  to the interface that will be used to send
this update will be removed from the update.  If split horizon processing  is




                                  - 39 -
not  specified,  then all routing table entries except those marked "private"
will be sent in each update.  (Private entries are never sent  in  RIP  pack-
ets).

Triggered updates are always done. That is, any change in the  routing  table
that  causes  a  previously  reachable destination to become unreachable will
trigger an update that advertises the destination with metric 15, defined  to
mean "infinity".

Note that for RIP packets to be sent properly to a broadcast  address,  there
must exist correct IP routing and ARP table entries that will first steer the
broadcast to the correct interface and  then  place  the  correct  link-level
broadcast  address  in  the  link-level  destination  field. If a standard IP
broadcast address convention is used (eg. 128.96.0.0 or 128.96.255.255)  then
chances  are  you  already  have  the  necessary  IP routing table entry, but
unusual subnet or cluster-addressed networks may require  special  attention.
However, an aaaarrrrpppp aaaadddddddd command will be required to translate this address to the
appropriate link level broadcast address. For example,


arp add 128.96.0.0 ethernet ff:ff:ff:ff:ff:ff


for an Ethernet network (ip address is a sample only!!!), and


arp add 44.255.255.255 ax25 qst-0


for an AX25 packet radio channel. (If multiple AX25 interfaces, make a unique
address for each interface.)

_3._7_4._3.  _r_i_p _d_r_o_p <_d_e_s_t>

Remove an entry from the RIP broadcast table.

_3._7_4._4.  _r_i_p _m_e_r_g_e [_o_n | _o_f_f]

This flag  controls  an  experimental  feature  for  consolidating  redundant
entries  in  the  IP routing table. When rip merging is enabled, the table is
scanned after processing each RIP update. An entry is considered redundant if
the  target(s)  it  covers  would  be routed identically by a less "specific"
entry already in the table. That is, the target address(es) specified by  the
entry  in  question must also match the target addresses of the less specific
entry and the two entries must have the same interface  and  gateway  fields.
For example, if the routing table contains


Dest            Len Interface    Gateway          Metric  P Timer  Use
1.2.3.4         32  ethernet0    128.96.1.2       1       0 0      0
1.2.3           24  ethernet0    128.96.1.2       1       0 0      0


then the first entry would be deleted as  redundant  since  packets  sent  to
1.2.3.4  will  still  be  routed correctly by the second entry. Note that the
relative metrics of the entries are ignored.

_3._7_4._5.  _r_i_p _r_e_f_u_s_e <_g_a_t_e_w_a_y>

Refuse to accept RIP updates from the specified gateway by adding the gateway
to the RIP filter table. It may be later removed with the rrrriiiipppp aaaacccccccceeeepppptttt command.




                                  - 40 -
_3._7_4._6.  _r_i_p _r_e_q_u_e_s_t <_g_a_t_e_w_a_y>

Send a RIP Request packet to the specified gateway, causing it to reply  with
a RIP Response packet containing its routing table.

_3._7_4._7.  _r_i_p _s_t_a_t_u_s

Display RIP status, including a count of  the  number  of  packets  sent  and
received,  the  number  of  requests and responses, the number of unknown RIP
packet types, and the number of refused RIP updates from hosts in the  filter
table.  A  list  of the addresses and intervals to which periodic RIP updates
are being sent is also shown, along with the contents of the filter table.

_3._7_4._8.  _r_i_p _t_r_a_c_e [_0 | _1 | _2]

This variable controls the tracing of  incoming  and  outgoing  RIP  packets.
Setting  it to 0 disables all RIP tracing. A value of 1 causes changes in the
routing table to be displayed, while packets that cause no changes  cause  no
output.  Setting the variable to 2 produces maximum output, including tracing
of RIP packets that cause no change in the routing table.

_3._7_4._9.  _r_i_p _t_t_l <_s_e_c_o_n_d_s>

Displays or sets the time to live timer to sssseeeeccccoooonnnnddddssss. Normal timeout  value  is
240  seconds.  This  is  not the ttl in a rip broadcast (16 = infinite).  Set
this timer before starting rip. Change this timer only  in  cooperation  with
your surrounding nodes. Default is 240 seconds.

_3._7_5.  _r_l_o_g_i_n _h_o_s_t

Sets up an rlogin session via port 511 to an *NIX compatible station.  Defaut
terminal is an ansi (as defined with the fkeys) compatible terminal.  Default
user name is guest. (Redefine with set USER= environement variable).

_3._7_6.  _r_m_d_i_r <_d_i_r_n_a_m_e>

Remove a sub-directory from the current working directory.

_3._7_7.  _r_o_u_t_e

With no arguments, rrrroooouuuutttteeee displays the IP routing table.

_3._7_7._1.  _r_o_u_t_e _a_d_d <_d_e_s_t__h_o_s_t_i_d>[/_b_i_t_s] | _d_e_f_a_u_l_t <_i_f_a_c_e> [<_g_a_t_e_w_a_y__h_o_s_t_i_d> |
_d_i_r_e_c_t [<_m_e_t_r_i_c>]]

This command adds an entry to the routing table. It  requires  at  least  two
more  arguments,  the  hostid  of  the target destination and the name of the
interface to which its packets should be sent.  If  the  destination  is  not
local,  the gateway's hostid should also be specified. (If the interface is a
point-to-point link, then ggggaaaatttteeeewwwwaaaayyyy____hhhhoooossssttttiiiidddd may be omitted even if the target is
non-local  because  this  field  is only used to determine the gateway's link
level  address,  if  any.   If  the  destination   is   directly   reachable,
ggggaaaatttteeeewwwwaaaayyyy____hhhhoooossssttttiiiidddd  is  also unnecessary since the destination address is used to
determine the interface link address).  If rrrrssssppppffff is used and the system  is  a
switch  /  router  to  multiple routes the keyword ddddiiiirrrreeeecccctttt can be used i.s.o a
ggggaaaatttteeeewwwwaaaayyyy____hhhhoooossssttttiiiidddd to set the metric higher as the default  1.  This  way  routes
advertized by other rrrrssssppppffff stations can be cheaper and get selected.  If ddddiiiirrrreeeecccctttt
is given but mmmmeeeettttrrrriiiicccc not, an new algoritm is used to set the metric  dependent
on the number of subnet mask bits.

The optional ////bbbbiiiittttssss suffix to the  destination  host  id  specifies  how  many




                                  - 41 -
leading  bits  in the host id are to be considered significant in the routing
comparisons.  If not specified, 32 bits (i.e., full significance) is assumed.
With  this  option,  a single routing table entry may refer to many hosts all
sharing a common bit string prefix in their IP addresses.  For example,  ARPA
Class A, B and C networks would use suffixes of /8, /16 and /24 respectively;
the command

route add 44/8 sl0 44.64.0.2


causes any IP addresses beginning with "44" in the first 8 bits to be  routed
to 44.64.0.2; the remaining 24 bits are "don't-cares".

When an IP address to be routed matches more than one entry  in  the  routing
table,  the  entry  with  largest  bbbbiiiittttssss parameter (i.e., the "best" match) is
used. This allows individual hosts or blocks of hosts to be exceptions  to  a
more general rule for a larger block of hosts.

The special destination ddddeeeeffffaaaauuuulllltttt is used to route datagrams to  addresses  not
matched by any other entries in the routing table; it is equivalent to speci-
fying a ////bbbbiiiittttssss suffix of /0 to any destination hostid.   Care  must  be  taken
with  default  entries  since two nodes with default entries pointing at each
other will route packets to unknown addresses back and forth in a loop  until
their   time-to-live  (TTL)  fields  expire.   (Routing  loops  for  specific
addresses can also be created, but this is  less  likely  to  occur  acciden-
tally).

There are two build in interfaces:  llllooooooooppppbbbbaaaacccckkkk  and  eeeennnnccccaaaapppp.   LLLLooooooooppppbbbbaaaacccckkkk  is  for
internal  purposes  only.  The eeeennnnccccaaaapppp is an IP encapsulator interface. This is
used to encapsulate a complete IP datagram into a IP datagram so that it gets
"piggy-backed". It is often used to carry ampr.org datagrams (net44) over the
Internet. Note that the Internet is fully connected and that ampr.org is  (at
least)  very  loose.   This  way two sites can interchange net44 datagrams to
each other.  Some extra notes: A Internet gateway has 2 IP addresses: one  on
ampr.org  and  one  on  the Internet. You should make sure that the interface
connected to the Internet has the ifconfig ipaddr set correctly.  Note:  This
previously only worked as gateway for other stations. There was some guessing
done in picking an IP address when encap is used localy.  The guessing  takes
the  worst  guess.  (always wrong with a 2.7 Murphy factor) The code now uses
the local IP address as source when the route starts at the local station. If
this is not what you want, you can overrule this by setting the IP address of
the psuedo encap interface to what you want it to be.

Some extra notes on encap: I have 3  systems  on  an  ethernet  with  network
129.179.122.128/25.  In the office I have another net linked to the Internet.
The addresses there are in the 129.179.122.0/25 range. Now  i  have  a  radio
link  with  44.137.0.2  and 44.137.1.2 on respective sites. On the 44.137.0.2
system i have _r_o_u_t_e _a_d_d _4_4._0._0._0/_8 _e_n_c_a_p _4_4._1_3_7._1._1 _9_9. On a next  system  on
my local ethernet i have 44.137.0.1 / 129.179.122.129.  To get from that sys-
tem to say 44.62.0.1 i have to add an encap to my local  gateway  with  _r_o_u_t_e
_a_d_d   _4_4._0._0._0/_8   _e_n_c_a_p   _1_2_9._1_7_9._1_2_2._1_3_0.    A   _r_o_u_t_e   _a_d_d   _d_e_f_a_u_l_t  _e_c_0
_1_2_9._1_7_9._1_2_2._1_3_0 gives me access to the Internet.  Otherwise  it  will  lookup
the  address  for  the interface to be used to reach 129.179.122.130 and will
use 129.179.122.129. Now 44.62.0.1 will NEVER know where  it  came  from.  So
adding the encap on the second system solves the problem.

Here are some examples of the rrrroooouuuutttteeee command:








                                  - 42 -

# Route datagrams to IP address 44.0.0.3 to SLIP line #0.
# No gateway is needed because SLIP is point-to point.
route add 44.0.0.3 sl0

# Route all default traffic to the gateway on the local Ethernet
# with IP address 44.0.0.1
route add default ec0 44.0.0.1

# The local Ethernet has an ARPA Class-C address assignment;
# route all IP addresses beginning with 192.4.8 to it
route add 192.4.8/24 ec0

# The station with IP address 44.0.0.10 is on the local AX.25 channel
route add 44.0.0.10 ax0

# An encapsulation link to 192.4.8.12 where the subnet 44.64.0.0 is
accessible. The internet does not know where we are but we just use them
with what they know:
route add 44.64.0.0/16 encap 192.4.8.12 4



_3._7_7._2.  _r_o_u_t_e _a_d_d_p_r_i_v_a_t_e <_d_e_s_t _h_o_s_t_i_d>[/_b_i_t_s] |  _d_e_f_a_u_l_t  <_i_f_a_c_e>  [<_g_a_t_e_w_a_y
_h_o_s_t_i_d> [<_m_e_t_r_i_c>]]

This command is identical to rrrroooouuuutttteeee aaaadddddddd except that  it  also  marks  the  new
entry as private; it will never be included in outgoing RIP updates.

_3._7_7._3.  _r_o_u_t_e _d_r_o_p <_d_e_s_t _h_o_s_t_i_d>

rrrroooouuuutttteeee ddddrrrroooopppp deletes an entry from the table.  If  a  packet  arrives  for  the
deleted address and a default route is in effect, it will be used.

_3._7_8.  _r_s_p_f <_s_u_b_c_m_d>

RSPF is the Radio Shortest Path First protocol. Each station listens for  RRH
(Router  to  Router Hello) messages. When such a RRH message is received, NNNNoooossss
will figure out if the link is bi-directional by pinging the  other  station.
The protocol is described in the RSPF 2.1 specification.

_3._7_8._1.  _r_s_p_f _i_n_t_e_r_f_a_c_e <_i_n_t_e_r_f_a_c_e> <_q_u_a_l_i_t_y> <_h_o_r_i_z_o_n>

<interface> is the required interface rspf should use.  quality is from 1  to
127  horizon  is between 1 to 255 End nodes should have the quality set to 1.
Immediate nodes normaly set the quality to 8. The normaly used value for hor-
izon is 32.

_3._7_8._2.  _r_s_p_f _m_o_d_e [_v_c | _d_a_t_a_g_r_a_m | _n_o_n_e]

Without arguments, displays the preferred mode for RSPF.  Modes are VC  (Vir-
tual Cirquit) and Datagram. none resets the preferred mode.

_3._7_8._3.  _r_s_p_f _r_r_h_t_i_m_e_r [_s_e_c_o_n_d_s]

Without arguments, displays the rrh timer value.

_3._7_8._4.  _r_s_p_f _s_u_s_p_e_c_t_t_i_m_e_r [_s_e_c_o_n_d_s]

Without arguments, displays the suspect timer value.





                                  - 43 -
_3._7_8._5.  _r_s_p_f _t_i_m_e_r [_s_e_c_o_n_d_s]

Without arguments, displays the update timer value.

To activate RSPF, do the following.  Set the broadcast address for the desti-
nation interface, example ax0.
   ifconfig ax0 broadcast 44.255.255.255

This automatically creates a routing entry for 44.255.255.255 in the  routing
table.  If  intend  to  use RSPF on more than one interface, those interfaces
must each have different broadcast adresses. Else the routing entries will be
overwriten by the next definition.

Configure ax0 as an RSPF interface with horizon 32 and a quality of 1 (hops).
This is typical for an end node. replace the 1 with an 8 for immediate nodes.
   rspf interface ax0 1 32
Set the interval between RRH messages.
   rspf rrhtimer 900
Define how long it takes until an idle link is suspected to be bad.
   rspf suspecttimer 2000
Set the interval between routing updates.
   rspf timer 900

_3._7_9.  _s_c_c_s_t_a_t

Display the defined PE1CHL scc driver statistics.

_3._8_0.  _s_e_s_s_i_o_n [[<_s_e_s_s_i_o_n>] [_f_l_o_w_m_o_d_e [_o_n | _o_f_f]]]

Without arguments, displays the list of current sessions,  including  session
number,  remote TCP or AX.25 address and the address of the TCP or AX.25 con-
trol block.  An asterisk (*) is shown  next  to  the  current  that  session.
Entering  a session number as an argument to the sssseeeessssssssiiiioooonnnn command will put you
in _c_o_n_v_e_r_s_e mode with that session.  If the Telnet session; entering a  blank
line at this point puts you in converse mode with server is enabled, the user
is notified of an incoming request and  a  session  number  is  automatically
assigned.  The user may then select the session normally to converse with the
remote user as though the session had been  locally  initiated.   Adding  the
flowmode  displays  or enables / disables setting of *more* handling for that
session. This is handy for example by long directory listings comming from an
ftp  session.  Escaping  to  command  mode before issuing the dir command and
entering "session # flowmode on" gives a page at a time to look  at.  At  any
time  you  can escape out again and switch flowmode off. Note that a ftp ses-
sion has it's own flow command now buildin.  See FTP commands later  in  this
manual.

_3._8_1.  _s_h_e_l_l [

Suspends NNNNoooossss and executes a sub-shell  ("command  processor"  under  MS-DOS).
When the sub-shell exits, NNNNoooossss resumes (under MS-DOS, enter the eeeexxxxiiiitttt command).
Note: see the CCCCOOOOMMMMSSSSPPPPEEEECCCC environement variable.  When Background  activity  (FTP
servers,  etc)  is also suspended while the subshell executes. Note that this
will fail unless there is sufficient unused  memory  for  the  sub-shell  and
whatever  command  the user tries to run.  When shelled out, Mailbox Operator
connects and ttylink incomming connections are refuced. A  System  unattended
message is send to the "connector" of that socket.

_3._8_2.  _s_k_i_c_k #_s_o_c_k_e_t

This is a shorthand for the various kick subcommands. This one  searches  the
socket for correct type and kicks the transport layer.




                                  - 44 -
_3._8_3.  _s_m_t_p <_s_u_b_c_o_m_m_a_n_d>

These commands are used for the Simple  Message  Transport  Protocol  service
(that is, mail).

_3._8_3._1.  _s_m_t_p _b_a_t_c_h [_y_e_s | _n_o]

If set smtp will batch the commands into one frame. When off only one command
is  send and a response is waited for. Some old and flaky smtp servers cannot
handle more than one command at a time. NNNNoooossss can handle multiple. If  you  are
not hindered by an old smpt server, setting batch reduces bandwith.

_3._8_3._2.  _s_m_t_p _g_a_t_e_w_a_y [<_h_o_s_t_i_d>]

Displays or sets the host to be used as a "smart" mail relay. Any  mail  sent
to  a host not in the host table will instead be sent to the gateway for for-
warding.

_3._8_3._3.  _s_m_t_p _k_i_c_k

Run through the outgoing mail queue and attempt to deliver any pending  mail.
This  command  allows the user to "kick" the mail system manually.  Normally,
this command is periodically invoked by a timer whenever NNNNoooossss is running.

_3._8_3._4.  _s_m_t_p _k_i_l_l [<_j_o_b_i_d>]

Kill the job and delete the message.

_3._8_3._5.  _s_m_t_p _l_i_s_t

List the current jobs. A "L" means locked and in progress.  It is wise to add
in autoexec.bat a "del /spool/mqueue/*.lck" command

_3._8_3._6.  _s_m_t_p _m_a_x_c_l_i_e_n_t_s [<_c_o_u_n_t>]

Displays or sets the maximum number of simultaneous  outgoing  SMTP  sessions
that will be allowed. The default is 10; reduce it if network congestion is a
problem.

_3._8_3._7.  _s_m_t_p _m_o_d_e [_q_u_e_u_e | _r_o_u_t_e]

Sets the smtp delivery mode. If queue, all messages are left in /spool/rqueue
for  external forwarding and handling. If route, messages are handled, if for
local, appended to a mailbox or if remote, they are forwarded.

_3._8_3._8.  _s_m_t_p _m_x_l_o_o_k_u_p [_y_e_s | _n_o]

Displays or sets a flag enabling or disabling MX record lookups. This can  be
enabled if a domain server is available in the near distance (reachable).  It
should be disabled (default) if no domain server is in reach to  satisfy  the
MX  query.  Note that MX record handling is very limited in NOS. If an answer
from a domain name server comes in it is taken to be the destination.

_3._8_3._9.  _s_m_t_p _q_u_i_e_t [_y_e_s | _n_o]

Enables or disables the message that new mail arrived at this system.

_3._8_3._1_0.  _s_m_t_p _t_i_m_e_r [<_s_e_c_o_n_d_s>]

Displays or sets the interval, between scans of the outbound mail queue.  For
example,  ssssmmmmttttpppp  ttttiiiimmmmeeeerrrr  666600000000  will  cause the system to check for outgoing mail




                                  - 45 -
every 10 minutes and attempt to deliver anything it finds, subject of  course
to the ssssmmmmttttpppp mmmmaaaaxxxxcccclllliiiieeeennnnttttssss limit. Setting a value of zero disables queue scanning
altogether, note that this is the default!  This  value  is  recommended  for
stand  alone IP gateways that never handle mail, since it saves wear and tear
on the floppy disk drive.

_3._8_3._1_1.  _s_m_t_p _t_r_a_c_e [<_v_a_l_u_e>]

Displays or sets the trace flag in the SMTP client,  allowing  you  to  watch
SMTP's  conversations as it delivers mail.  Zero (the default) disables trac-
ing.

_3._8_4.  _s_o_c_k_e_t [[<_s_o_c_k_e_t #>] [_f_l_o_w_m_o_d_e [_y_e_s | _n_o]]]

Without an argument, displays all active  sockets,  giving  their  index  and
type,  the address of the associated protocol control block and the and owner
process ID and name. If the index to an active socket is supplied, the status
display  for  the appropriate protocol is called.  For example, if the socket
refers to a TCP connection, the display will be that given by the ttttccccpppp  ssssttttaaaattttuuuussss
command  with  the  protocol  control block address.  FFFFlllloooowwww mode can be set or
cleared on a session if so wanted. This comes in handy when a large directory
is  displayed  by ftp. Escaping from the session just before entering dir and
setting flowmode and returning to that session, gives a screen full at a time
with -more- processing.

_3._8_5.  _s_o_u_r_c_e <_f_i_l_e_n_a_m_e>

Read subsequent commands from ffffiiiilllleeeennnnaaaammmmeeee until EOF. Then  resume  reading  com-
mands  from  the previous stream. This can be used to keep routing statements
in a separate file, wich can be read at some point in aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss.

_3._8_6.  _s_t_a_r_t _a_x_2_5 | _c_o_n_v_e_r_s | _d_i_s_c_a_r_d | _e_c_h_o | _f_i_n_g_e_r | _f_t_p | _l_p_d | _n_e_t_r_o_m  |
_n_n_t_p | _p_o_p | _p_o_p_2 | _p_o_p_3 | _r_e_m_o_t_e | _r_i_p | _s_m_t_p | _t_e_l_n_e_t | _t_i_p | _t_t_y_l_i_n_k

Start the specified Internet server, allowing remote connection requests.

_3._8_7.  _s_t_a_t_u_s

Displays load information on NNNNoooossss. When started, how long running, open  files
etc.

_3._8_8.  _s_t_o_p _a_x_2_5 | _c_o_n_v_e_r_s | _d_i_s_c_a_r_d | _e_c_h_o | _f_i_n_g_e_r | _f_t_p | _l_p_d |  _n_e_t_r_o_m  |
_n_n_t_p | _p_o_p | _p_o_p_2 | _p_o_p_3 | _r_e_m_o_t_e | _r_i_p | _s_m_t_p | _t_e_l_n_e_t | _t_i_p | _t_t_y_l_i_n_k

Stop the specified Internet server,  rejecting  any  further  remote  connect
requests. Existing connections are allowed to complete normally.

_3._8_9.  _t_a_i_l <_f_i_l_e_n_a_m_e>

This does a more on the last couple of lines of file ffffiiiilllleeeennnnaaaammmmeeee.

_3._9_0.  _t_c_p <_s_u_b_c_o_m_m_a_n_d>

These commands are used for the Transmission Control Protocol service.

_3._9_0._1.  _t_c_p _a_c_c_e_s_s <_p_e_r_m_i_t|_d_e_n_y|_d_e_l_e_t_e> <_d_e_s_t _a_d_d_r>[/_b_i_t_s] <_l_o_w_p_o_r_t> [<_h_i_g_h_-
_p_o_r_t>]

Set or display access control  for  TCP  connection  requests.  This  command
implements  tcp  access control to NNNNoooossssFFFFpppp.... PPPPeeeerrrrmmmmiiiitttt eeeennnnaaaabbbblllleeeessss ddddeeeesssstttt----aaaaddddddddrrrr ppppaaaacccckkkkeeeettttssss ooooffff
ttttyyyyppppeeee ttttccccpppp ttttoooo bbbbeeee rrrroooouuuutttteeeedddd ttttrrrroooouuuugggghhhh ttttoooo tttthhhheeee ttttccccpppp llllaaaayyyyeeeerrrr.... DDDDeeeennnnyyyy ddddiiiissssaaaabbbblllleeeessss tttthhhhoooosssseeee....   IIIIffff  lllloooowwww




                                  - 46 -
ppppoooorrrrtttt is given as the keyword all, all socket numbers 0 to 65534 are permitted
(or denied, depending on the permit /  deny  keyword).  If  only  lowport  is
given,  only  that  portnumber is checked. If lowport and highport are given,
checking is done according to that range. If an tcp access table is  defined,
all undefined ranges will be denied. Some samples:
   tcp access permit 44.0.0.0/8 3600 3601
   tcp access deny all 3600 3601
   tcp access permit 44.137.0.0/16 all

_3._9_0._2.  _t_c_p _i_r_t_t [<_m_i_l_l_i_s_e_c_o_n_d_s>]

Display or set the initial round trip time estimate, in milliseconds,  to  be
used  for  new TCP connections until they can measure and adapt to the actual
value.  The default is 5000 milliseconds (5 seconds).  Increasing  this  when
operating  over  slow  channels will avoid the flurry of retransmissions that
would otherwise occur as the smoothed estimate settles down  at  the  correct
value.  Note  that this command should be given before servers are started in
order for it to have effect on incoming connections.

TCP also keeps a _c_a_c_h_e of measured  round  trip  times  and  mean  deviations
(MDEV)  for current and recent destinations. Whenever a new TCP connection is
opened, the system first looks in this cache. If the  destination  is  found,
the cached IRTT and MDEV values are used. If not, the default IRTT value men-
tioned above is used, along  with  a  MDEV  of  0.   This  feature  is  fully
automatic,  and  it  can improve performance greatly when a series of connec-
tions are opened and closed to a given destination (eg. a series of FTP  file
transfers or directory listings).

_3._9_0._3.  _t_c_p _k_i_c_k <_t_c_b__a_d_d_r>

If there is unacknowledged data on the send queue of the specified TCB,  this
command forces an immediate retransmission.

_3._9_0._4.  _t_c_p _m_s_s [<_s_i_z_e>]

Display or set the TCP Maximum Segment Size in bytes that will be sent on all
outgoing  TCP  connect request (SYN segments).  This tells the remote end the
size of the largest segment (packet) it may send. Changing MSS  affects  only
future connections; existing connections are unaffected.

_3._9_0._5.  _t_c_p _r_e_s_e_t <_t_c_b__a_d_d_r>

Deletes the TCP control block at the specified address.

_3._9_0._6.  _t_c_p _r_t_t <_t_c_b__a_d_d_r> <_m_i_l_l_i_s_e_c_o_n_d_s>

Replaces the automatically computed round trip time in the specified TCB with
the  rtt in milliseconds.  This command is useful to speed up recovery from a
series of lost packets since it provides a manual bypass  around  the  normal
backoff retransmission timing mechanisms.

_3._9_0._7.  _t_c_p _s_t_a_t_u_s [<_t_c_b__a_d_d_r>]

Without arguments, displays several TCP-level statistics, plus a  summary  of
all  existing  TCP connections, including TCB address, send and receive queue
sizes, local and remote sockets, and connection state. If ttttccccbbbb____aaaaddddddddrrrr is  speci-
fied,  a more detailed dump of the specified TCB is generated, including send
and receive sequence numbers and timer information.







                                  - 47 -
_3._9_0._8.  _t_c_p _s_y_n_d_a_t_a [_y_e_s | _n_o]

Display or set the tcp syn + data pigybacking flag. Some tcp  systems  cannot
handle syn + data together.

_3._9_0._9.  _t_c_p _t_i_m_e_r_t_y_p_e [_l_i_n_e_a_r | _e_x_p_o_n_e_n_t_i_a_l]

Displays the current setting or sets the timer type backoff algoritm.

_3._9_0._1_0.  _t_c_p _t_r_a_c_e [_y_e_s | _n_o]

Display or set the tcp trace flag on or off.

_3._9_0._1_1.  _t_c_p _w_i_n_d_o_w [<_s_i_z_e>]

Displays or sets the default receive window size in bytes to be used  by  TCP
when creating new connections. Existing connections are unaffected.

_3._9_1.  _t_e_l_n_e_t <_h_o_s_t_i_d> [<_p_o_r_t>]

Creates a Telnet session to the specified host and enters converse mode.   If
<port> is given that number is used. Default port is 23.

_3._9_2.  _t_e_s_t

Start an internal test for an overflow problem that might appear in the clock
function of some AT computers.

_3._9_3.  _t_h_i_r_h-_p_a_r_t_y [_y_e_s | _n_o]

This is a restriction setter  for  some  countries  where  stations  are  not
allowed to handle thirth party mail traffic.

_3._9_4.  _t_t_y_l_i_n_k <_h_o_s_t_i_d> [<_p_o_r_t>]

Creates a Telnet session to the specified host and enters converse mode.   If
<port>  is  given that number is used. Default port is 87.  This uses a split
screen interface for easy conversation.

_3._9_5.  _t_i_p <_i_f_a_c_e>

Creates a ttttiiiipppp session that connects to the specified interface in "dumb  ter-
minal"  mode.   The interface must have already been attached with the aaaattttttttaaaacccchhhh
command.  Any packet traffic (IP datagrams,  etc)  routed  to  the  interface
while this session exists will be discarded.  To close a ttttiiiipppp session, use the
rrrreeeesssseeeetttt command. It will then revert to normal sssslllliiiipppp,,,, nnnnrrrrssss or  kkkkiiiissssssss  mode  opera-
tion.

This feature is primarily useful for manually establishing SLIP  connections.
At present, only the built-in "com" ports can be used with this command.

_3._9_6.  _t_r_a_c_e [<_i_f_a_c_e> [_o_f_f | <_b_t_i_o> [<_t_r_a_c_e_f_i_l_e>]]]

Controls packet tracing by the interface drivers. Specific bits enable  trac-
ing  of the various interfaces and the amount of information produced.  Trace
output to the screen is only send to the command screen, when  in  a  session
tracing to the screen is suspended. (From version 2.0l) Tracing is controlled
on a per-interface basis; without  arguments,  ttttrrrraaaacccceeee  gives  a  list  of  all
defined interfaces and their tracing status.  Output can be limited to a sin-
gle interface by specifying it, and the control flags can be change by speci-
fying  them  as  well.  The  flags are given as a hexadecimal number which is




                                  - 48 -
interpreted as follows:

   O - Enable tracing of output packets if 1, disable if 0
   I - Enable tracing of input packets if 1, disable if 0
   T - Controls type of tracing:
       0 - Protocol headers are decoded, but data is not displayed
       1 - Protocol headers are decoded, and data (but not the
           headers themselves) are displayed as ASCII characters,
           64 characters/line. Unprintable characters are displayed
           as periods.
       2 - Protocol headers are decoded, and the entire packet
           (headers AND data) is also displayed in hexadecimal
           and ASCII, 16 characters per line.
   B - Broadcast filter flag. If set, only packets specifically addressed
       to this node will be traced; broadcast packets will not be displayed.

If ttttrrrraaaacccceeeeffffiiiilllleeee is not specified, tracing will be to the console.

_3._9_7.  _u_d_p _s_t_a_t_u_s

_3._9_8.  _v_e_r_b_o_s_e [_0 | _1 | _2 | _3]

Set or display the level of message output  in  file  transfers.   VVVVeeeerrrrbbbboooosssseeee  0000
gives the least output, and vvvveeeerrrrbbbboooosssseeee 3333 the most, as follows:

0 - Display error messages only.
1 - Display error messages plus a one-line summary after each transfer
   giving the name of the file, its size, and the transfer time and rate.
2 - Display error and summary messages plus the progress messages generated
   by the remote FTP server. (This setting is the default.)
3 - Display all messages. In addition, a "hash mark" (#) is displayed for
   every 1,000 bytes sent or received.

If a command is sent to the  remote  server  because  it  is  not  recognized
locally,  the response is always displayed, regardless of the setting of vvvveeeerrrr----
bbbboooosssseeee.  This is necessary for commands like ppppwwwwdddd (display  working  directory),
which  would  otherwise produce no message at all if vvvveeeerrrrbbbboooosssseeee were set to 0 or
1.

Displays the status of all UDP receive queues.

_3._9_9.  _u_p_l_o_a_d [<_f_i_l_e_n_a_m_e>]

Opens ffffiiiilllleeeennnnaaaammmmeeee and sends it on the current session as though it were typed on
the terminal.

_3._1_0_0.  _w_a_t_c_h

Displays the current software stopwatch values, with min and max readings for
each.  This  facility  allows  a  programmer to measure the execution time of
critical sections of code with microsecond resolution.  This command is  sup-
ported only on the IBM PC, and the meaning of each stopwatch value depends on
where the calls have been inserted for test purposes; the  distribution  copy
of _n_o_s usually has no stopwatch calls.

_3._1_0_1.  _w_a_t_c_h_d_o_g [_o_n | _o_f_f]

Enables or disables the watchdog timer. If internal operations cease for  300
second  and  watchdog is enabled, a system reset is performed. See the remote
command for setting up autoexec.bat.





                                  - 49 -
_3._1_0_2.  ?

Same as the hhhheeeellllpppp command.






























































                                  - 50 -
_4.  _A_t_t_a_c_h _C_o_m_m_a_n_d_s

This chapter details the attach commands for the various  hardware  interface
drivers.  Not all of these drivers may be configured into every NNNNoooossss binary; a
list of the available types may be obtained by entering the command aaaattttttttaaaacccchhhh ????.

Some parameters are accepted by several drivers. They are:

_4._0._1.  <_b_u_f_s_i_z_e>

For asynchronous devices (eg. COM ports operating in SLIP or NRS  mode)  this
parameter  specifies  the  size  of the receiver's ring buffer.  It should be
large enough to hold incoming data at full line speed for  the  longest  time
that  the system may be busy in MS-DOS or the BIOS doing a slow I/O operation
(eg. to a floppy disk). A kilobyte is usually more than sufficient.

For synchronous devices (eg. the sssscccccccc,,,, hhhhssss,,,, ppppcccc111100000000,,,,  hhhhaaaappppnnnn  and  ddddrrrrssssiiii  interfaces
operating  in  HDLC mode), the bufsize parameter specifies the largest packet
that may be received on the interface.  This should be set by  mutual  agree-
ment  among  stations  sharing the channel. For standard AX.25 with a maximum
I-frame data size of 256 bytes, a value of 325  should  provide  an  adequate
safety  margin.  On  higher speed channels (eg. 56kb/s) larger values (eg. 2K
bytes) will provide much better performance  and  allow  full-sized  Ethernet
packets to be carried without fragmentation.

_4._0._2.  <_i_o_a_d_d_r>

The base address of the interface's control registers.This might be specified
in hex as 0xnnn or decimal. (nnn is the hexadecimal number).

_4._0._3.  <_v_e_c_t_o_r>

The interface's hardware interrupt (IRQ) vector, in decimal. When a vector is
followed  by the character 'c' then the vector is added in a interrupt chain.
This way multiple devices can  share  the  same  interrupt  vector  (hardware
changes might be nessesary). A sample is the use of a 4 port comm board shar-
ing the same vector. The first attach command has a plain vector and the fol-
lowing  have  the  c  appended.  Note  that  the highest speed port should be
defined last (as it is served first by the chaining).  Do NOT specify  the  c
with  the  first attach statement in that group as unpredictable results will
occure.
attach asy 0x3f8 4 ax25 ax25 2048 256 1200
attach asy 0x3f0 4c ax25 ax25 2048 256 9600

_4._0._4.  <_i_f_a_c_e>

The name (an arbitrary character string) to be assigned to this interface. It
is used to refer to the interface in iiiiffffccccoooonnnnffffiiiigggg and rrrroooouuuutttteeee commands and in ttttrrrraaaacccceeee
output.

_4._0._5.  <_m_t_u>

The Maximum Transmission Unit size, in bytes.   Datagrams  larger  than  this
limit  will  be  fragmented at the IP layer into smaller pieces. For AX.25 UI
frames, this limits the size of the information field.  For AX.25  I  frames,
however,  the  aaaaxxxx22225555  ppppaaaacccclllleeeennnn  parameter  is also relevant.  If the datagram or
fragment is still larger than ppppaaaacccclllleeeennnn, it is  also  fragmented  at  the  AX.25
level (as opposed to the IP level) before transmission.  (See the aaaaxxxx22225555 ppppaaaacccclllleeeennnn
command for further information).






                                  - 51 -
_4._0._6.  <_s_p_e_e_d>

The speed in bits per second (eg. 2400).

_4._1.  _a_t_t_a_c_h _3_c_5_0_0 <_i_o_a_d_d_r> <_v_e_c_t_o_r> _a_r_p_a <_i_f_a_c_e> <_q_l_e_n> <_m_t_u> [<_i_p__a_d_d_r>]

Attach a 3Com 3C501  Ethernet  interface.   qqqqlllleeeennnn  is  the  maximum  allowable
transmit  queue  length.   If  the  iiiipppp____aaaaddddddddrrrr parameter is not given, the value
associated with a prior iiiipppp aaaaddddddddrrrreeeessssssss command will be used.

The use of this driver is not recommended; use the  packet  driver  interface
with the loadable 3C501 packet driver instead.

_4._2.  _a_t_t_a_c_h _a_s_y <_i_o_a_d_d_r> <_v_e_c_t_o_r> _a_x_2_5 | _n_r_s | _p_p_p  |  _s_l_i_p  |  _r_a_w  <_i_f_a_c_e>
<_b_u_f_s_i_z_e> <_m_t_u> <_s_p_e_e_d> [<_v_f>]

Attach a standard  PC  "com  port"  (asynchronous  serial  port),  using  the
National  8250  or 16550A chip.  Standard values on the IBM PC and clones for
iiiiooooaaaaddddddddrrrr and vvvveeeeccccttttoooorrrr are 0x3f8 and 4 for COM1, and 0x2f8 and 3 for COM2.  If the
port  uses  a  16550A  chip,  it will be detected automatically and the FIFOs
enabled.

_4._2._1.  _a_x_2_5

Similar to sssslllliiiipppp, except that an AX.25 header and a KISS  TNC  control  header
are added to the front of the datagram before SLIP encoding.  Either UI (con-
nectionless) or I (connection-oriented) AX.25 frames can  be  used;  see  the
mmmmooooddddeeee command for details.

_4._2._2.  _n_r_s

Use the NET/ROM asynchronous framing technique for communication with a local
NET/ROM TNC.

_4._2._3.  _p_p_p

Point-to-Point-Protocol.  Encapsulates datagrams in an HDLC-like frame.  This
is  a new Internet standard for point-to-point communication, compatible with
CCITT standards.

_4._2._4.  _s_l_i_p

Serial Line Internet Protocol.  Encapsulates IP datagrams  directly  in  SLIP
frames  without  a link header. This is for operation on point-to-point lines
and is compatible with 4.2BSD UNIX SLIP.

_4._2._5.  _r_a_w

Raw serial line without protocol , special for lpd server.

_4._2._6.  <_v_f>

The optional flags are a string of the characters "vf":  vvvv enables Van Jacob-
son TCP/IP Header Compression, and is valid only for SLIP.  ffff forces the fifo
on for 16550AFN compatible chips not hindered by the  original  "design  bug"
and not needing the work-around. Unfortunate these good chips don't get their
fifo enabled. Specifying ffff on the attach line forces the  fifo  to  be  used.
(unpredictable results occure when specified on a non 16550 type chip).







                                  - 52 -
_4._3.  _a_t_t_a_c_h _a_x_i_p <_i_f_a_c_e> <_m_t_u> <_i_p__a_d_d_r> <_c_a_l_l_s_i_g_n>

This creates a RFC1226 compatible AX.25 frame encapsulator  for  transmission
of  AX.25  frames over the IIIInnnntttteeeerrrrnnnneeeetttt. IIIIffffaaaacccceeee will be the name of the interface,
iiiipppp____aaaaddddddddrrrr the address of the remote system and ccccaaaallllllllssssiiiiggggnnnn the AX.25 callsign this
station is listening on for frames to digipeat.  Note that each attached axip
interface should have a different callsign to listen to and this should  also
be different from other callsign's used on this station.

_4._4.  _a_t_t_a_c_h _d_r_s_i <_i_o_a_d_d_r> <_v_e_c_t_o_r> _a_x_2_5 <_i_f_a_c_e> <_b_u_f_s_i_z_e> <_m_t_u> <_c_h__a__s_p_e_e_d>
<_c_h__b__s_p_e_e_d>

N6TTO driver for the Digital Radio Systems PCPA 8530 card.  Since  there  are
two  channels  on the board, two interfaces are attached.  They will be named
iiiiffffaaaacccceeee with 'a' and 'b' appended.  bbbbuuuuffffssssiiiizzzzeeee is  the  receiver  buffer  size  in
bytes;  it  must be larger than the largest frame to be received.  cccchhhh____aaaa____ssssppppeeeeeeeedddd
and cccchhhh____bbbb____ssssppppeeeeeeeedddd are the speeds, in bits/sec, for the A and B channels, respec-
tively.

_4._5.  _a_t_t_a_c_h _e_a_g_l_e <_i_o_a_d_d_r> <_v_e_c_t_o_r> _a_x_2_5 <_i_f_a_c_e> <_b_u_f_s_i_z_e> <_m_t_u> <_s_p_e_e_d>

WA3CVG/NG6Q driver for the Eagle Computer card (Zilog 8530).

_4._6.  _a_t_t_a_c_h _h_a_p_n <_i_o_a_d_d_r> <_v_e_c_t_o_r> _a_x_2_5 <_i_f_a_c_e> <_b_u_f_s_i_z_e> <_m_t_u> _c_s_m_a | _f_u_l_l

KE3Z driver for the Hamilton Amateur Packet  Network  adapter  (Intel  8273).
The  ccccssssmmmmaaaa  |||| ffffuuuullllllll parameter specifies whether the port should operate in car-
rier sense multiple access (CSMA) mode or in full duplex.

_4._7.  _a_t_t_a_c_h _h_s <_i_o_a_d_d_r> <_v_e_c_t_o_r> _a_x_2_5 <_i_f_a_c_e> <_b_u_f_s_i_z_e> <_m_t_u>  <_k_e_y_u_p__d_e_l_a_y>
<_p>

Attach a DRSI PCPA or Eagle Computer interface card  using  a  special  "high
speed"  8530  driver.   This  driver uses busy-wait loops to send and receive
each byte instead of interrupts, making it  usable  with  high  speed  modems
(such  as  the WA4DSY 56kb/s modem) on slow systems.  This does have the side
effect of "freezing" the system whenever the modem transmitter or receiver is
active.   This  driver  can  operate only in CSMA mode, and it is recommended
that no other interfaces requiring small interrupt latencies be  attached  to
the same machine.

The kkkkeeeeyyyyuuuupppp____ddddeeeellllaaaayyyy parameter specifies the transmitter keyup delay in byte  time
intervals.  The  pppp  value  specifies the transmitter persistence value in the
range 1-255; the corresponding slot time is fixed at one hardware clock tick,
about 55 ms on the PC.

As with the other 8530 drivers, this driver actually attaches two interfaces,
one for each 8530 channel.

_4._8.  _a_t_t_a_c_h _p_a_c_k_e_t <_i_n_t_v_e_c> <_i_f_a_c_e> <_t_x_q_l_e_n> <_m_t_u>

Driver for use with  separate  software  "packet  drivers"  meeting  the  FTP
Software,  Inc,  Software  Packet Driver specification.  The driver must have
already been installed before the aaaattttttttaaaacccchhhh command is given. Packet drivers  in
the Ethernet, ARCNET, SLIP, SLFP, and KISS/AX25 classes are supported.

iiiinnnnttttvvvveeeecccc is the software interrupt vector used for communication to the  packet
driver,  and  ttttxxxxqqqqlllleeeennnn is the maximum number of packets that will be allowed on
the transmit queue.






                                  - 53 -
_4._9.  _a_t_t_a_c_h _p_c_1_0_0 <_i_o_a_d_d_r> <_v_e_c_t_o_r> _a_x_2_5 <_i_f_a_c_e> <_b_u_f_s_i_z_e> <_s_p_e_e_d>

Driver for the PACCOMM PC-100 (Zilog 8530) card.   Only  AX.25  operation  is
supported.

_4._1_0.  _a_t_t_a_c_h _s_c_c <_d_e_v_i_c_e_s> _i_n_i_t <_a_d_d_r>  <_s_p_a_c_i_n_g>  <_A_o_f_f>  <_B_o_f_f>  <_D_a_t_a_o_f_f>
<_i_n_t_a_c_k> <_v_e_c> [_p | _r]<_c_l_o_c_k> [<_h_d_w_e>] [<_p_a_r_a_m>]

PE1CHL driver to initialize a generic SCC (8530)  interface  board  prior  to
actually attaching it. The parameters are as follows:

_4._1_0._1.  <_d_e_v_i_c_e_s>

The number of SCC chips to support.

_4._1_0._2.  <_a_d_d_r>

The base address of the first SCC chip (hex).

_4._1_0._3.  <_s_p_a_c_i_n_g>

The spacing between the SCC chip base addresses.

_4._1_0._4.  <_A_o_f_f>

The offset from a chip's base address to its channel A control register.

_4._1_0._5.  <_B_o_f_f>

The offset from a chip's base address to its channel B control register.

_4._1_0._6.  <_D_a_t_a_o_f_f>

The offset from each channel's control register to its data register.

_4._1_0._7.  <_i_n_t_a_c_k>

The address of the INTACK/Read Vector port. If none, specify 0 to  read  from
RR3A/RR2B.

_4._1_0._8.  <_v_e_c>

The CPU interrupt vector for all connected SCCs.

_4._1_0._9.  <_c_l_o_c_k>

The clock frequency (PCLK/RTxC) of all SCCs in hertz.  Prefix  with  'p'  for
PCLK, 'r' for RTxC clock (for baudrate gen).

_4._1_0._1_0.  <_h_d_w_e>

Optional hardware type. The following values are currently  supported:   1  -
Eagle  card,  2  -  PACCOMM PC-100, 4 - PRIMUS-PC card (DG9BL), 8 - DRSI PCPA
card.

_4._1_0._1_1.  <_p_a_r_a_m>

Optional extra parameter. At present, this is used only with the  PC-100  and
PRIMUS-PC cards to set the modem mode. The value 0x22 is used with the PC-100
and 0x2 is used with the PRIMUS-PC card.





                                  - 54 -
The aaaattttttttaaaacccchhhh sssscccccccc ............ iiiinnnniiiitttt command must be given before the interfaces are actu-
ally attached with the following command.

_4._1_1.  _a_t_t_a_c_h _s_c_c <_c_h_a_n> _s_l_i_p | _k_i_s_s | _n_r_s | _a_x_2_5 <_i_f_a_c_e> <_m_t_u> <_s_p_e_e_d> <_b_u_f_-
_s_i_z_e> [<_c_a_l_l>]

Attach an initialized SCC port to the system. The parameters are as follows:

_4._1_1._1.  <_c_h_a_n>

The SCC channel number to attach, 0 or 1 for the first chip's A or B port,  2
or 3 for the second chip's A or B port, etc.

_4._1_1._2.  _s_l_i_p | _k_i_s_s | _n_r_s | _a_x_2_5

The operating mode of the interface. sssslllliiiipppp,,,, kkkkiiiissssssss and nnnnrrrrssss all operate the  port
hardware in asynchronous mode; sssslllliiiipppp is Internet-standard serial line IP mode,
kkkkiiiissssssss generates SLIP frames containing KISS TNC commands and AX.25 packets and
nnnnrrrrssss uses NET/ROM local serial link framing conventions to carry NET/ROM pack-
ets. Selecting aaaaxxxx22225555 mode puts the interface into synchronous HDLC  mode  that
is suitable for direct connection to a half duplex radio modem.

_4._1_1._3.  <_s_p_e_e_d>

The interface speed in bits per second (eg. 1200).  Prefix with 'd'  when  an
external divider is available to generate the TX clock. When the clock source
is PCLK, this can be a /32 divider between TRxC and RTxC. When the  clock  is
at  RTxC,  the TX rate must be supplied at TRxC. This is needed only for full
duplex synchronous operation. When this arg is given as 'ext',  the  transmit
and  receive  clocks are external, and the internal baud rate generator (BRG)
and digital phase locked loop (DPLL) are not used.


































                                  - 55 -
_4._1_2.  _A_t_t_a_c_h _E_x_a_m_p_l_e_s

Here are some examples of the attach command:


# Attach a 3Com Ethernet controller using the standard 3Com address and
# vector (i.e., as it comes out of the box) to use ARPA-standard encapsulation.
# The receive queue is limited to 5 packets, and outgoing packets larger
# than 1500 bytes will be fragmented
attach 3c500 0x300 3 arpa ec0 5 1500

# Attach the PC asynch card normally known as "com1" (the first controller)
# to operate in point-to-point slip mode at 9600 baud, calling it "sl0".
# A 1024 byte receiver ring buffer is allocated. Outgoing packets larger
# than 256 bytes are fragmented.
attach asy 0x3f8 4 slip sl0 1024 256 9600

# Attach the secondary PC asynch card ("com2") to operate in AX.25 mode
# with an MTU of 576 bytes at 9600 baud with a KISS TNC, calling it "ax0".
# By default, IP datagrams are sent in UI frames
attach asy 0x2f8 3 ax25 ax0 1024 576 9600

# Attach a axip wormhole
attach axip ai0 256 129.179.122.10 pa0gri-11
# on the other side of the wormhole
attach axip ai0 256 129.179.122.130 pa0gri-12
# Now assume 129.179.122.10 has a AX.25 interface with callsign pa0gri-10
# and 129.179.122.130 a interface with callsign pa0gri-8
# Now a AX.25 frame like:
# pe1chl->pa0gri-11->pa0gri-8->pe1dna [ data]
# Received by pa0gri-11, set the has-been-digipeated change the interface
# callsign with the one it realy came in from and ecapsulates it
# in a IP frame type 93 and ships it to 129.179.122.130
# pe1chl->pa0gri-10*->pa0gri-8->pe1dna [ data]
# Arived at 129.179.122.130 the next digi is searched for and found.
# The frame is changed into:
# pe1chl->pa0gri-10*->pa0gri-12*->pe1dna [ data]
# so that on the way back the frame will find the "right" interface.

# Attach the packet driver loaded at interrupt 0x7e
# The packet driver is for an Ethernet interface
attach packet 0x7e ethernet 8 1500























                                  - 56 -
_5.  _F_T_P _S_u_b_c_o_m_m_a_n_d_s

During converse mode with an FTP server, everything typed on the  console  is
first  examined  to see if it is a locally-known command. If not, the line is
passed intact to the remote server on the control channel. If it  is  one  of
the following commands, however, it is executed locally. (Note that this gen-
erally involves other commands being sent to the remote server on the control
channel.)

_5._1.  _d_i_r [<_f_i_l_e> | <_d_i_r_e_c_t_o_r_y> [<_l_o_c_a_l _f_i_l_e>]]

Without arguments, ddddiiiirrrr requests that a full directory listing of  the  remote
server's  current  directory  be  sent  to  the terminal.  If one argument is
given, this is passed along in the LIST command; this can be a specific  file
or  subdirectory  that  is meaningful to the remote file system. If two argu-
ments are given, the second is taken as the local file into which the  direc-
tory  listing should be put (instead of being sent to the console).  The PORT
command is used before the LIST command is sent.

_5._2.  _f_l_o_w [_o_f_f|_o_n]

Displays or sets the -more- processing on the current ftp session.  When  set
to  on,  a -more- prompt is displayed after each screen full of data. You can
do the same with a sssseeeessssssssiiiioooonnnn #### fffflllloooowwww command.  Note that this is a local  exten-
sion to the standard ftp command set.

_5._3.  _g_e_t <_r_e_m_o_t_e _f_i_l_e> [<_l_o_c_a_l _f_i_l_e>]

Asks the remote server to send the file specified in the first argument.  The
second argument, if given, will be the name of the file on the local machine;
otherwise it will have the same name as on the remote machine.  The PORT  and
RETR commands are sent on the control channel.

_5._4.  _h_a_s_h

A synonym for the vvvveeeerrrrbbbboooosssseeee 3333 command.

_5._5.  _l_s [<_f_i_l_e> | <_d_i_r_e_c_t_o_r_y> [<_l_o_c_a_l _f_i_l_e>]]

llllssss is identical to the ddddiiiirrrr command except that the "NLST" command is sent  to
the  server  instead  of  the  "LIST" command. This results in an abbreviated
directory listing, i.e., one showing only the file names  themselves  without
any other information.

_5._6.  _m_g_e_t <_f_i_l_e> [<_f_i_l_e> ...]

Fetch a collection of files from the server. File names may include wild card
characters; they will be interpreted and expanded into a list of files by the
remote system using the NLST command. The files will have the  same  name  on
the local system that they had on the server.

_5._7.  _m_k_d_i_r <_r_e_m_o_t_e _d_i_r_e_c_t_o_r_y>

Creates a directory on the remote machine.

_5._8.  _m_p_u_t <_f_i_l_e> [<_f_i_l_e> ...]

Send a collection of files to the server. File names may  include  wild  card
characters;  they  will  be expanded locally into a list of files to be sent.
The files will have the same name on the server as on the local system.





                                  - 57 -
_5._9.  _p_u_t <_l_o_c_a_l _f_i_l_e> [<_r_e_m_o_t_e _f_i_l_e>]

Asks the remote server to accept data, creating the file named in  the  first
argument.  The second argument, if given, will be the name of the file on the
remote machine; otherwise it will have the same name as on the local machine.
The PORT and STOR commands are sent on the control channel.

_5._1_0.  _r_m_d_i_r <_r_e_m_o_t_e _d_i_r_e_c_t_o_r_y>

Deletes a directory on the remote machine.

_5._1_1.  _t_y_p_e [_a | _i | _l <_b_y_t_e_s_i_z_e>]

Tells both the local client and remote server the type of file that is to  be
transferred.   The  default,  (wich can be changed with the ffffttttyyyyppppeeee command) is
'a', which means ASCII (i.e., a text file).   Type  'i'  means  _i_m_a_g_e,  i.e.,
binary.   In  ASCII  mode,  files are sent as varying length lines of text in
ASCII separated by cr/lf sequences; in IMAGE mode, files are sent exactly  as
they appear in the file system.  ASCII mode should be used whenever transfer-
ring text between dissimilar systems (e.g., UNIX and MS-DOS) because of their
different  end-of-line  and/or end-of-file conventions.  When exchanging text
files between machines of the same type, either mode will work but IMAGE mode
is usually faster.  Naturally, when exchanging raw binary files (executables,
compressed archives, etc) IMAGE mode must be used.  Type  'l'  (logical  byte
size) is used when exchanging binary files with remote servers having oddball
word sizes (e.g., DECSYSTEM-10s and  20s).  Locally  it  works  exactly  like
IMAGE,  except that it notifies the remote system how large the byte size is.
bbbbyyyytttteeeessssiiiizzzzeeee is typically 8.  The type command sets the local transfer  mode  and
generates the TYPE command on the control channel.

_5._1_2.  _v_e_r_b_o_s_e [_0 | _1 | _2 | _3]

Set or display the level of message output  in  file  transfers.   VVVVeeeerrrrbbbboooosssseeee  0000
gives the least output, and vvvveeeerrrrbbbboooosssseeee 3333 the most, as follows:

0 - Display error messages only.
1 - Display error messages plus a one-line summary after each transfer
   giving the name of the file, its size, and the transfer time and rate.
2 - Display error and summary messages plus the progress messages generated
   by the remote FTP server. (This setting is the default.)
3 - Display all messages. In addition, a "hash mark" (#) is displayed for
   every 1,000 bytes sent or received.

If a command is sent to the  remote  server  because  it  is  not  recognized
locally,  the response is always displayed, regardless of the setting of vvvveeeerrrr----
bbbboooosssseeee.  This is necessary for commands like ppppwwwwdddd (display  working  directory),
which  would  otherwise produce no message at all if vvvveeeerrrrbbbboooosssseeee were set to 0 or
1.

















                                  - 58 -
_6.  _D_i_a_l_e_r _S_u_b_c_o_m_m_a_n_d_s

Each dialer command may (should) have a  different  dialer  file.   The  file
resides in the configuration directory, as specified in the IIIInnnnssssttttaaaallllllllaaaattttiiiioooonnnn sec-
tion (see chapter 1).  A typical dialer file might be:

       # Set the speed, and toggle DTR to ensure modem is in command mode.
       control down
       wait 3000
       speed 2400
       control up
       wait 3000
       # Dial, and wait for connection
       send "atdt555-1212\r"
       wait 45000 "CONNECT " speed
       wait 2000
       # PAD specific initialization
       send "\r"
       wait 15000 "Terminal ="
       send "ppp\r"
       wait 10000 "\r\n"


_6._0._1.  _c_o_n_t_r_o_l _d_o_w_n | _u_p

Control aaaassssyyyy interface.  The ddddoooowwwwnnnn option drops DTR and  RTS.   The  uuuupppp  option
asserts DTR and RTS.

_6._0._2.  _s_e_n_d "_s_t_r_i_n_g"

This dialer command will write the specified string to  the  interface.   The
string quote marks are required, and the string may not contain embedded con-
trol characters.  However, the standard C string escape sequences are  recog-
nized (\0 should not be used).

_6._0._3.  _s_p_e_e_d [ _9_6_0_0 | _4_8_0_0 | _2_4_0_0 | _1_2_0_0 | _3_0_0 ]

This dialer command will set the speed of the interface to one of the  avail-
able  speeds.   If  the  speed is missing, the speed will be displayed in the
dialer session window.

_6._0._4.  _w_a_i_t <_m_i_l_l_i_s_e_c_o_n_d_s> [ "_t_e_s_t _s_t_r_i_n_g" ] [ _s_p_e_e_d ]

If only the time is specified, the dialer pauses for the  desired  number  of
milliseconds.

Otherwise, the dialer reads until the test string is detected on  the  inter-
face.   If the string is not detected within the desired time, the autodialer
will reset.  The string quote marks are required, and the string may not con-
tain  embedded  control  characters.   However,  the standard C string escape
sequences are recognized (\0 should not be used).

Finally, if the _s_p_e_e_d parameter is specified, the  dialer  will  continue  to
read  characters until a non-digit is detected.  The string read is converted
to an integer, and used to set the interface speed.   If  the  trailing  non-
digit  is not detected within the desired time, or the integer value is not a
valid speed, the autodialer will reset.








                                  - 59 -
_7.  _I_n_s_t_a_l_l_a_t_i_o_n

NNNNoooossss uses the following file and directory structure:

       ~/alias
       ~/autoexec.nos
       ~/dialer
       ~/domain.txt
       ~/ftpusers
       ~/net.rc
       ~/netron.sav
       ~/popusers
       ~/finger/
       ~/etc/printcap
       ~/etc/lpdperms
       ~/etc/log
       ~/spool/areas
       ~/spool/mail.log
       ~/spool/net.log
       ~/spool/forward.bbs
       ~/spool/history
       ~/spool/rewrite
       ~/spool/help/
       ~/spool/mail/
       ~/spool/mqueue/
       ~/spool/news/
       ~/spool/news/active
       ~/spool/news/pointer
       ~/spool/news/info
       ~/spool/news/help
       ~/spool/news/history
       ~/spool/news/forward
       ~/spool/news/poll
       ~/spool/rqueue/
       ~/spool/signatur/
       ~/spool/lpd/


The ~ in front of all files is a  directory  offset  definable  with  the  ----dddd
option  on the NNNNoooossss command line. Any name may be chosen and is default empty.
(eg. just /) If for example  ----dddd  ////nnnneeeetttt  is  given,  the  structure  shifts  to
/net/...   The  aaaalllliiiiaaaassss,,,,  aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss,,,, ddddiiiiaaaalllleeeerrrr,,,, ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt nnnneeeetttt....rrrrcccc,,,, ppppooooppppuuuusssseeeerrrrssss and
ffffttttppppuuuusssseeeerrrrssss configuration files are located here.  The nnnneeeettttrrrroooommmm....ssssaaaavvvv file  will  be
created there.

The "/spool" directory and its sub-directories are used by the bbs, SMTP  and
NNTP  services.  The aaaarrrreeeeaaaassss,,,, ffffoooorrrrwwwwaaaarrrrdddd....bbbbbbbbssss,,,, hhhhiiiissssttttoooorrrryyyy,,,, mmmmaaaaiiiillll....lllloooogggg and rrrreeeewwwwrrrriiiitttteeee confi-
guration files are located here.  The /spool/news  directory  can  have  many
subdirectories  and each subdirectory can have subdirectories. Newsgroups are
split into heirarchical directory structures. A  news  article  in  newsgroup
rec.amateur.radio.packet           will           end          up          in
/spool/news/rec/amateur/radio/packet.txt.

_7._1.  _T_h_e /_f_t_p_u_s_e_r_s _F_i_l_e

Since MS-DOS is a single-user operating system (some might say it is a glori-
fied bootstrap loader), it provides no access control; all files can be read,
written or deleted by the local user.  It is usually undesirable to give such
open  access to a system to remote network users.  Net therefore provides its
own access control mechanisms.





                                  - 60 -
The file ffffttttppppuuuusssseeeerrrrssss controls remote FTP and mailbox access.  The FTP default is
_n_o  access;  if this file does not exist, the FTP server will be unusable.  A
remote user must first "log in" to the system with the  USER  and  PASS  com-
mands,  giving a valid name and password listed in ffffttttppppuuuusssseeeerrrrssss, before he or she
can transfer files.

Each entry in ffffttttppppuuuusssseeeerrrrssss consists of a single line of the form

username password /path permissions ip_address


There must be at least four fields, and  there  must  be  exactly  one  space
between  each  field.   Comments  may be added after the last field.  Comment
lines begin with '#' in column one.

uuuusssseeeerrrrnnnnaaaammmmeeee is the user's login name.

ppppaaaasssssssswwwwoooorrrrdddd is the required password.  Note that this is in plain  text;  there-
fore it is not a good idea to give general read permission to the root direc-
tory.  A password of '*' (a single  asterisk)  means  that  any  password  is
acceptable.

////ppppaaaatttthhhh is the allowable prefix on accessible files.  Before any file or direc-
tory  operation,  the current directory and the user- specified file name are
joined to form an absolute path name in "canonical" form (i.e., a  full  path
name  starting at the root, with "./" and "../" references, as well as redun-
dant /'s, recognized and removed).  The result MUST begin with the  allowable
path  prefix;  if not, the operation is denied.  This field must always begin
with a "/", i.e., at the root directory.  Multiple directories can be  speci-
fied by separating them with a ";" caracter and no whitespace around them.

ppppeeeerrrrmmmmiiiissssssssiiiioooonnnnssss is a decimal number granting  permission  for  read,  create  and
write  operations.  If the low order bit (0x1) is set, the user is allowed to
read a file subject to the path name prefix restriction.   If  the  next  bit
(0x2)  is  set,  the  user  is  allowed  to  create a new file if it does not
overwrite an existing file.  If the third bit  (0x4)  is  set,  the  user  is
allowed  to write a file even if it overwrites an existing file, and in addi-
tion he may delete files.  Again, all operations are allowed subject  to  the
path  name  prefix restrictions.  Permissions may be combined by adding bits,
for example, 0x3 (= 0x2 + 0x1) means that the user is given read  and  create
permission, but not overwrite/delete permission.

Additional permission bits used by the mailbox and PPP are:

 1   Read files
 2   Create new files
 4   Overwrite and delete existing files
 8   AX.25 gateway operation allowed
 16  Telnet gateway operation allowed
 32  NET/ROM gateway operation allowed
 64  Remote sysop access allowed (DANGEROUS)
 128 This user is banned from BBS access (illegal user)
 256 Priv bit for PPP connection
 512 Priv bit for peerID/pass lookup
1024 disallow send commands (except to SYSOP)
2048 disallow read commands
4096 disallow 3rd party mail
8192 This station is a known BBS


iiiipppp____aaaaddddddddrrrreeeessssssss is used for PPP only and is the remote IP address of the connected




                                  - 61 -
system.

A username of uuuunnnniiiivvvvppppeeeerrrrmmmm has special meaning in the  validation  meganism.   If
uuuunnnniiiivvvvppppeeeerrrrmmmm  is  included as a valid user in ffffttttppppuuuusssseeeerrrrssss then any unknown user (not
in ffffttttppppuuuusssseeeerrrrssss) will be mapped into uuuunnnniiiivvvvppppeeeerrrrmmmm and get  its  permission  bits  and
file path. If uuuunnnniiiivvvvppppeeeerrrrmmmm is not included in ffffttttppppuuuusssseeeerrrrssss unknown users are not per-
mitted nor validated.

For example, suppose ffffttttppppuuuusssseeeerrrrssss on machine pc.ka9q.ampr.org contains the line

friendly test /testdir 7


A session using this account would look like this:

net> ftp pc.ka9q.ampr.org
Resolving pc.ka9q.ampr.org... Trying 128.96.160.1...
FTP session 1 connected to pc.ka9q.ampr.org
220 pc.ka9q.ampr.org FTP version 900418 ready at Mon May 7 16:27:18 1990
Enter user name: friendly
331 Enter PASS command
Password: test [not echoed]
230 Logged in
ftp>


The user now has read, write, overwrite and delete privileges  for  any  file
under /testdir; he may not access any other files.

Here are some more sample entries in ffffttttppppuuuusssseeeerrrrssss:

karn foobar / 7         # User "karn" with password "foobar" may read,
                       # write, overwrite and delete any file on the
                       # system.

guest bletch /g/bogus;/public 3
                       # User "guest" with password "bletch" may read
                       # any file under /g/bogus and its subdirectories,
                       # and /public and its subdirectories,
                       # and may create a new file as long as it does
                       # not overwrite an existing file. He may NOT
                       # delete any files.

anonymous * /public 1   # User "anonymous" (any password) may read files
                       # under /public and its subdirectories; he may
                       # not create, overwrite or delete any files.


This last entry is the standard convention for keeping a repository of public
files; in particular, the username "anonymous" is an established ARPA conven-
tion.

_7._2.  _T_h_e /_p_o_p_u_s_e_r_s _F_i_l_e

Here are the username / password combinations defined for the POP users.   It
has a simple convention:

user:password:

for every POP user such a line has to be added. The user and password  fields
sould  match  the  ppppoooopppp  uuuusssseeeerrrrddddaaaattttaaaa statement of the remote user.  Both user and




                                  - 62 -
password have to be delimited with a colon character.

_7._3.  _T_h_e /_n_e_t._r_c _F_i_l_e

The net.rc file is a fast login file for known ftp stations. Each line starts
with the name of the ftp station. Following are a user and password statemend
to be send to the server for validation.  The name,  user  and  password  are
separated  with a space. Not a tab or more than 1 space character.  Following
is a sample net.rc file.

ucsd.edu anonymous [email protected]
ka9q.ampr.org guest pa0gri


_7._4.  _T_h_e /_d_o_m_a_i_n._t_x_t _F_i_l_e

NNNNoooossss translates domain names (eg. "pc.ka9q.ampr.org")  to  IP  addresses  (eg.
128.96.160.3) through the use of an Internet Domain Name resolver and a local
"cache" file, ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt.  Whenever the user specifies  a  domain  name,  the
local cache is searched for the desired entry.  If it is present, it is used;
if not, and if domain name server(s) have been configured, a  query  is  sent
over  the  network to the current server.  If the server responds, the answer
is added to the ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt file for future  use.   If  the  server  does  not
respond,  any  additional  servers  on  the  list  are tried in a round-robin
fashion until one responds, or the retry limit is  reached  (see  the  ddddoooommmmaaaaiiiinnnn
rrrreeeettttrrrryyyy  command).   If ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt does not contain the desired entry and there
are no configured domain name servers, then the request immediately fails.

If a domain name server is available, and if all references  to  host-ids  in
your  /aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss  file  are  in  IP address format, then it is possible to
start with a completely empty ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt file and have NNNNoooossss build it for  you.
However,  you  may wish to add your own entries to ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt, either because
you prefer to use symbolic domain names in your  /aaaauuuuttttooooeeeexxxxeeeecccc....nnnnoooossss  file  or  you
don't  have  access to a domain server and you need to create entries for all
of the hosts you may wish to access.

Each entry takes one line, and the fields are separated by tabs.   For  exam-
ple:

pc.ka9q.ampr.org.       IN      A       128.96.160.3

IIIINNNN is the _c_l_a_s_s of the record.  It means _I_n_t_e_r_n_e_t, and it will  be  found  in
all  entries.   AAAA  is  the  _t_y_p_e  of the record, and it means that this is an
_a_d_d_r_e_s_s record.  Domain name ppppcccc....kkkkaaaa9999qqqq....aaaammmmpppprrrr....oooorrrrgggg therefore has Internet  address
128.96.160.3.

Another possible entry is the CCCCNNNNAAAAMMMMEEEE (Canonical Name) record.  For example:

ka9q.ampr.org.          IN      CNAME   pc.ka9q.ampr.org.

This says that domain name "ka9q.ampr.org" is actually an alias for the  sys-
tem  with  (primary,  or  _c_a_n_o_n_i_c_a_l)  domain name "pc.ka9q.ampr.org."  When a
domain name having a CCCCNNNNAAAAMMMMEEEE record is given to NNNNoooossss, the  system  automatically
follows  the reference to the canonical name and returns the IP address asso-
ciated with that entry.

Entries added automatically by NNNNoooossss will have an additional field between  the
domain name and the class (IIIINNNN) field.  For example:

pc.ka9q.ampr.org.       3600    IN      A       128.96.160.3





                                  - 63 -
This is the _t_i_m_e-_t_o-_l_i_v_e  value,  in  seconds,  associated  with  the  record
received  from  the  server.  Clients (such as NNNNoooossss) caching these records are
supposed to delete them after the time-to-live interval has expired, allowing
for  the  possibility  that  the  information in the record may become out of
date.

This implementation of NNNNoooossss will decrement the  TTL  to  zero,  but  will  not
delete  the  record unless the "clean" flag is on (see the ddddoooommmmaaaaiiiinnnn ccccaaaacccchhhheeee cccclllleeeeaaaannnn
command).  When a remote server is not available, the old entry will be used.

When the _T_T_L value is missing (as in the examples  above),  the  record  will
never  expire, and must be managed by hand.  Since ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt is a plain text
file, it may be easily edited by the user to add, change or delete records.

Additional types of records, include NS  (name  server)  and  SOA  (start  of
authority)  may  appear in ddddoooommmmaaaaiiiinnnn....ttttxxxxtttt from remote server responses. These are
not currently used by NNNNoooossss but are retained for future  development  (such  as
the incorporation of a domain name server into NNNNoooossss itself).

_7._5.  _T_h_e /_a_l_i_a_s _f_i_l_e.

SMTP server ALIAS file. This is for resolving a given target address  into  a
single or multiple entry mail list.
 Format:
   mail_list_name call_1@host_1 [call_2@host_2]......# comments

   pa0gri [email protected]
   kelvin [email protected]
   #
   bob    [email protected]
   ian    [email protected]
   jim    [email protected]
   john   g5ds%[email protected]
   ted    gb3kp%[email protected]
   ron    [email protected]
   tim    [email protected]
   gareth g6kvk%[email protected]
   bolton gb7tcp%[email protected]
   julian g7efe%[email protected]
   #
   world  [email protected] [email protected] [email protected]
      [email protected] [email protected] g6kvk%[email protected]
      [email protected] [email protected] [email protected]
      [email protected] [email protected] [email protected]
   #
   locals [email protected] [email protected] [email protected]
      [email protected] [email protected] [email protected]
      [email protected] [email protected] [email protected]

Note that it is reaonable, and sometimes desiable, to have alias  records  in
the form:

  area  area dest1 dest2

As the /alias file is scanned only once, this does not result in an  infinite
recursion.

_7._6.  _T_h_e /_s_p_o_o_l/_a_r_e_a_s _f_i_l_e.

This file is a header file shown to a mailbox user when  he  requests  the  a
display. It should show all public mailboxes to read. Here is a sample:




                                  - 64 -
   -------------  Public  --  Mail  --  Areas  -------------
                                                           |
   General    --    Any old chit-chat that is clean.       |
   TcpIp      --    General Tcp/Ip messages. NOS etc.      |
   Bugs       --    Where to report bugs in Ka9q-NOS       |
   Updates    --    Info - NOS version UPDATES by G1EMM.   |
                                                           |
   ---------------------------------------------------------

_7._7.  _T_h_e /_s_p_o_o_l/_f_o_r_w_a_r_d._b_b_s _f_i_l_e.

The mailbox reads a forwarding file,  ssssppppoooooooollll////ffffoooorrrrwwwwaaaarrrrdddd....bbbbbbbbssss.  Here  is  a  sample
file.
   wb0ttw 0006
   ax25 ax0 wb0ttw
   wb0ttw
   w0tn
   mspbul
   all
   ------
   wb0gdb
   netrom #msparh
   ..c msparh
   all
   ------ The first word on the first line in a  forwarding  record  is  the
name  of the BBS to forward to. This should be the same type of name which is
shown by the _m_b_o_x _s_t_a_t_u_s command. The second word is optional. It specifies a
range  of  hours  when  forwarding may take place. 0000000000006666 means that there will
only be forwarding to this station between midnight and 6am.

The second line specifies how to establish the connection.  It  should  start
with  the  protocol (_a_x_2_5, _c_o_n_n_e_c_t, _t_c_p, _t_e_l_n_e_t or _n_e_t_r_o_m) and be followed by
all the parameters which are nessesary when NNNNoooossss has to  establish  a  connec-
tion.

Directly after the second line, there may be lines that  start  with  a  dot.
What follows after the dot will be send to the remote BBS as soon as the con-
nection is established.

Then follows the names of a number  of  message  areas,  publib  or  private.
Finally,  there  should  be a couple of '-' signs to separate one  forwarding
record from another. Also terminate the file with a last line of dashes.

_7._8.  _T_h_e /_s_p_o_o_l/_r_e_w_r_i_t_e _f_i_l_e.

Read the rewrite file for lines where the first word is a regular  expression
and the second word are rewriting rules.  An optional third field, containing
just the letter "r", when present, instructs NNNNoooossss to restart the rewrite file,
using  the  new destination address.  The special character '$' followed by a
digit denotes the string that matched a '*' character. The '*' characters are
numbered from 1 to 9.  Example: the line "*@*.* $2@$1.ampr.org" would rewrite
the address "[email protected]" to "[email protected]".
   #
   *@g1emm.ampr.org $1
   *@g1emm.ampr $1
   *@g1emm $1
   #
   *!*!*!*!*!*!* $7%$6@$5@$4@$3@$2@$1
   *!*!*!*!*!* $6%$5@$4@$3@$2@$1
   *!*!*!*!* $5%$4@$3@$2@$1
   *!*!*!* $4%$3@$2@$1




                                  - 65 -
   *!*!* $3%$2@$1
   *!* $2@$1
   !* $1 r
   #
   # The End




























































                                  - 66 -
_8.  _S_e_t_t_i_n_g _B_u_f_s_i_z_e, _P_a_c_l_e_n, _M_a_x_f_r_a_m_e, _M_T_U, _M_S_S _a_n_d _W_i_n_d_o_w

Many NNNNoooossss users are confused by these parameters and do not know  how  to  set
them  properly. This chapter will first review these parameters and then dis-
cuss how to choose values for them. Special emphasis  is  given  to  avoiding
interoperability  problems  that  may  appear when communicating with non-NNNNoooossss
implementations of AX.25.

_8._1.  _H_a_r_d_w_a_r_e _P_a_r_a_m_e_t_e_r_s


_8._1._1.  _B_u_f_s_i_z_e

This parameter is required by most of NNNNoooossss's built-in HDLC drivers (eg.  those
for  the  DRSI  PCPA  and  the  Paccomm PC-100). It specifies the size of the
buffer to be allocated for each receiver port. HDLC frames larger  than  this
value cannot be received.

There is no default bbbbuuuuffffssssiiiizzzzeeee; it must be specified in the aaaattttttttaaaacccchhhh  command  for
the interface.

_8._2.  _A_X_2_5 _P_a_r_a_m_e_t_e_r_s

_8._2._1.  _P_a_c_l_e_n

Paclen limits the size of the data field in an AX.25 I-frame. This value does
_n_o_t  include  the  AX.25  protocol header (source, destination and digipeater
addresses).

Since unconnected-mode (datagram) AX.25 uses UI frames, this parameter has no
effect in unconnected mode.

The default value of ppppaaaacccclllleeeennnn is 256 bytes.

_8._2._2.  _M_a_x_f_r_a_m_e

This parameter controls the number of I-frames that NNNNoooossss may send on an  AX.25
connection  before  it  must stop and wait for an acknowledgement.  Since the
AX.25/LAPB sequence number field is 3 bits wide, this number cannot be larger
than 7.

Since unconnected-mode (datagram) AX.25 uses  UI  frames  that  do  not  have
sequence numbers, this parameter does _n_o_t apply to unconnected mode.

The default value of mmmmaaaaxxxxffffrrrraaaammmmeeee in NNNNoooossss is 1 frame.

_8._3.  _I_P _a_n_d _T_C_P _P_a_r_a_m_e_t_e_r_s

_8._3._1.  _M_T_U

The MTU (Maximum Transmission Unit) is an interface parameter that limits the
size  of  the largest IP datagram that it may handle.  IP datagrams routed to
an interface that are larger than its MTU are each split  into  two  or  more
_f_r_a_g_m_e_n_t_s.  Each fragment has its own IP header and is handled by the network
as if it were a distinct IP datagram, but when it arrives at the  destination
it  is held by the IP layer until all of the other fragments belonging to the
original datagram have arrived. Then they are reassembled back into the  com-
plete,  original  IP  datagram.  The  minimum  acceptable interface MTU is 28
bytes: 20 bytes for the IP (fragment) header, plus 8 bytes of data.

There is no default MTU in NNNNoooossss; it must  be  explicitly  specified  for  each




                                  - 67 -
interface as part of the aaaattttttttaaaacccchhhh command.

_8._3._2.  _M_S_S

MSS (Maximum Segment Size) is a TCP-level parameter that limits the amount of
data  that  the  _r_e_m_o_t_e  TCP will send in a single TCP packet. MSS values are
exchanged in the SYN (connection request) packets that open a TCP connection.
In  the  NNNNoooossss  implementation  of TCP, the MSS actually used by TCP is further
reduced in order to avoid fragmentation at the local IP interface.  That  is,
the local TCP asks IP for the MTU of the interface that will be used to reach
the destination. It then subtracts 40 from the MTU value  to  allow  for  the
overhead  of  the  TCP  and  IP  headers.  If the result is less than the MSS
received from the remote TCP, it is used instead.

The default value of MMMMSSSSSSSS is 512 bytes.

_8._3._3.  _W_i_n_d_o_w

This is a TCP-level parameter that controls how much data the local TCP  will
allow the remote TCP to send before it must stop and wait for an acknowledge-
ment. The actual window value used by TCP when deciding how much more data to
send  is  referred  to  as  the _e_f_f_e_c_t_i_v_e _w_i_n_d_o_w.  This is the smaller of two
values: the window advertised by the remote TCP minus the unacknowledged data
in  flight, and the _c_o_n_g_e_s_t_i_o_n _w_i_n_d_o_w, an automatically computed time-varying
estimate of how much data the network can handle.

The default value of WWWWiiiinnnnddddoooowwww is 2048 bytes.

_8._4.  _D_i_s_c_u_s_s_i_o_n


_8._4._1.  _I_P _F_r_a_g_m_e_n_t_a_t_i_o_n _v_s _A_X._2_5 _S_e_g_m_e_n_t_a_t_i_o_n

IP-level fragmentation often makes it possible to interconnect two dissimilar
networks,  but it is best avoided whenever possible.  One reason is that when
a single IP fragment is lost, all  other  fragments  belonging  to  the  same
datagram   are  effectively  also  lost  and  the  entire  datagram  must  be
retransmitted by the source.  Even without loss, fragments require the  allo-
cation of temporary buffer memory at the destination, and it is never easy to
decide how long to wait for missing fragments before giving up and discarding
those  that  have already arrived.  A reassembly timer controls this process.
In NNNNoooossss it is  (re)initialized  with  the  iiiipppp  rrrrttttiiiimmmmeeeerrrr  parameter  (default  30
seconds)  whenever  progress  is made in reassembling a datagram (i.e., a new
fragment is received).  It is not necessary that all of the fragments belong-
ing  to  a  datagram  arrive  within a single timeout interval, only that the
interval between fragments be less than the timeout.

Most subnetworks that carry IP have MTUs of 576 bytes or more,  so  intercon-
necting  them  with subnetworks having smaller values can result in consider-
able fragmentation. For this reason, IP implementors working  with  links  or
subnets having unusually small packet size limits are encouraged to use _t_r_a_n_-
_s_p_a_r_e_n_t _f_r_a_g_m_e_n_t_a_t_i_o_n, that is, to  devise  schemes  to  break  up  large  IP
datagrams  into  a  sequence  of  link  or subnet frames that are immediately
reassembled on the other end of the link or subnet into the  original,  whole
IP  datagram without the use of IP-level fragmentation. Such a scheme is pro-
vided in AX.25 Version 2.1.  It can break a large IP or NET/ROM datagram into
a  series  of  ppppaaaacccclllleeeennnn-sized  AX.25 segments (not to be confused with TCP seg-
ments), one per AX.25 I-frame, for transmission and reassemble  them  into  a
single  datagram  at the other end of the link before handing it up to the IP
or NET/ROM module.   Unfortunately,  the  segmentation  procedure  is  a  new
feature  in  AX.25  and is not yet widely implemented; in fact, NNNNoooossss is so far




                                  - 68 -
the only known implementation. This creates  some  interoperability  problems
between  NNNNoooossss  and  non-NNNNoooossss nodes, in particular, standard NET/ROM nodes being
used to carry IP datagrams. This problem is discussed further in the  section
on setting the MTU.

_8._4._2.  _S_e_t_t_i_n_g _p_a_c_l_e_n _a_n_d _b_u_f_s_i_z_e

The more data you put into an AX.25 I frame, the smaller  the  AX.25  headers
are  in  relation  to  the  total  frame  size. In other words, by increasing
ppppaaaacccclllleeeennnn, you lower the AX.25  protocol  overhead.  Also,  large  data  packets
reduce  the overhead of keying up a transmitter, and this can be an important
factor with higher speed modems. On the other hand, large frames make  bigger
targets  for noise and interference. Each link has an optimum value of ppppaaaacccclllleeeennnn
that is best discovered by experiment.

Another thing to remember when setting ppppaaaacccclllleeeennnn is that the AX.25  version  2.0
specification  limits  it  to  256 bytes. Although NNNNoooossss can handle much larger
values, some other AX.25 implementations (including digipeaters)  cannot  and
this may cause interoperability problems. Even NNNNoooossss may have trouble with cer-
tain KISS TNCs because of fixed-size buffers. The original KISS TNC code  for
the  TNC-2  by  K3MC can handle frames limited in size only by the RAM in the
TNC, but some other KISS TNCs cannot.

NNNNoooossss's built-in HDLC drivers (SCC, PC-100, DRSI, etc) allocate receive buffers
according  to  the maximum expected frame size, so it is important that these
devices be configured with the correct bbbbuuuuffffssssiiiizzzzeeee. To do this, you must know the
size of the largest possible frame that can be received. The ppppaaaacccclllleeeennnn parameter
controls only the size of the data field in an I-frame and not the total size
of  the  frame  as it appears on the air. The AX.25 spec allows up to 8 digi-
peaters, so the largest possible frame is (ppppaaaacccclllleeeennnn + 72) bytes. So you  should
make bbbbuuuuffffssssiiiizzzzeeee at least this large.

Another important consideration is that  the  more  recent  versions  of  NOS
improve  interrupt  response by maintaining a special pool of buffers for use
by the receive routines.  These buffers are currently fixed in size  to  2048
bytes  and  this can be changed only by editing config.h and recompiling NOS.
This limits bbbbuuuuffffssssiiiizzzzeeee; in fact, attempting to set a larger value may cause  the
driver  not  to  work  at  all. This situation can be detected by running the
mmmmeeeemmmmoooorrrryyyy ssssttttaaaattttuuuussss command and looking for a non-zero count  of  IIIIbbbbuuuuffffffffaaaaiiiillll  events,
although these events can also occur occasionally during normal operation.

One of the drawbacks of AX.25 that there is no way for one  station  to  tell
another  how  large a packet it is willing to accept.  This requires the sta-
tions sharing a channel to agree beforehand on a maximum packet size.  TCP is
different, as we shall see.

_8._4._3.  _S_e_t_t_i_n_g _M_a_x_f_r_a_m_e

For best performance on a half-duplex radio channel, mmmmaaaaxxxxffffrrrraaaammmmeeee  should  always
be  set  to  1.  The  reasons are explained in the paper _L_i_n_k _L_e_v_e_l _P_r_o_t_o_c_o_l_s
_R_e_v_i_s_i_t_e_d by Brian Lloyd and Phil Karn, which appeared in the proceedings  of
the ARRL 5th Computer Networking Conference in 1986.

_8._4._4.  _S_e_t_t_i_n_g _M_T_U

TCP/IP header overhead considerations similar to those  of  the  AX.25  layer
when  setting ppppaaaacccclllleeeennnn apply when choosing an MTU.  However, certain subnetwork
types supported by NNNNoooossss have well-established MTUs, and these should always be
used  unless  you  know  what  you're doing: 1500 bytes for Ethernet, and 508
bytes for ARCNET.  The MTU for PPP is automatically negotiated, and  defaults
to  1500.   Other  subnet  types,  including  SLIP and AX.25, are not as well




                                  - 69 -
standardized.

SLIP has no official MTU, but the most common implementation (for  BSD  UNIX)
uses  an MTU of 1006 bytes.  Although NNNNoooossss has no hard wired limit on the size
of a received SLIP frame, this is not true for other systems.  Interoperabil-
ity problems may therefore result if larger MTUs are used in NNNNoooossss.

Choosing an MTU for an AX.25 interface is more complex.  When  the  interface
operates  in  datagram  (UI-frame) mode, the ppppaaaacccclllleeeennnn parameter does not apply.
The MTU effectively becomes the ppppaaaacccclllleeeennnn of the link.   However,  as  mentioned
earlier,  large packets sent on AX.25 _c_o_n_n_e_c_t_i_o_n_s are automatically segmented
into I-frames no larger than ppppaaaacccclllleeeennnn bytes.  Unfortunately, as also  mentioned
earlier, NNNNoooossss is so far the only known implementation of the new AX.25 segmen-
tation procedure. This is fine as long as all of the NET/ROM  nodes  along  a
path  are  running  NNNNoooossss, but since the main reason NNNNoooossss supports NET/ROM is to
allow use of existing NET/ROM networks, this is unlikely.

So it is usually important to avoid AX.25 segmentation when running  IP  over
NET/ROM.   The way to do this is to make sure that packets larger than ppppaaaacccclllleeeennnn
are never handed to AX.25.  A NET/ROM transport header is 5 bytes long and  a
NET/ROM  network header takes 15 bytes, so 20 bytes must be added to the size
of an IP datagram when figuring the size of the AX.25 I-frame data field.  If
ppppaaaacccclllleeeennnn is 256, this leaves 236 bytes for the IP datagram. This is the default
MTU of the nnnneeeettttrrrroooommmm pseudo-interface, so as long as  ppppaaaacccclllleeeennnn  is  at  least  256
bytes,  AX.25  segmentation can't happen. But if smaller values of ppppaaaacccclllleeeennnn are
used, the nnnneeeettttrrrroooommmm MTU must also be reduced with the iiiiffffccccoooonnnnffffiiiigggg command.

On the other hand, if you're running IP directly on top of AX.25, chances are
all  of  the  nodes  are running NNNNoooossss and support AX.25 segmentation.  In this
case there is no reason not to use a larger MTU and let AX.25 segmentation do
its  thing.  If  you  choose  an MTU on the order of 1000-1500 bytes, you can
largely avoid IP-level fragmentation and reduce TCP/IP-level header  overhead
on  file transfers to a very low level.  And you are still free to pick what-
ever ppppaaaacccclllleeeennnn value is appropriate for the link.

_8._4._5.  _S_e_t_t_i_n_g _M_S_S


The setting of this TCP-level parameter is somewhat less critical than the IP
and  AX.25 level parameters already discussed, mainly because it is automati-
cally lowered according to the MTU of the local interface when  a  connection
is  created.  Although this is, strictly speaking, a protocol layering viola-
tion (TCP is not supposed to have any knowledge  of  the  workings  of  lower
layers)  this  technique  does  work  well  in  practice.  However, it can be
fooled; for example, if a routing change occurs after the connection has been
opened  and  the new local interface has a smaller MTU than the previous one,
IP fragmentation may occur in the local system.

The only drawback to setting a large MSS is that  it  might  cause  avoidable
fragmentation  at  some  other point within the network path if it includes a
"bottleneck" subnet with an MTU smaller than that  of  the  local  interface.
(Unfortunately,  there  is  presently  no  way to know when this is the case.
There is ongoing work within the Internet Engineering Task Force  on  a  "MTU
Discovery"  procedure to determine the largest datagram that may be sent over
a given path without fragmentation, but it is not yet complete.)  Also, since
the  MSS  you specify is sent to the remote system, and not all other TCPs do
the MSS-lowering procedure yet, this might cause the remote  system  to  gen-
erate IP fragments unnecessarily.

On the other hand, a too-small MSS can result in a  considerable  performance
loss,  especially  when operating over fast LANs and networks that can handle




                                  - 70 -
larger packets. So the best value for MSS is probably 40 less than the  larg-
est  MTU  on your system, with the 40-byte margin allowing for the TCP and IP
headers. For example, if you have a SLIP interface with a 1006 byte  MTU  and
an  Ethernet  interface  with  a  1500  byte MTU, set MSS to 1460 bytes. This
allows you to receive maximum-sized Ethernet packets, assuming  the  path  to
your system does not have any bottleneck subnets with smaller MTUs.

_8._4._6.  _S_e_t_t_i_n_g _W_i_n_d_o_w

A sliding window protocol like TCP cannot transfer  more  than  one  window's
worth  of data per round trip time interval. So this TCP-level parameter con-
trols the ability of the remote TCP to keep a long "pipe" full. That is, when
operating  over  a path with many hops, offering a large TCP window will help
keep all those hops busy when you're  receiving  data.  On  the  other  hand,
offering  too  large a window can congest the network if it cannot buffer all
that data. Fortunately, new algorithms for dynamic controlling the  effective
TCP  flow  control window have been developed over the past few years and are
now widely deployed.  NNNNoooossss includes them, and you can  watch  them  in  action
with  the  ttttccccpppp  ssssttttaaaattttuuuussss  <<<<ttttccccbbbb>>>> or ssssoooocccckkkkeeeetttt <<<<ssssoooocccckkkknnnnoooo>>>> commands.  Look at the ccccwwwwiiiinnnndddd
(congestion window) value.

In most cases it is safe to set the TCP window to a small integer multiple of
the  MSS,  (eg.  4times),  or  larger  if  necessary  to fully utilize a high
bandwidth*delay product path. One thing to keep in  mind,  however,  is  that
advertising a certain TCP window value declares that the system has that much
buffer space available for incoming data.  NNNNoooossss does not actually  preallocate
this space; it keeps it in a common pool and may well "overbook" it, exploit-
ing the fact that many TCP connections are idle for long periods and gambling
that  most  applications will read incoming data from an active connection as
soon as it arrives, thereby quickly freeing the buffer memory.   However,  it
is possible to run NNNNoooossss out of memory if excessive TCP window sizes are adver-
tised and either the applications go to  sleep  indefinitely  (eg.  suspended
Telnet  sessions)  or  a  lot of out-of-sequence data arrives.  It is wise to
keep an eye on the amount of available memory and to decrease the TCP  window
size (or limit the number of simultaneous connections) if it gets too low.

Depending on the channel access method and link level protocol, the use of  a
window  setting  that exceeds the MSS may cause an increase in channel colli-
sions. In particular, collisions between  data  packets  and  returning  ack-
nowledgements  during  a  bulk file transfer may become common. Although this
is, strictly speaking, not TCP's fault, it is possible  to  work  around  the
problem  at  the  TCP  level  by  decreasing  the window so that the protocol
operates in stop-and-wait mode.  This is done  by  making  the  window  value
equal to the MSS.

_8._5.  _S_u_m_m_a_r_y

In most cases, the default values provided by NNNNoooossss for each of  these  parame-
ters  will  work  correctly  and give reasonable performance. Only in special
circumstances such as operation over a very poor link or experimentation with
high speed modems should it be necessary to change them.