home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3 / hamradioversion3.0examsandprograms1992.iso / tcp / nos18b / nosman8b.txt < prev   
Text File  |  1992-01-08  |  152KB  |  3,678 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.         Network Operating System
  11.         User Reference Manual
  12.  
  13.  
  14.           Phil Karn, KA9Q
  15.             and
  16.         Gerard van der Grinten, PA0GRI
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.       This manual reflects version 911229 of NOS 1.8b
  48.       as released to the public by PA0GRI
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. 1.  The NOS.EXE Program
  66.  
  67. The MS-DOS executable file NOS.EXE (Further called Nos) provides Internet
  68. (TCP/IP), NET/ROM and AX.25 facilities. Because it has an internal multi-
  69. tasking operating system, Nos can act simultaneously as a client, a server
  70. and a packet switch for all three sets of protocols. That is, while a local
  71. user accesses remote services, the system can also provide those same ser-
  72. vices to remote users while also switching IP, NET/ROM and AX.25 packets and
  73. frames between other client and server nodes.
  74.  
  75. The keyboard and display is used by the local operator to control both host
  76. and gateway level functions, for which a number of commands are provided.
  77.  
  78. 1.1. Startup
  79.  
  80. nos [-b] [-s <#sockets>] [-d </directory>] [-v] [<startup file>]
  81.  
  82. When Nos is executed without arguments, it attempts to open the file
  83. autoexec.nos in the root directory of the current drive. If it exists, it is
  84. read and executed as though its contents were typed on the console as com-
  85. mands. This feature is useful for attaching communication interfaces, confi-
  86. guring network addresses, and starting the various services.
  87.  
  88. Four command-line options are accepted:
  89.  
  90. 1.1.1. -b
  91.  
  92. The -b option specifies the use of BIOS for console output; the default is to
  93. write directly to the video display buffer. Use this option if you are run-
  94. ning under a windowing package and have trouble with output "bleeding
  95. through" on top of other windows.
  96.  
  97. 1.1.2. -s <noofsockets>
  98.  
  99. The -s option specifies the size of the socket array to be allocated within
  100. Nos. This limits the number of network connections that may exist simultane-
  101. ously; the default is 40.
  102.  
  103. 1.1.3. -d </directory>
  104.  
  105. The -d option allows the user to specify a "root" directory for the confi-
  106. guration and spool files; it defaults to the root directory of the system.
  107.  
  108. 1.1.4. -v
  109.  
  110. The -v option allows the user to view command execution during the startup of
  111. Nos. It lets the commands read from autoexec.nos echo before they are exe-
  112. cuted. This is a nice help if Nos stops (hangs) during initialization.
  113.  
  114. After all command line options, the name of a alternate startup file may be
  115. specified. This file is then opened and read instead of autoexec.nos.
  116.  
  117. 1.2. DOS environement variables.
  118.  
  119. The following DOS environement variables can be used to specify things to
  120. NOS.
  121.  
  122. 1.2.1. TZ
  123.  
  124. The TZ variable should be set to the local timezone. Default is UTC. This is
  125. used on the timestamp in smtp.
  126.  
  127. 1.2.2. MAILER
  128.  
  129. The MAILER specifies what program should be started when the mail command is
  130. entered. Default is BM.EXE.
  131.  
  132. 1.2.3. COMSPEC
  133.  
  134. The COMSPEC specifies what command shell will be used to shell out of Nos.
  135. This is normaly set by MS-DOS startup to COMMAND.COM. Default is also
  136. COMMAND.COM.
  137.  
  138. 1.2.4. TMP
  139.  
  140. The TMP variable is used to create a spot where temporary files are created.
  141. Without TMP being set the temp files are created in the root directory. A
  142. sample is "set TMP=C:\tmp\".
  143.  
  144. 1.2.5. USER
  145.  
  146. The USER variable is used by ftp and Rlogin to set the username for the rlo-
  147. gin daemon on the remote system. The default when not setting USER is guest.
  148. Guess you don't like it, but that's life. With ftp the user is suggested in
  149. the user name prompt. If a cr only is given the suggested name is used, oth-
  150. erwise the given name.
  151.  
  152. 2. Console modes
  153.  
  154. The console may be in one of two modes: command mode and converse mode.  In
  155. command mode, the prompt net> is displayed and any of the commands described
  156. in the Commands chapter may be entered. In converse mode, keyboard input is
  157. processed according to the current session.
  158.  
  159. Sessions come in many types: Telnet, Ttylink, Rlogin, FTP, AX25, Finger, Com-
  160. mand, NETROM, Ping, More, Dial, Dir, PPP PAP, Hopcheck and Tip.
  161.  
  162. In a Telnet, Ttylink, AX25, NETROM, Rlogin, or Tip session, keyboard input is
  163. sent to the remote system and any output from the remote system is displayed
  164. on the console. In an FTP session, keyboard input is first examined to see
  165. if it is a known local command; if so it is executed locally. If not, it is
  166. "passed through" to the remote FTP server.  (See the FTP Subcommands
  167. chapter).  In a Ping session the user may test the path to a remote site, in
  168. a More session, the user may examine a local file. A Hopcheck session is used
  169. to trace the path taken by packets to reach a specified destination. A Finger
  170. session is used to peek at a remote system for its users (and what they are
  171. doing on some extended responses from UNIX systems). PPP PAP is used as a
  172. link setup like slip between two systems.
  173.  
  174. The keyboard also has cooked and raw states.  In cooked state, input is
  175. line-at-a-time; the user may use the line editing characters ^U, ^R, ^B, ^W
  176. and backspace to erase the line, redisplay the line, redisplay the remainder
  177. of the previous line, erase last word and erase the last character,
  178. respectively. Hitting either return or line feed passes the complete line up
  179. to the application. In raw mode, each character is immediately passed to the
  180. application as it is typed. The keyboard is always in cooked state in com-
  181. mand mode.  It is also cooked in converse mode on an AX25, FTP or NET/ROM
  182. session. In a Telnet or Ttylink session it depends on whether the remote end
  183. has issued (and the local end has accepted) the Telnet WILL ECHO option.
  184. (See the echo command).
  185.  
  186. On the IBM-PC, the user may escape back to command mode by hitting the F10
  187. key or the escape key.  On other systems, the user must enter the escape
  188. character, which is by default control-] (hex 1d, ASCII GS). (Note that this
  189. is distinct from the ASCII character of the same name). The escape character
  190. can be changed (see the escape command). The F10 key can be redefined with
  191. the fkey command so the user is now warned to leave one escape possibility
  192. open for himself. Setting both F10 and escape to unreachable codes renders a
  193. system unescapable and the user hung in a session.
  194.  
  195. In the IBM PC version, each session (including the command "session") has its
  196. own screen.  When a new session is created, the command display is saved in
  197. memory and the screen is cleared. When the command escape key (usually F10
  198. or ^]) is hit, the current session screen is saved and the command screen is
  199. restored. When a session is resumed, its screen is restored exactly as it
  200. appeared when it was last current.
  201.  
  202. 3. Commands
  203.  
  204. This section describes the commands recognized in command mode, or within a
  205. startup file such as autoexec.nos. These are given in the following nota-
  206. tion:
  207.  
  208.  command
  209.  command literalparameter
  210.  command subcommand <parameter>
  211.  command [<optionalparameter>]
  212.  command a | b
  213.  
  214.  
  215. Many commands take subcommands or parameters, which may be optional or
  216. required. In general, if a required subcommand or parameter is omitted, an
  217. error message will summarize the available subcommands or required parame-
  218. ters.  (Giving a '?' in place of the subcommand will also generate the mes-
  219. sage. This is useful when the command word alone is a valid command.) If a
  220. command takes an optional value parameter, issuing the command without the
  221. parameter generally displays the current value of the variable. (Exceptions
  222. to this rule are noted in the individual command descriptions.)
  223.  
  224. Two or more parameters separated by vertical bar(s) denote a choice between
  225. the specified values. Optional parameters are shown enclosed in [brackets],
  226. and a parameter enclosed in <angle brackets> should be replaced with an
  227. actual value or string. For example, the notation <hostid> denotes an actual
  228. host or gateway, which may be specified in one of two ways: as a numeric IP
  229. address in dotted decimal notation (eg. 44.0.0.1.), or as a symbolic name
  230. listed in the file domain.txt,
  231.  
  232. All commands and many subcommands may be abbreviated. You only need type
  233. enough of a command's name to distinguish it from others that begin with the
  234. same series of letters. Parameters, however, must be typed in full.
  235.  
  236. Certain FTP subcommands (eg. put, get, dir, etc) are recognized only in con-
  237. verse mode with the appropriate FTP session; they are not recognized in com-
  238. mand mode. (See the FTP Subcommands chapter.)
  239.  
  240. 3.1. <CR>
  241.  
  242. Entering a carriage return (empty line) while in command mode puts you in
  243. converse mode with the current session. If there is no current session, Nos
  244. remains in command mode and reissues the net> prompt.
  245.  
  246. 3.2. !
  247.  
  248. An alias for the shell command.
  249.  
  250. 3.3. #
  251.  
  252. Commands starting with the hash mark (#) are ignored. This is mainly useful
  253. for comments in the autoexec.nos file.
  254.  
  255. 3.4. abort [<session #>]
  256.  
  257. Abort a FTP get, put or dir operation in progress. If issued without an argu-
  258. ment, the current session is aborted. (This command works only on FTP ses-
  259. sions.) When receiving a file, abort simply resets the data connection; the
  260. next incoming data packet will generate a TCP RST (reset) response to clear
  261. the remote server. When sending a file, abort sends a premature end-of-file.
  262. Note that in both cases abort will leave a partial copy of the file on the
  263. destination machine, which must be removed manually if it is unwanted.
  264.  
  265. 3.5. arp
  266.  
  267. Display the Address Resolution Protocol table that maps IP addresses to their
  268. subnet (link) addresses on subnetworks capable of broadcasting. For each IP
  269. address entry the subnet type (eg. Ethernet, AX.25), subnet address and time
  270. to expiration is shown. If the link address is currently unknown, the number
  271. of IP datagrams awaiting resolution is also shown.
  272.  
  273. 3.5.1. arp add <hostid> ether | ax25 | netrom | arcnet <etheraddr> |
  274. <ax25addr>
  275.  
  276. Add a permanent entry to the table. It will not time out as will an
  277. automatically-created entry, but must be removed with the arp drop command.
  278.  
  279. 3.5.2. arp drop <hostid> ether | ax25 | netrom | arcnet
  280.  
  281. Delete a permanent entry from the arp table.
  282.  
  283. 3.5.3. arp flush
  284.  
  285. Drop all automatically-created entries in the ARP table; permanent entries
  286. are not affected.
  287.  
  288. 3.5.4. arp publish <hostid> ether | ax25 | netrom | arcnet <etheraddr> |
  289. <ax25addr>
  290.  
  291. This command is similar to the arp add command, but the system will also
  292. respond to any ARP request it sees on the network that seeks the specified
  293. address. (Use this feature with great care.)
  294.  
  295. 3.6. asystat
  296.  
  297. Display statistics on attached asynchronous communications interfaces (8250
  298. or 16550A), if any. The display for each port consists of three lines. The
  299. first line gives the port label and the configuration flags; these indicate
  300. whether the port is a 16550A chip, the trigger character if any, whether CTS
  301. flow control is enabled, whether RLSD (carrier detect) line control is
  302. enabled, and the speed in bits per second. (Receiving the trigger character
  303. causes the driver to signal upper layer software that data is ready; it is
  304. automatically set to the appropriate frame end character for SLIP, PPP and
  305. NRS lines.)
  306.  
  307. The second line of the status display shows receiver (RX) event counts: the
  308. total number of receive interrupts, received characters, receiver overruns
  309. (lost characters) and the receiver high water mark. The high water mark is
  310. the maximum number of characters ever read from the device during a single
  311. interrupt. This is useful for monitoring system interrupt latency margins as
  312. it shows how close the port hardware has come to overflowing due to the ina-
  313. bility of the CPU to respond to a receiver interrupt in time. 8250 chips have
  314. no FIFO, so the high water mark cannot go higher than 2 before overruns
  315. occur. The 16550A chip, however, has a 16-byte receive FIFO which the
  316. software programs to interrupt the CPU when the FIFO is one-quarter full.
  317. The high water mark should typically be 4 or 5 when a 16550A is used; higher
  318. values indicate that the CPU has at least once been slow to respond to a
  319. receiver interrupt.
  320.  
  321. When the 16550A is used, a count of FIFO timeouts is also displayed on the RX
  322. status line. These are generated automatically by the 16550A when three char-
  323. acter intervals go by with more than 0 but less than 4 characters in the
  324. FIFO. Since the characters that make up a SLIP or NRS frame are normally sent
  325. at full line speed, this count will usually be a lower bound on the number of
  326. frames received on the port, as only the last fragment of a frame generally
  327. results in a timeout (and then only when the frame is not a multiple of 4
  328. bytes long.)
  329.  
  330. Finally, the software fifo overruns and high water mark are displayed. These
  331. indicate whether the <bufsize> parameter on the attach command needs to be
  332. adjusted (see the Attach Commands chapter).
  333.  
  334. The third line shows transmit (TX) statistics, including a total count of
  335. transmit interrupts, transmitted characters, the length of the transmit queue
  336. in bytes, the number of status interrupts, and the number of THRE timeouts.
  337. The status interrupt count will be zero unless CTS flow control or RLSD line
  338. control has been enabled. The THRE timeout is a stopgap measure to catch
  339. lost transmit interrupts, which seem to happen when there is a lot of
  340. activity (ideally, this will be zero).
  341.  
  342. 3.7. attach <hw type> ...
  343.  
  344. Configure and attach a hardware interface to the system. The details are
  345. highly interface dependent and dependent on configuration flags in the file
  346. config.h when the software is build. It can be that not all drivers listed
  347. below will be included in your copy of Nos. Detailed instructions for each
  348. driver are in the Attach Commands chapter. Drivers are available for the
  349. following hardware types:
  350.  
  351. 3.7.1. attach 3c500
  352.  
  353. Don't use this one anymore. Use the packet driver instead. This driver is
  354. obsolete and not supported anymore.
  355.  
  356. 3.7.2. attach asy
  357.  
  358. Standard PC asynchronous interface (com port) using the National 8250 or
  359. 16450 or 16550A chip or compatible equivalent.
  360.  
  361. 3.7.3. attach axip
  362.  
  363. A "wormhole" ax25 digipeater device.
  364.  
  365. 3.7.4. attach arcnet
  366.  
  367. A ARCnet driver via the PACKET driver.
  368.  
  369. 3.7.5. attach drsi
  370.  
  371. N6TTO driver for the DRSI PCPA 8530 card.
  372.  
  373. 3.7.6. attach eagle
  374.  
  375. WA3CVG/NG6Q driver for the Eagle Computer card (Zilog 8530).
  376.  
  377. 3.7.7. attach hapn
  378.  
  379. KE3Z driver for the Hamilton Amateur Packet Network adapter board (Intel
  380. 8273).
  381.  
  382. 3.7.8. attach hs
  383.  
  384. Special "high speed" 8530 driver for the WA4DSY 56kb/s modem.
  385.  
  386. 3.7.9. attach kiss
  387.  
  388. This enables a multiplexed tnc type to be used for second channel. It is used
  389. to connect a second port to an already attached asy interface. It will copy
  390. most of the params of it's parent port.
  391.  
  392. 3.7.10. attach netrom
  393.  
  394. This is a psuedo interface to enable NET/ROM operations.
  395.  
  396. 3.7.11. attach packet
  397.  
  398. Driver for use with separate software "packet drivers" meeting the FTP
  399. Software, Inc, Software Packet Driver specification.
  400.  
  401. 3.7.12. attach pc100
  402.  
  403. Driver for the PACCOMM PC-100 (Zilog 8530) card.
  404.  
  405. 3.7.13. attach pi
  406.  
  407. Dma driven 8530 scc board from VE3IFB.
  408.  
  409. 3.7.14. attach scc
  410.  
  411. PE1CHL driver for generic 8530 cards.
  412.  
  413. 3.7.15. attach slfp
  414.  
  415. Serial Line Faming Protocol packet driver.
  416.  
  417. An easy way to obtain a summary of the parameters required for a given device
  418. is to issue a partial attach command (eg. attach packet.) This produces a
  419. usage message giving the complete command format.
  420.  
  421. 3.8. attended [off | on]
  422.  
  423. Displays or sets the global "I am present" flag in Nos. This flag is used in
  424. the welcome header by incoming ttylink connections.
  425.  
  426. 3.9. ax25 <subcommand>
  427.  
  428. These commands are for Ax25 interfaces.
  429.  
  430. 3.9.1. ax25 bc <interface>
  431.  
  432. The bc command enables broadcasts via interface interface.
  433.  
  434. 3.9.2. ax25 bcinterval [<seconds>]
  435.  
  436. The bcinterval displays or sets the time in seconds between bc broadcasts.
  437. On display both the interval and the countdown values are shown.
  438.  
  439. 3.9.3. ax25 blimit [<limit>]
  440.  
  441. Display or set the AX25 retransmission backoff limit. Normally each succes-
  442. sive AX25 retransmission is delayed by twice the value of the previous inter-
  443. val; this is called binary exponential backoff. When the backoff reaches the
  444. blimit setting it is held at that value, which defaults to 30. To prevent
  445. the possibility of "congestive collapse" on a loaded channel, blimit should
  446. be set at least as high as the number of stations sharing the channel. Note
  447. that this is applicable only on actual AX25 connections; UI frames will never
  448. be retransmitted by the AX25 layer.
  449.  
  450. 3.9.4. ax25 bctext ["broadcast text"]
  451.  
  452. The bctext command displays or sets the text to be send for broadcast mes-
  453. sages send out every bcinterval seconds.
  454.  
  455. 3.9.5. ax25 digipeat [on | off]
  456.  
  457. Display or set the digipeater enable flag. If the axip interface is used this
  458. flag MUST be on , otherwise the digipeat function will not work at all.
  459.  
  460. 3.9.6. ax25 filter <0 | 1 | 2 | 3>
  461.  
  462. The filter commands enables or disables the logging in the heard lists of
  463. source and destination ax25addresses. This is a bitwise or function where
  464. the 01 value is for source stations and the 02 value for destination sta-
  465. tions. When the bit is off , logging is enabled, when on disabeled.
  466.  
  467. 3.9.7. ax25 flush
  468.  
  469. Clear the AX.25 "heard" list (see ax25 heard).
  470.  
  471. 3.9.8. ax25 heard [<interface>]
  472.  
  473. Display the AX.25 "heard" list. For each interface that is configured to use
  474. AX.25, a list of all ax25addresses heard through that interface is shown,
  475. along with a count of the number of packets heard from each station and the
  476. interval, in hr:min:sec format, since each station was last heard. The local
  477. station always appears first in the listing; the packet count actually
  478. reflects the number of packets transmitted. This entry is always present even
  479. if no packets have been sent. If interface is given, only the heard list for
  480. that interface is displayed.  Note that logging of heard stations is con-
  481. trolled with the ax25 filter command.
  482.  
  483. 3.9.9. ax25 hearddest [<interface>]
  484.  
  485. Displays the destination list, i.e. the addressed to stations. Next to the
  486. time the last transmission to that station the time that station replied (if
  487. heard) is displayed. This gives a good reference to see if a station is
  488. reachable and responding.
  489.  
  490. 3.9.10. ax25 irtt [<milliseconds>]
  491.  
  492. Display or set the initial value of smoothed round trip time to be used when
  493. a new AX25 connection is created. The value is in milliseconds. The actual
  494. round trip time will be learned by measurement once the connection has been
  495. established.
  496.  
  497. 3.9.11. ax25 kick <axcb>
  498.  
  499. Force a retransmission on the specified AX.25 control block.  The control
  500. block address can be found with the ax25 status command.
  501.  
  502. 3.9.12. ax25 maxframe [<count>]
  503.  
  504. Establish the maximum number of frames that will be allowed to remain unack-
  505. nowledged at one time on new AX.25 connections. This number cannot be greater
  506. than 7. Without count it will display the current setting. Note that the
  507. maximum outstaning frame count only works with virtual connections. UI frames
  508. are not affected.
  509.  
  510. 3.9.13. ax25 mycall [<ax25addr>]
  511.  
  512. Display or set the default local AX.25 address. The standard format is used,
  513. (eg. KA9Q-0 or WB6RQN-5). This command must be given before any attach com-
  514. mands using AX.25 mode are given.
  515.  
  516. 3.9.14. ax25 paclen [<size>]
  517.  
  518. Limit the size of I-fields on new AX.25 connections.  If IP datagrams or
  519. fragments larger than this are transmitted, they will be transparently frag-
  520. mented at the AX.25 level, sent as a series of I frames, and reassembled back
  521. into a complete IP datagram or fragment at the other end of the link. To have
  522. any effect on IP datagrams, this parameter should be less than or equal to
  523. the MTU of the associated interface.
  524.  
  525. 3.9.15. ax25 pthresh [<size>]
  526.  
  527. Display or set the poll threshold to be used for new AX.25 Version 2 connec-
  528. tions.  The poll threshold controls retransmission behavior as follows. If
  529. the oldest unacknowledged I-frame size is less than the poll threshold, it
  530. will be sent with the poll (P) bit set if a timeout occurs. If the oldest
  531. unacked I-frame size is equal to or greater than the threshold, then a RR or
  532. RNR frame, as appropriate, with the poll bit set will be sent if a timeout
  533. occurs.
  534.  
  535. The idea behind the poll threshold is that the extra time needed to send a
  536. "small" I-frame instead of a supervisory frame when polling after a timeout
  537. is small, and since there's a good chance the I-frame will have to be sent
  538. anyway (i.e., if it were lost previously) then you might as well send it as
  539. the poll. But if the I-frame is large, send a supervisory (RR/RNR) poll
  540. instead to determine first if retransmitting the oldest unacknowledged I-
  541. frame is necessary; the timeout might have been caused by a lost acknowledge-
  542. ment.  This is obviously a tradeoff, so experiment with the poll threshold
  543. setting. The default is 128 bytes, one half the default value of paclen.
  544.  
  545. 3.9.16. ax25 reset <axcb>
  546.  
  547. Delete the AX.25 connection control block at the specified address.
  548.  
  549. 3.9.17. ax25 retry [<count>]
  550.  
  551. Limit the number of successive unsuccessful retransmission attempts on new
  552. AX.25 connections. If this limit is exceeded, link re-establishment is
  553. attempted. If this fails retry times, then the connection is abandoned and
  554. all queued data is deleted.
  555.  
  556. 3.9.18. ax25 route
  557.  
  558. Display the AX.25 routing table that specifies the digipeaters to be used in
  559. reaching a given station.
  560.  
  561. 3.9.18.1. ax25 route add <target> [digis ... ]
  562.  
  563. Add an entry to the AX.25 routing table. An automatic ax25 route add is exe-
  564. cuted if digipeaters are specified in an AX25 connect command, or if a con-
  565. nection is received from a remote station via digipeaters. Such automatic
  566. routing table entries won't override locally created entries, however.
  567.  
  568. 3.9.18.2. ax25 route drop <target>
  569.  
  570. Drop an entry for target from the AX.25 routing table.
  571.  
  572. 3.9.18.3. ax25 route mode <target> [vc | datagram | interface]
  573.  
  574. Sets the mode to vc | datagram | interface for target. Interface is the
  575. default for that interface. Vc is a virtual circuit (ax25 connected mode) and
  576. datagram is unconnected mode, (AX25 UI frames).
  577.  
  578. 3.9.19. ax25 status [<axcb>]
  579.  
  580. Without an argument, display a one-line summary of each AX.25 control block.
  581. If the address of a particular control block is specified, the contents of
  582. that control block are dumped in more detail. Note that the send queue units
  583. are frames, while the receive queue units are bytes.
  584.  
  585. 3.9.20. ax25 t3 [<milliseconds>]
  586.  
  587. Display or set the AX.25 idle "keep alive" timer. Value is in milliseconds.
  588.  
  589. 3.9.21. ax25 t4 [<seconds>]
  590.  
  591. Display or set the AX.25 Link "redundancy" timer. Value is in seconds.  When
  592. no exchange has been had during this time the link is reset and closed.
  593.  
  594. 3.9.22. ax25 timertype [l | e | o]
  595.  
  596. Sets or displays the type of timer used for retransmission and recovery:
  597. linear, exponential or original.
  598.  
  599. 3.9.23. ax25 version [1 | 2]
  600.  
  601. Display or set the version of the AX.25 protocol to attempt to use on new
  602. connections. The default is 1 (the version that does not use the poll/final
  603. bits).
  604.  
  605. 3.9.24. ax25 window [<size>]
  606.  
  607. Set the number of bytes that can be pending on an AX.25 receive queue beyond
  608. which I frames will be answered with RNR (Receiver Not Ready) responses.
  609. This presently applies only to suspended interactive AX.25 sessions, since
  610. incoming I-frames containing network (IP, NET/ROM) packets are always pro-
  611. cessed immediately and are not placed on the receive queue. However, when an
  612. AX.25 connection carries both interactive and network packet traffic, an RNR
  613. generated because of backlogged interactive traffic will also stop network
  614. packet traffic from being sent.
  615.  
  616. 3.10. bbs
  617.  
  618. Enter the local bbs port (same as a telnet session to your own station).
  619.  Current commands are:
  620.  help  ? <command>
  621.  area  a [<area>]
  622.  bye  b
  623.  chat  c
  624.  download d <filename>
  625.  escape e [<escape char.]
  626.  finger f [<user>]
  627.  gateway  d <interface> <ax25addr> [[<ax25addr>] . ]
  628.  help  h [<command>]
  629.  info  i
  630.  heard j
  631.  kill  k <msg number>
  632.  list  l [<msg number>]
  633.  netrom n Users | Nodes | Connect
  634.  read  r [<msg number>]
  635.  send  s[f] <usename[@hostid] [<fromaddr>] [$bulid]
  636.  send repl sr [<mgs number>]
  637.  telnet t <hostid>
  638.  upload u <filename>
  639.  verbose  v <n>
  640.  what  w [<directory>]
  641.  zap  z <filename>
  642.  sysop @
  643.  
  644. 3.11. bootp <subcommand>
  645.  
  646. This is a bootp server / client, included into Nos. It is picked up from the
  647. University of Michigan in Ann Arbor. It is included into the sources of Nos
  648. but is not used nor tested by me. (PA0GRI) Its usability is fague but the
  649. discussions on tcp-group drove me to include this for possible use of reus-
  650. able addresses.
  651.  
  652. 3.11.1. bootp start
  653.  
  654. Starts the bootp server.
  655.  
  656. 3.11.2. bootp stop
  657.  
  658. Stops the bootp server.
  659.  
  660. 3.11.3. bootp dns [<ipaddr>]
  661.  
  662. Display or set the list of domain name servers for bootp.
  663.  
  664. 3.11.4. bootp dyip [<iface> | <iface> <ipaddr1> <ipaddr2> | <iface> off]
  665.  
  666. Display or set the interface address range. The range is between ipaddr1 and
  667. ipaddr2, both in dot notation.
  668.  
  669. 3.11.5. bootp host [<hostaddr> <hardware type> <hardware addr> <ip addr>
  670. [boot file]]
  671.  
  672. Display or activate a bootp process. Hardware type is netrom, ether, macap-
  673. pletalk or ax25. Hardware addr is the interface name. Ip addr must be in dot
  674. notation.
  675.  
  676. 3.11.6. bootp rmhost <ipaddr>
  677.  
  678. Delete ipaddr from the host table.
  679.  
  680. 3.11.7. bootp homedir [<directory> | default]
  681.  
  682. Display or set the directory where the bootp files reside. The default direc-
  683. tory is bpfiles.
  684.  
  685. 3.11.8. bootp defaultfile [<bootfile> | default]
  686.  
  687. Display or set the file name of the bootp file. The default is boot.
  688.  
  689. 3.11.9. bootp logfile [<filename> | default] [on | off]
  690.  
  691. Starts or stops the logging of bootp requests to filename or the default file
  692. name bootplog.
  693.  
  694. 3.11.10. bootp logscreen [on | off]
  695.  
  696. Enables or disables the logging of bootp to the screen.
  697.  
  698. 3.12. bootpd
  699.  
  700. This starts the server daemon for bootp.
  701.  
  702. 3.13. cd [<dirname>]
  703.  
  704. Change the current working directory, and display the new setting.  Without
  705. an argument, cd simply displays the current directory without change. The
  706. pwd command is an alias for cd.
  707.  
  708. 3.14. close [<session>]
  709.  
  710. Close the specified session; without an argument, close the current session.
  711. On an AX.25 session, this command initiates a disconnect. On a FTP or Telnet
  712. session, this command sends a FIN (i.e., initiates a close) on the session's
  713. TCP connection.  This is an alternative to asking the remote server to ini-
  714. tiate a close (QUIT to FTP, or the logout command appropriate for the remote
  715. system in the case of Telnet). When either FTP or Telnet sees the incoming
  716. half of a TCP connection close, it automatically responds by closing the out-
  717. going half of the connection. Close is more graceful than the reset command,
  718. in that it is less likely to leave the remote TCP in a "half-open" state.
  719.  
  720. 3.15. comm <interface> <text-string>
  721.  
  722. The comm command sends text-string via interface. This can be used to send
  723. straight text to an tnc still in TAPR command mode during Nos startup. Note
  724. that to preserve spaces tabs etc. to include the string between double quote
  725. characters. Aka: comm ax1 "start kiss"
  726.  
  727. 3.16. connect <iface> <ax25addr> [<digipeater> ... ]
  728.  
  729. Initiate a "vanilla" AX.25 session to the specified ax25addr using the
  730. specified interface. Data sent on this session goes out in conventional AX.25
  731. packets with no upper layer protocol.  The de-facto presentation standard
  732. format is used, in that each packet holds one line of text, terminated by a
  733. carriage return. A single AX.25 connection may be used for terminal-to-
  734. terminal, IP and NET/ROM traffic. The three types of data being automati-
  735. cally separated by their AX.25 Level 3 Protocol IDs.
  736.  
  737. Up to 7 optional digipeaters may be given; note that the word via is NOT
  738. needed. If digipeaters are specified, they are automatically added to the
  739. AX25 routing table as though the ax25 route add command had been given before
  740. issuing the connect command.
  741.  
  742. 3.17. delete <filename>
  743.  
  744. The filename is removed from the file system.
  745.  
  746. 3.18. detach <iface>
  747.  
  748. Detach a previously attached interface from the system. All IP routing table
  749. entries referring to this interface are deleted, and forwarding references by
  750. any other interface to this interface are removed.
  751.  
  752. 3.19. dialer <iface> [<file> [<seconds> [<pings> [<hostid>]
  753.  
  754. Setup an autodialer session for the interface.  Whenever the interface is
  755. idle for the interval in <seconds>, the autodialer will ping the <hostid>.
  756. If there is no answer after <pings> attempts, the autodialer will execute the
  757. special commands contained in the <dialer-file>.
  758.  
  759. If the interval in <seconds> is zero, a previous dialer command process will
  760. be removed. If the number of <pings> is zero, the <dialer-file> will be exe-
  761. cuted without pinging the <hostid>.
  762.  
  763. The file may have any valid name, and must be located in the configuration
  764. root directory (see the Installion section). The commands in the file are
  765. described in the Dialer Subcommands chapter.
  766.  Commands in file are:
  767.  
  768. 3.19.1. control <up | down>
  769.  
  770.  
  771. 3.19.2. send <string> [<milliseconds>]
  772.  
  773. Sends string to the interface. If milliseconds is given, inter character tim-
  774. ing is milliseconds milliseconds.
  775.  
  776. 3.19.3. speed <bps>
  777.  
  778. Displays or sets the current interface speed to bps baud.
  779.  
  780. 3.19.4. status <up | down>
  781.  
  782. 3.19.5. wait <milliseconds> [<string> [speed]]
  783.  
  784. Wait the amount of milliseconds. If string is given, incoming characters from
  785. the interface are compared with string. If an compare is found and speed is
  786. the string speed, the next numbers read from the interface is the new bau-
  787. drate used. This works like HAYES response CONNECT 9600. The wait command
  788. could habe been "wait 10 CONNECT speed". This waits 10 seconds for the
  789. CONNECT response from the modem.
  790.  
  791. 3.20. dir [<dirname>]
  792.  
  793. List the contents of the specified directory on the console. If no argument
  794. is given, the current directory is listed. Note that this command works by
  795. first listing the directory into a temporary file, and then creating a more
  796. session to display it. After this completes, the temporary file is deleted.
  797.  
  798. 3.21. disconnect [<session>]
  799.  
  800. An alias for the close command (for the benefit of AX.25 users).
  801.  
  802. 3.22. domain <subcommand>
  803.  
  804. The domain commands control and show the working of the name to internet
  805. address mapping software. NOS currently only has a client with a simple file
  806. reading local server. A real server is needed to service the community for
  807. their growing needs.
  808.  
  809. 3.22.1. domain addserver <hostid>
  810.  
  811. Add a domain name server to the list of name servers. Note that, when this
  812. command is given in the autoexec.nos file the ip address command should given
  813. be before this command is used. (If not, Nos will not kow how to resolve the
  814. address, and an answer will never be recognized, or worse: just plain hangs
  815. the system.)
  816.  
  817. 3.22.2. domain cache <subcommand>
  818.  
  819. Following commands work on the domain cache. These are resource records (see
  820. RFC 1033/1034) held in memory.
  821.  
  822. 3.22.2.1. domain cache clean [<yes | no>]
  823.  
  824. Displays or sets the discard of expired resource records. Expired records
  825. have their timeout value decremented to zero. Normaly resource records get a
  826. default timeout value of 1800 seconds. After this time they are considered
  827. "old" and if referenced again the domain name resolver should be enquired
  828. again. When clean is off (the default), expired records will be retained; if
  829. no replacement can be obtained from another domain name server, these records
  830. will continue to be used.
  831.  
  832. When clean is on, expired records will be removed from the file whenever any
  833. new record is added to the file.
  834.  
  835. 3.22.2.2. domain cache list
  836.  
  837. This command shows the current content of the in memory cache for resource
  838. records.
  839.  
  840. 3.22.2.3. domain cache size [<size>]
  841.  
  842. Display or set the nominal maximum size of the local memory cache.  The
  843. default is 20.
  844.  
  845. (Note: The cache may be temporarily larger when waiting for new records to be
  846. written to the domain.txt file.)
  847.  
  848. 3.22.2.4. domain cache wait [<seconds>]
  849.  
  850. Display or set the interval in seconds to wait for additional activity before
  851. updating the domain.txt file. The default is 300 seconds (5 minutes).
  852.  
  853. 3.22.3. domain dropserver <hostid>
  854.  
  855. Remove a domain name server from the list of name servers.  You are warned
  856. when you delete the last name server.
  857.  
  858. 3.22.4. domain listservers
  859.  
  860. List the currently configured domain name servers, along with statistics on
  861. how many queries and replies have been exchanged with each one, response
  862. times, etc.
  863.  
  864. 3.22.5. domain maxwait [<timeout>]
  865.  
  866. This sets a timeout value (1 to 255 seconds) to a query or domain name
  867. server.  This is not set for a already defined server but will be used for a
  868. newly defined name server. Also the value is used for domain nslookups. Note
  869. that name servers can have (PC based) trouble finding records in an large
  870. database. The default is set to 30 seconds.
  871.  
  872. 3.22.6. domain retry [<retries>]
  873.  
  874. The retry value (number) limits the number of queries send out to remote
  875. domain  name  resolvers  before giving up and telling you that host
  876. xyzzy.ampr.org does not exist. The total time lost with a query is retries *
  877. timeout * number of domain servers defined.
  878.  
  879. 3.22.7. domain suffix [<domain suffix> | none]
  880.  
  881. Display or specify the default domain name suffix to be appended to a host
  882. name when it contains no periods. For example, if the suffix is set to
  883. ampr.org. and the user enters telnet ka9q, the domain resolver will attempt
  884. to find ka9q.ampr.org.. If the host name being sought contains one or more
  885. periods, however, the default suffix is NOT applied if the last part of the
  886. name is less than 5 characters and contains only letters; e.g.,
  887.  telnet foo.bar would NOT be turned into foo.bar.ampr.org..
  888.  telnet foo.ka9q will be turned into foo.ka9q.ampr.org.. Note that a trail-
  889. ing dot (.) is required for the suffix. If the suffix is the string none
  890. (without trailing period) the current suffix is cleared and forgotten.
  891.  
  892. 3.22.8. domain trace [on | off]
  893.  
  894. Display or set the flag controlling the tracing of domain server requests and
  895. responses. Trace messages will be seen only if a domain name being sought is
  896. not found in the local cache file, domain.txt.
  897.  
  898. 3.22.9. domain translate [off | on]
  899.  
  900. Display or set the flag that controls the translation of ip adress in dot
  901. notation into symbolic names. The translation process makes heavely use of
  902. reverse domain name lookups. Do not set this flag unless you have a good and
  903. fast connection to a domain name server or have a fast domain.txt handler and
  904. domain.txt contains all IN-ADDR.ARPA. records you ever wanted.
  905.  
  906. 3.22.10. domain verbose [off | on]
  907.  
  908. Display or set the flag controlling the return of a full name (true) or only
  909. the first name (dot delimiter) (false). This is for IP address to name trans-
  910. lation only.
  911.  
  912. 3.23. drsistat
  913.  
  914. Shows the statistics for all configured drsi boards.
  915.  
  916. 3.24. dump <hex-address | .> [decimal-range]
  917.  
  918. The dump command shows memory in hex and ascii. Hex-address is a 32 bit value
  919. for a PC split into page address and page offset. A splitting colon is not
  920. used nor accepted. If decimal-range is not given , 128 bytes are displayed.
  921. dump . displayes memory starting at the end of a previous dump command.
  922.  
  923. 3.25. echo [accept | refuse]
  924.  
  925. Display or set the flag controlling client Telnet's response to a remote WILL
  926. ECHO offer.
  927.  
  928. The Telnet presentation protocol specifies that in the absence of a nego-
  929. tiated agreement to the contrary, neither end echoes data received from the
  930. other. In this mode, a Telnet client session echoes keyboard input locally
  931. and nothing is actually sent until a carriage return is typed. Local line
  932. editing is also performed: backspace deletes the last character typed, while
  933. control-U deletes the entire line.
  934.  
  935. When communicating from keyboard to keyboard the standard local echo mode is
  936. used, so the setting of this parameter has no effect. However, many timeshar-
  937. ing systems (eg. UNIX) prefer to do their own echoing of typed input.  (This
  938. makes screen editors work right, among other things). Such systems send a
  939. Telnet WILL ECHO offer immediately upon receiving an incoming Telnet connec-
  940. tion request. If echo accept is in effect, a client Telnet session will
  941. automatically return a DO ECHO response. In this mode, local echoing and
  942. editing is turned off and each key stroke is sent immediately (subject to the
  943. Nagle tinygram algorithm in TCP). While this mode is just fine across an
  944. Ethernet, it is clearly inefficient and painful across slow paths like packet
  945. radio channels. Specifying echo refuse causes an incoming WILL ECHO offer to
  946. be answered with a DONT ECHO; the client Telnet session remains in the local
  947. echo mode. Sessions already in the remote echo mode are unaffected. (Note:
  948. Berkeley Unix has a bug in that it will still echo input even after the
  949. client has refused the WILL ECHO offer. To get around this problem, enter the
  950. stty -echo command to the shell once you have logged in.)
  951.  
  952. 3.26. eol [unix | standard]
  953.  
  954. Display or set Telnet's end-of-line behavior when in remote echo mode.  In
  955. standard mode, each key is sent as-is. In unix mode, carriage returns are
  956. translated to line feeds. This command is not necessary with all UNIX sys-
  957. tems; use it only when you find that a particular system responds to line
  958. feeds but not carriage returns. Only SunOS release 3.2 seems to exhibit this
  959. behavior; later releases are fixed.
  960.  
  961. 3.27. escape [<char>]
  962.  
  963. Display or set the current command-mode escape character in hex. On the PC,
  964. the escape character is default ^]. The alternate escape key is F10 unless
  965. F10 is redefined with fkey.
  966.  
  967. 3.28. etherstat
  968.  
  969. Display 3-Com Ethernet controller statistics (if configured).
  970.  
  971. 3.29. exit
  972.  
  973. Exit the nos program and return to MS-DOS.
  974.  
  975. 3.30. finger <user@hostid> | <@hostid>
  976.  
  977. Issue a network finger request for user user at host hostid. This creates a
  978. client session which may be interrupted, resumed, reset, etc, just like a
  979. Telnet client session. If only @hostid is given, all users on that host are
  980. identified.
  981.  
  982. 3.31. fkey [<number> [<string>]]
  983.  
  984. Fkey displays or sets values for the programmable keys on the PC keyboard.
  985. fkey alone gives a display of all remapable keys and their number. fkey
  986. number displays the current value for that key. fkey number string assigns
  987. string to that key. Control characters can be created by prefixing then with
  988. an ^ character. A cr is ^M. To insert an ^ in the string 2 ^'s next to each
  989. other are needed. Following is the map of keys and their number. F1 is func-
  990. tion key 1. Sf1 is Shift function key 1. Cf1 is Control function key 1. Af1
  991. is Alt function key 1. Etc. The right most row is the numeric keypad.
  992.  
  993.  key number  key number  key number  key number key  number
  994.  f1  59  sf1  84  cf1  94  af1 104 pgup  73
  995.  f2  60  sf2  85  cf2  95  af2 105 pgdn  81
  996.  f3  61  sf3  86  cf3  96  af3 106 home  71
  997.  f4  62  sf4  87  cf4  97  af4 107 end 79
  998.  f5  63  sf5  88  cf5  98  af5 108 arup  72
  999.  f6  64  sf6  89  cf6  99  af6 109 ardn  80
  1000.  f7  65  sf7  90  cf7 100  af7 110 ar l  75
  1001.  f8  66  sf8  91  cf8 101  af8 111 ar r  77
  1002.  f9  67  sf9  92  cf9 102  af9 112 ins 82
  1003.  f10 68  sf10 93  cf10 103  af10 113 del 83
  1004. The mapping is taken to look like a vt100 / ansi keyboard.  Currently
  1005. assigned value strings for following keys:
  1006.  number string key
  1007.  59 " 33OP"  /* F1 */
  1008.  60 " 33OQ"  /* F2 */
  1009.  61 " 33OR"  /* F3 */
  1010.  62 " 33OS"  /* F4 */
  1011.  71 " 10" /* home*/
  1012.  72 " 33[A"  /* up arrow*/
  1013.  73 " 25" /* pgup */
  1014.  75 " 33[D"  /* left arrow */
  1015.  77 " 33[C"  /* right arrow */
  1016.  79 " 05" /* end */
  1017.  80 " 33[B"  /* down arrow */
  1018.  81 " 12" /* pgdn */
  1019.  82 " 01" /* ins */
  1020.  83 " 177" /* del */
  1021.  
  1022. 3.32. ftp <hostid>
  1023.  
  1024. Open an FTP control channel to the specified remote host and enter converse
  1025. mode on the new session.  Responses from the remote server are displayed
  1026. directly on the screen. See theFTP Subcommands chapter for descriptions of
  1027. the commands available in a FTP session.
  1028.  
  1029. 3.33. ftype [ascii | binary | image | logical <size>]
  1030.  
  1031. This command displays or sets the default start file mode (ascii or binary)
  1032. for ftp transfers. If ftype binary or image is given the next ftp session
  1033. started will be in binary type. No binary command is needed once the session
  1034. is started. In case of logical, the "word" size is set to size.
  1035.  
  1036. 3.34. help
  1037.  
  1038. Display a brief summary of top-level commands.
  1039.  
  1040. 3.35. hop <subcommands>
  1041.  
  1042. These commands are used to test the connectivity of the network.
  1043.  
  1044. 3.35.1. hop check <hostid>
  1045.  
  1046. Initiate a hopcheck session to the specified host. This uses a series of UDP
  1047. "probe" packets with increasing IP TTL fields to determine the sequence of
  1048. gateways in the path to the specified destination. This function is patterned
  1049. after the UNIX traceroute facility.
  1050.  
  1051. ICMP message tracing should be turned off before this command is executed
  1052. (see the icmp trace command).
  1053.  
  1054. 3.35.2. hop maxttl [<hops>]
  1055.  
  1056. Display or set the maximum TTL value to be used in hop check sessions.  This
  1057. effectively bounds the radius of the search.
  1058.  
  1059. 3.35.3. hop maxwait [<seconds>]
  1060.  
  1061. Display or set the maximum interval, in seconds, that a hopcheck session will
  1062. wait for responses at each stage of the trace. The default is 5 seconds.
  1063.  
  1064. 3.35.4. hop queries [<count>]
  1065.  
  1066. Display or set the number of UDP probes that will be sent at each stage of
  1067. the trace. The default is 3.
  1068.  
  1069. 3.35.5. hop trace [on | off]
  1070.  
  1071. Display or set the flag that controls the display of additional information
  1072. during a hop check session.
  1073.  
  1074. 3.36. hostname [<name>]
  1075.  
  1076. Display or set the local host's name. By convention this should be the same
  1077. as the host's primary domain name. This string is used only in the greeting
  1078. messages of the various network servers; note that it does NOT set the
  1079. system's IP address.
  1080.  
  1081. If <name> is the same as an <iface> (see the Attach commands chapter), this
  1082. command will search for a CNAME domain resource record which corresponds to
  1083. the IP address of the <iface>.
  1084.  
  1085. 3.37. hs
  1086.  
  1087. Display statistics about the HS high speed HDLC driver (if configured and
  1088. active).
  1089.  
  1090. 3.38. icmp <subcommand>
  1091.  
  1092. These commands are used for the Internet Control Message Protocol service.
  1093.  
  1094. 3.38.1. icmp echo [on | off]
  1095.  
  1096. Display or set the flag controlling the asynchronous display of ICMP Echo
  1097. Reply packets. This flag must be on for one-shot pings to work (see the ping
  1098. command.)
  1099.  
  1100. 3.38.2. icmp status
  1101.  
  1102. Display statistics about the Internet Control Message Protocol (ICMP),
  1103. including the number of ICMP messages of each type sent or received.
  1104.  
  1105. 3.38.3. icmp trace [on | off]
  1106.  
  1107. Display or set the flag controlling the display of ICMP error messages. These
  1108. informational messages are generated by Internet routers in response to rout-
  1109. ing, protocol or congestion problems. This option should be turned off before
  1110. using the hop check facility because it relies on ICMP Time Exceeded mes-
  1111. sages, and the asynchronous display of these messages will be mingled with
  1112. hop check command output.
  1113.  
  1114. 3.39. ifconfig
  1115.  
  1116. Display a list of interfaces, with a short status for each.
  1117.  
  1118. 3.39.1. ifconfig [<iface> [[[ <subcommand> <param>] <subcommand> <param>]
  1119. . ]
  1120.  
  1121. When only iface is given, a extended interface status is displayed. Multiple
  1122. subcommand / parameter can be put on one line.
  1123.  
  1124. 3.39.2. ifconfig <iface> broadcast <addr>
  1125.  
  1126. Set the broadcast address of interface iface to addr. Addr can eighter be an
  1127. ax25addr or an etheraddr, depending on the interface type, with 1's in the
  1128. host part of the address. This is related to the netmask sub-command.  See
  1129. also the arp command.
  1130.  
  1131. 3.39.3. ifconfig <iface> encapsulation <slip | ax25 | ether | encap | ppp>
  1132.  
  1133. Sets the encapsulation for interface iface to slip / ax25 / ether / encap /
  1134. ppp.
  1135.  
  1136. 3.39.4. ifconfig <iface> forward <iface-2>
  1137.  
  1138. When a forward is defined, all output for interface iface is redirected to
  1139. the interface directed by iface-2. To remove the forward, set <iface-2> to
  1140. <iface>.
  1141.  
  1142. 3.39.5. ifconfig <iface> ipaddress <addr>
  1143.  
  1144. Set the IP address to addr for this interface. This might be nessesary when a
  1145. system acts as a gateway. Like an system with IP address 44.137.1.8 has an
  1146. Internet access via its ethernet. The Internet IP address could  be
  1147. 129.179.122.10. An ifconfig ec0 ipaddress 129.179.122.10 sets the correct
  1148. address for that interface. Now routing to that system will work. (Note that
  1149. the 44.x.x.x address is NOT connected to the Internet.) See also the host-
  1150. name and ip address commands.
  1151.  
  1152. 3.39.6. ifconfig <iface> linkaddress <hardware-dependant>
  1153.  
  1154. Set the hardware dependant address for this interface. For AX.25 this can be
  1155. the callsign, for ethernet a new ethernet address.
  1156.  
  1157. 3.39.7. ifconfig <iface> mtu <param>
  1158.  
  1159. Set the maximum transfer unit to param octeds (bytes). See the Setting ...
  1160. MTU, MSS and Window chapter for more information.
  1161.  
  1162. 3.39.8. ifconfig <iface> netmask <address>
  1163.  
  1164. Set the sub-net mask for this interface. The <address> takes the form of an
  1165. IP address with 1's in the network and subnet parts of the address, and 0's
  1166. in the host part of the address. Sample: ifconfig ec0 netmask 0xfff00
  1167. for a class C network (24 bits). This is related to the broadcast sub-
  1168. command. See also the route command.
  1169.  
  1170. 3.39.9. ifconfig <iface> rxbuf <size>
  1171.  
  1172. Set the receive buffer size.
  1173.  
  1174. 3.40. info
  1175.  
  1176. Info gives information about the version of Nos currently running and its
  1177. buildin configuration. The configuration info is build with defines in
  1178. config.h in the source distribution. That way it gives automatically correct
  1179. configuration information.
  1180.  
  1181. 3.41. ip <subcommand>
  1182.  
  1183. These commands are used for the Internet Protocol service.
  1184.  
  1185. 3.41.1.  ip access <permit|deny|delete> <dest  addr>[/<bits>]  <ifname>
  1186. [lowport [higport]]
  1187.  
  1188. Set or display access control for IP routing functions. This command imple-
  1189. ments router access functions to NosFp. Permit enables dest-addr packets to
  1190. be routed via ifname. Deny disables those. If lowport is not given, all ports
  1191. are assumed. If only lowport is given, that port is only checked for permis-
  1192. sion If lowport and highport are given, that is the range of ports
  1193. permitted/denied.  Dest-addr can be the word all for all addresses possible.
  1194. Lowport can be the word none for all ports. The ip access delete must match
  1195. a previous defined permit or deny to be able to delete that definition. Some
  1196. samples:
  1197.  ip access permit 44/8 ax0
  1198.  ip access deny all ax0 1 1023
  1199.  ip access permit all ax0 If no access list is created, all interfaces might
  1200. carry all types. If an access control is defined for an interface there must
  1201. be an permit defined for that interface to allow trafic. Thus an partial
  1202. denyal without an permit is an complete denyal.
  1203.  
  1204. 3.41.2. ip address [<hostid>]
  1205.  
  1206. Display or set the default local IP address. This command must be given
  1207. before an attach command if it is to be used as the default IP address for
  1208. the interface.
  1209.  
  1210. 3.41.3. ip rtimer [<seconds>]
  1211.  
  1212. Display or set the IP reassembly timeout. The default is 30 seconds.  Value
  1213. is in seconds.
  1214.  
  1215. 3.41.4. ip status
  1216.  
  1217. Display Internet Protocol (IP) statistics, such as total packet counts and
  1218. error counters of various types.
  1219.  
  1220. 3.41.5. ip ttl [<hops>]
  1221.  
  1222. Display or set the default time-to-live value placed in each outgoing IP
  1223. datagram. This limits the number of switch hops the datagram will be allowed
  1224. to take. The idea is to bound the lifetime of the packet should it become
  1225. caught in a routing loop, so make the value slightly larger than the number
  1226. of hops across the network you expect to transit packets. The default is set
  1227. at compilation time to the official recommended value for the Internet.
  1228.  
  1229. 3.42. isat [on | off]
  1230.  
  1231. Display or set the AT flag. Normaly this flag is set when an interface is
  1232. attached with an interrupt of 8 or higher. This is to signal that the second
  1233. interrupt controllerc in a AT also needs an return of interrupt signal.  If
  1234. an AT type clock is in use, this command will allow measurement of time in
  1235. milliseconds, rather than clock ticks (55 milliseconds per clock tick). Dur-
  1236. ing I/O initialisation this flag is set if the monitor prom has the standard
  1237. byte 0xfc at address f000:fffe.
  1238.  
  1239. 3.43. kick [<session>]
  1240.  
  1241. Kick all sockets associated with a session; if no argument is given, kick the
  1242. current session.  Performs the same function as the ax25 kick and tcp kick
  1243. commands, but is easier to type.
  1244.  
  1245. 3.44. log [stop | <filename>]
  1246.  
  1247. Display the current log filename or set the filename for logging server ses-
  1248. sions. If stop is given as the argument, logging is terminated (the servers
  1249. themselves are unaffected). If a file name is given as an argument, server
  1250. session log entries will be appended to it.
  1251.  
  1252. 3.45. mail
  1253.  
  1254. This command will start a shell escape command. The mailer used is defined
  1255. with the DOS environment variable MAILER, wich defaults to BM.EXE.
  1256.  
  1257. 3.46. mbox [<subcommand>]
  1258.  
  1259. Display the status of the mailbox server system (if configured).
  1260.  
  1261. 3.46.1. mbox attend [yes | no]
  1262.  
  1263. Displays or sets the attended flag on. This is used to announce in the mail-
  1264. box if the station mannager is willing to attend his station (chat).
  1265.  
  1266. 3.46.2. mbox kick
  1267.  
  1268. To kick the mailbox back in activity after retry timeouts.
  1269.  
  1270. 3.46.3. mbox maxmsg
  1271.  
  1272. To display or set the maximum number of messages per area when an notesfile
  1273. is shown to a user. This reserves lots of memory for every mailbox session.
  1274.  
  1275. 3.46.4. mbox motd
  1276.  
  1277. Display ot set the mailbox welcoming Message Of The Day.
  1278.  
  1279. 3.46.5. mbox status
  1280.  
  1281. An alias for just entering mbox on the prompt line.
  1282.  
  1283. 3.46.6. mbox timer [<seconds>]
  1284.  
  1285. Display the current interval and time remainig or set the mailbox forwarding
  1286. timer.
  1287.  
  1288. 3.46.7. mbox tiptimeout
  1289.  
  1290. Displays or sets the timeout value for tip connection timeout. After timeout
  1291. seconds of no activity the connection is closed.
  1292.  
  1293. 3.46.8. mbox trace [yes | no]
  1294.  
  1295. Displays or sets mailbox forward trace code flag. The trace is very minimal
  1296. but every one working on mailbox/forward code now has a common flag Mtrace.
  1297.  
  1298. 3.47. memory <subcommand>
  1299.  
  1300. These commands are used for memory allocation.
  1301.  
  1302. 3.47.1. memory efficient [yes | no]
  1303.  
  1304. Displays or sets the search algorithm for buffer memory. When set the search
  1305. is always started from the beginning of the free list. This is slower but
  1306. keeps memory fragmentation to a minimum. When clear search is started on the
  1307. end, accounting for more memory fragmentation but keeping speed. Roumers
  1308. state that you should include this command as the first line in autoexec.nos.
  1309. The current releases default sets efficient to yes.
  1310.  
  1311. 3.47.2. memory freelist
  1312.  
  1313. Display the storage allocator free list. Each entry consists of a starting
  1314. address, in hex, and a size, in decimal bytes.
  1315.  
  1316. 3.47.3. memory ibufsize [<size>]
  1317.  
  1318. Display or set the size of the buffers in the interrupt buffer pool.  The
  1319. size should be set to the largest type of buffer plus a header size of 22.
  1320. For example: If your ax25 is the omly interface and a packet length of 256 is
  1321. defined, the ibufsize should be 256 + 10 * 6 + 22. The 10 * 6 is the ax25
  1322. header (source , destination and 8 digipeaters).
  1323.  
  1324. 3.47.4. memory nibufs [<number>]
  1325.  
  1326. Display or set the number of interrupt buffer pool buffers. If the number of
  1327. buffers is set, the statistics in the memory status display are reset for
  1328. number of interrupt buffer fails. The minimum available value is set to the
  1329. requested number of buffers. A roule of thumb for the number of buffers is
  1330. to watch the statistics and keep a minimum of 2 free buffers. Increase or
  1331. decrease as required.
  1332.  
  1333. 3.47.5. memory sizes
  1334.  
  1335. Display a histogram of storage allocator request sizes. Each histogram bin is
  1336. a binary order of magnitude (i.e., a factor of 2).
  1337.  
  1338. 3.47.6. memory status
  1339.  
  1340. Display a summary of storage allocator statistics. The first line shows the
  1341. base address of the heap, its total size, the amount of heap memory available
  1342. in bytes and as a percentage of the total heap size, and the amount of memory
  1343. left over (i.e., not placed on the heap at startup) and therefore available
  1344. for shell subcommands.
  1345.  
  1346. The second line shows the total number of calls to allocate and free blocks
  1347. of memory, the difference of these two values (i.e., the number of allocated
  1348. blocks outstanding), the number of allocation requests that were denied due
  1349. to lack of memory, and the number of calls to free() that attempted to free
  1350. garbage (eg. by freeing the same block twice or freeing a garbled pointer).
  1351.  
  1352. The third line shows the garbage collection status. Garbage collection is a
  1353. separate process running every second. If memory is "low" garbage collection
  1354. routines are called in "Red alert" mode, else in "Yellow alert".
  1355.  
  1356. The fourth line shows the number of calls to malloc and free that occurred
  1357. with interrupts off. In normal situations these values should be zero. The
  1358. fourth line shows statistics for the special pool of fixed-size buffers used
  1359. to satisfy requests for memory at interrupt time. The variables shown are the
  1360. number of buffers currently in the pool, their size, and the number of
  1361. requests that failed due to exhaustion of the pool.
  1362.  
  1363. The fifth line shows the current setting of the interrupt buffer pool, its
  1364. minimal value and the number of no buffers available. These statistics are
  1365. reset when a memory nibufs <number> command is given.
  1366.  
  1367. 3.47.7. memory thresh [<size>]
  1368.  
  1369. Displays or sets the memory threshold size in bytes. If memory gets below
  1370. this value , no more new sessions are started or accepted.
  1371.  
  1372. 3.48. mkdir <dirname>
  1373.  
  1374. Create a sub-directory in the current working directory.
  1375.  
  1376. 3.49. mode <iface> [vc | datagram]
  1377.  
  1378. Control the default transmission mode on the specified AX.25 interface.  In
  1379. datagram mode, IP packets are encapsulated in AX.25 UI frames and transmitted
  1380. without any other link level mechanisms, such as connections or acknowledge-
  1381. ments.
  1382.  
  1383. In vc (virtual circuit) mode, IP packets are encapsulated in AX.25 I frames
  1384. and are acknowledged at the link level according to the AX.25 protocol. Link
  1385. level connections are opened if necessary.
  1386.  
  1387. In both modes, ARP is used to map IP to AX.25 addresses. The defaults can be
  1388. overridden with the type-of-service (TOS) bits in the IP header. Turning on
  1389. the "reliability" bit causes I frames to be used, while turning on the "low
  1390. delay" bit uses UI frames. (The effect of turning on both bits is undefined
  1391. and subject to change).
  1392.  
  1393. In both modes, IP-level fragmentation is done if the datagram is larger than
  1394. the interface MTU. In virtual circuit mode, however, the resulting datagram
  1395. (or fragments) is further fragmented at the AX.25 layer if it (or they) are
  1396. still larger than the AX.25 paclen parameter. In AX.25 fragmentation,
  1397. datagrams are broken into several I frames and reassembled at the receiving
  1398. end before being passed to IP. This is preferable to IP fragmentation when-
  1399. ever possible because of decreased overhead (the IP header isn't repeated in
  1400. each fragment) and increased robustness (a lost fragment is immediately
  1401. retransmitted by the link layer).
  1402.  
  1403. 3.50. more <file> [<file> ...]
  1404.  
  1405. Display the specified file(s) a screen at a time. To proceed to the next
  1406. screen, press the space bar; to cancel the display, hit the 'q' key. A CR
  1407. advances a line. The more command creates a session that you can suspend and
  1408. resume just like any other session.
  1409.  
  1410. 3.51. motd [<"message of the day">]
  1411.  
  1412. Display the current message or sets the welcome message to the defined
  1413. string.
  1414.  
  1415. 3.52. multitask [on | off]
  1416.  
  1417. Displays or sets the multi task flag. If set Nos continues to service its
  1418. interrupts and handling of normal operation when put in the background by
  1419. executing a shell escape. Some programs do not like to miss valuable time
  1420. taken away this way and weard results can happen. Clearing the flag stops all
  1421. activiity fron Nos when put in the background.
  1422.  
  1423. 3.53. netrom <subcommand>
  1424.  
  1425.  
  1426. 3.53.1. netrom acktime [<milliseconds>]
  1427.  
  1428. Displays or sets the ack delay timer, similary to ax25 t2.
  1429.  
  1430. 3.53.2. netrom bcnodes <iface>
  1431.  
  1432. Initiates an immediate broadcast of nodelist on iface.
  1433.  
  1434. 3.53.3. netrom connect <node>
  1435.  
  1436. Start a connection to node.
  1437.  
  1438. 3.53.4. netrom choketime [<milliseconds>]
  1439.  
  1440. Display or set the time breaking a send choke. Choke is the term netrom uses
  1441. for flow control conditions.
  1442.  
  1443. 3.53.5. netrom derate [on | off]
  1444.  
  1445. Display or set automatic derating of netrom routes on link failure.
  1446.  
  1447. 3.53.6. netrom interface <iface> <alias> <quality>
  1448.  
  1449. Define a netrom interface iface having a alias of alias. The quality can be
  1450. between 1 and 255. For compatibility with other implementations set this to
  1451. 192 normaly. A check is made that the interface is of type CLAX25, meaning
  1452. NETROM capable media.
  1453.  
  1454. 3.53.7. netrom irtt [<milliseconds>]
  1455.  
  1456. Display or set the initial round trip time.
  1457.  
  1458. 3.53.8. netrom kick <&nrcb>
  1459.  
  1460. Give the control block a kick to get activity going again.
  1461.  
  1462. 3.53.9. netrom load [<filename>]
  1463.  
  1464. When fully implemented reloads a saved netrom node list to continue from
  1465. where you left when you saved the list. All entry's read are time decremented
  1466. as if normal time just went on. If it took some time (obsotimer * x) your
  1467. list could be empty as they all timed out.
  1468.  
  1469. 3.53.10. netrom minquality [<value>]
  1470.  
  1471. Display or set the minimum quality for recognizing a node entry.  Entry's
  1472. below this value are not considered valuable for usage.
  1473.  
  1474. 3.53.11. netrom nodefilter <subcommand>
  1475.  
  1476. Node filtering.
  1477.  
  1478. 3.53.11.1. netrom nodefilter add <neighbor> <iface>
  1479.  
  1480. Allow neighbor to give us node updates.
  1481.  
  1482. 3.53.11.2. netrom nodefilter drop <neighbor> <iface>
  1483.  
  1484. Disallow neighbor to give us node updates.
  1485.  
  1486. 3.53.11.3. netrom nodefilter mode [none | accept | reject]
  1487.  
  1488. Display or set the initial filter schema. None accepts all.  Accept,accepts
  1489. only from nodes defined in netrom nodefilter add lists. Reject,no accepts
  1490. from nodes defined in netrom nodefilter add lists.
  1491.  
  1492. 3.53.12. netrom nodetimer [<seconds>]
  1493.  
  1494. Display or set the interval our node list is transmitted.
  1495.  
  1496. 3.53.13. netrom obsotimer [<seconds>]
  1497.  
  1498. Display or set the time a node quality gets decremented.
  1499.  
  1500. 3.53.14. netrom promiscious [off | on]
  1501.  
  1502. Enables nodes with a higher quality than defined with minquality. If on, all
  1503. nodes are received, independent od nodefilter.
  1504.  
  1505. 3.53.15. netrom qlimit [<bytes>]
  1506.  
  1507. Display or set the maximum queue limit for chat. Similar to ax25 window.
  1508.  
  1509. 3.53.16. netrom reset <&nrcb>
  1510.  
  1511. Remove the control block. You can find the control block with socket.
  1512.  
  1513. 3.53.17. netrom retries [<value>]
  1514.  
  1515. Display or set the maximum number of retries on connect, disconnect or data.
  1516.  
  1517. 3.53.18. netrom route <subcommand>
  1518.  
  1519. Netrom routing commands.
  1520.  
  1521. 3.53.18.1. netrom route add <alias> <destination> <iface> <quality> <neigh-
  1522. bor>
  1523.  
  1524. Add a netrom route.
  1525.  
  1526. 3.53.18.2. netrom route drop <destination> <neighbor> <iface>
  1527.  
  1528. Delete a netrom route.
  1529.  
  1530. 3.53.18.3. netrom route info <destination>
  1531.  
  1532. Display the route it would take to get to destination.
  1533.  
  1534. 3.53.19. netrom status
  1535.  
  1536. Displays all netrom connections.
  1537.  
  1538. 3.53.20. netrom save [<filename>]
  1539.  
  1540. When fully implemented, saves the current netrom node list in memory to
  1541. /netrom.sav or filename, if given.
  1542.  
  1543. 3.53.21. netrom timertype [exponential | linear]
  1544.  
  1545. Displays or sets the type of backoff.
  1546.  
  1547. 3.53.22. netrom ttl [<hops>]
  1548.  
  1549. Display or set the maximum number of hops a frame might hop before discarded,
  1550. if it did not reach its destination before.
  1551.  
  1552. 3.53.23. netrom user [<username>]
  1553.  
  1554. Display or set our netrom user name.
  1555.  
  1556. 3.53.24. netrom verbose [off | on]
  1557.  
  1558. Display or set the verbose flag. If set all nodes known to us are transmitted
  1559. each time the nodetimer expires. If off, only your stations node ident is
  1560. send out.
  1561.  
  1562. 3.53.25. netrom window [<frames>]
  1563.  
  1564. Display or set the size of the sliding window. This is the largest send and
  1565. receive window we might negotiate.
  1566.  
  1567. 3.54. nntp <subcommand>
  1568.  
  1569. Network news transfer protocol has the following subcommands:
  1570.  
  1571. 3.54.1. nntp addserver <nntpserver> <seconds> [<range>] [<groups>]
  1572.  
  1573. Add a nntp news server to quiry every seconds interval for new articles
  1574. specified by the nntp groups command. Range can be a limit in time to query
  1575. like nntp addserver someserver 600 22:00-23:00, to only query the server
  1576. between 10 and 11pm. Multiple nntp add can be used co concatenate groups (up
  1577. to 512 bytes) The interval seconds can be set to 0, so that normaly the nntp
  1578. client does not query the server regulary but an nntp kick nntpserver can be
  1579. used to start a session.
  1580.  
  1581. 3.54.2. nntp directory <directory>
  1582.  
  1583. Show or set default directory for spooling news. This is not the control
  1584. directory but the (alternate) place to spool articles to.
  1585.  
  1586. 3.54.3. nntp dropserver <nntpserver>
  1587.  
  1588.  
  1589. 3.54.4. nntp groups <group> [<group> ...]
  1590.  
  1591. Set or display currently set newsgroups.
  1592.  
  1593. 3.54.5. nntp kick <nntpserver>
  1594.  
  1595. Kick the client to get in touch with the named server.
  1596.  
  1597. 3.54.6. nntp listservers
  1598.  
  1599. Lists the curently defined servers.
  1600.  
  1601. 3.55. nntp quiet [yes | no]
  1602.  
  1603. Shows or sets the flag controlling the display of newly received nntp news
  1604. messages. The smpt quiet fag controls the beep following the message. If
  1605. both are off, nothing is shown, keeping the display from getting hung on
  1606. -more- when running unattended.
  1607.  
  1608. 3.56. nntp trace <level>
  1609.  
  1610. Sets or shows the current trace level for the nntp client. 0 No tracing 1
  1611. (default) displays serious errors. 2 displays as 1 and transient errors. 3
  1612. displays as 2 and session progress. 4 displays as 3 and actual received
  1613. articles. 5 displays errors.
  1614.  
  1615. 3.57. nrstat
  1616.  
  1617. Displays the netrom interface statistics.
  1618.  
  1619. 3.58. param <iface> [<param> ...]
  1620.  
  1621. Invoke a device-specific control routine. On a KISS TNC interface, this
  1622. sends control packets to the TNC. Data bytes are treated as decimal. For
  1623. example, param ax0 1 255 will set the keyup timer (type field = 1) on the
  1624. KISS TNC configured as ax0 to 2.55 seconds (255 x .01 sec). On a SLIP inter-
  1625. face, the param command allows the baud rate to be read (without arguments)
  1626. or set. The implementation of this command for the various interface drivers
  1627. is incomplete and subject to change.
  1628.  
  1629. 3.59. ping <hostid> [<length> [<milliseconds> [<incflag>]]]
  1630.  
  1631. Ping (send ICMP Echo Request packets to) the specified host. By default the
  1632. data field contains only a small timestamp to aid in determining round trip
  1633. time; if the optional length argument is given, the appropriate number of
  1634. data bytes (consisting of hex 55) are added to the ping packets.
  1635.  
  1636. If milliseconds is specified, pings will be repeated indefinitely at the
  1637. specified number of milliseconds; otherwise a single, "one shot" ping is
  1638. done. Responses to one-shot pings appear asynchronously on the command
  1639. screen, while repeated pings create a session that may be suspended and
  1640. resumed. Pinging continues until the session is manually reset.
  1641.  
  1642. The incflag option causes a repeated ping to increment the target IP address
  1643. for each ping; it is an experimental feature for searching blocks of IP
  1644. addresses for active hosts.
  1645.  
  1646. 3.60. pop <subcommand>
  1647.  
  1648. The pop client provides an automatic interface to the pop server that is
  1649. totaly transparen to the user; all that the user needs to do is to set a few
  1650. key parameters and the client will take it from there, appart from registring
  1651. with the server station manager for setting up the user data. (see pop user-
  1652. data command. To read more about pop, read rfc937. The following paragraph
  1653. describe the pop subcommands.
  1654.  
  1655. 3.60.1. pop mailbox [<name>]
  1656.  
  1657. Show the defined name or sets the name to name for POP mail queries to the
  1658. mailhost. The server keeps the mail in the mailbox name located in
  1659. /spool/mail/name.txt. This is a mandatory parameter.
  1660.  
  1661. 3.60.2. pop mailhost [<ipaddr>]
  1662.  
  1663. Show the currently defined host address for a pop server or sets the IP
  1664. address to the system named ipaddr for POP connections. This is a mandatory
  1665. parameter.
  1666.  
  1667. 3.60.3. pop kick
  1668.  
  1669. Start a POP connection now. (one shot connection)
  1670.  
  1671. 3.60.4. pop timer [<seconds>]
  1672.  
  1673. Show the current setting and time remaining untill next server enquiry or
  1674. when seconds is given, defines the interval that a pop connection is started
  1675. every <seconds> to retrieve mail from the server system. When the timer is
  1676. not set the client is only started with a pop kick command.
  1677.  
  1678. 3.60.5. pop userdata <name> <password>
  1679.  
  1680. Sets up the userdata used for validation on the POP server system. Note that
  1681. <name> and <password> are case sensitive. When only pop userdata is entered
  1682. to show the values only the <name> is shown. (ultimate in security, if you
  1683. realy want to see the password look in the "ether"). Remember: the name and
  1684. password should also be defined at the server site in the popusers file.
  1685.  
  1686. 3.61. ppp <subcommands>
  1687.  
  1688. These commands are used for Point to Point Protocol interfaces.
  1689. This implementation of PPP is designed to be as complete as possible.
  1690. Because of this, the number of options can be rather daunting. However, a
  1691. typical PPP configuration might include the following commands:
  1692.  
  1693.  attach asy 0x3f8 4 ppp pp0 4096 1500 9600
  1694.  dial pp0 30 <hostid> 3 dialer.pp0
  1695.  #
  1696.  ppp pp0 lcp local accm 0
  1697.  ppp pp0 lcp local compress address on
  1698.  ppp pp0 lcp local compress protocol on
  1699.  ppp pp0 lcp local magic on
  1700.  ppp pp0 lcp open active
  1701.  #
  1702.  ppp pp0 ipcp local compress tcp 16 1
  1703.  ppp pp0 ipcp open active
  1704.  #
  1705.  route add default pp0
  1706.  
  1707.  
  1708. 3.61.1. ppp <iface>
  1709.  
  1710. Display the status of the PPP interface.
  1711.  
  1712. 3.61.2. ppp <iface> lcp ...
  1713.  
  1714. These commands are used for the LCP [Link Control Protocol] configuration.
  1715.  
  1716. 3.61.2.1. ppp <iface> lcp close
  1717.  
  1718. Shutdown the PPP interface.
  1719.  
  1720. 3.61.2.2. ppp <iface> lcp local ...
  1721.  
  1722. These commands control the configuration of the local side of the link.  If
  1723. an option is specified, the parameters will be used as the initial values in
  1724. configuration requests. If not specified, that option will not be requested.
  1725.  
  1726. For each of these options, the allow parameter will permit the remote to
  1727. include that option in its response, even when the option is not included in
  1728. the request. By default, all options are allowed.
  1729.  
  1730. 3.61.2.2.1. ppp <iface> lcp local accm [ <bitmap> | allow [on | off] ]
  1731.  
  1732. Display or set the Async Control Character Map. The default is 0xff.
  1733.  
  1734. 3.61.2.2.2. ppp <iface> lcp local authenticate [ pap | none | allow [on |
  1735. off] ]
  1736.  
  1737. Display or set the authentication protocol. The default is none.
  1738.  
  1739. 3.61.2.2.3. ppp <iface> lcp local compress address/control [ on | off |
  1740. allow [on | off] ]
  1741.  
  1742. Display or set the option to compress the address and control fields of the
  1743. PPP HLDC-like header.  This is generally desirable for slow asynchronous
  1744. links, and undesirable for fast or synchronous links. The default is off.
  1745.  
  1746. 3.61.2.2.4. ppp <iface> lcp local compress protocol [ on | off | allow [on |
  1747. off] ]
  1748.  
  1749. Display or set the option to compress the protocol field of the PPP HLDC-like
  1750. header.  This is generally desirable for slow asynchronous links, and
  1751. undesirable for fast or synchronous links. The default is off.
  1752.  
  1753. 3.61.2.2.5. ppp <iface> lcp local magic [ on | off | <value> | allow [on |
  1754. off] ]
  1755.  
  1756. Display or set the initial Magic Number. The default is off (zero).
  1757.  
  1758. 3.61.2.2.6. ppp <iface> lcp local mru [ <size> | allow [on | off] ]
  1759.  
  1760. Display or set the Maximum Receive Unit. The default is 1500.
  1761.  
  1762. 3.61.2.2.7. ppp <iface> lcp local default
  1763.  
  1764. Reset the options to their default values.
  1765.  
  1766. 3.61.2.3. ppp <iface> lcp open active | passive
  1767.  
  1768. Wait for the physical layer to come up. If active, initiate configuration
  1769. negotiation. If passive, wait for configuration negotiation from the remote.
  1770.  
  1771. 3.61.2.4. ppp <iface> lcp remote ...
  1772.  
  1773. These commands control the configuration of the remote side of the link. The
  1774. options are identical to those of the local side. If an option is specified,
  1775. the parameters will be used in responses to the remote's configuration
  1776. requests. If not specified, that option will be accepted if it is allowed.
  1777.  
  1778. For each of these options, the allow parameter will permit the remote to
  1779. specify that option in its request. By default, all options are allowed.
  1780.  
  1781. 3.61.2.5. ppp <iface> lcp timeout [<seconds>]
  1782.  
  1783. Display or set the interval to wait between configuration or termination
  1784. attempts. The default is 3 seconds.
  1785.  
  1786. 3.61.2.6. ppp <iface> lcp try ...
  1787.  
  1788. These commands are used for the various counters.
  1789.  
  1790. 3.61.2.6.1. ppp <iface> lcp try configure [<count>]
  1791.  
  1792. Display or set the number of configuration requests sent. The default is 10.
  1793.  
  1794. 3.61.2.6.2. ppp <iface> lcp try failure [<count>]
  1795.  
  1796. Display or set the number of bad configuration requests allowed from the
  1797. remote. The default is 5.
  1798.  
  1799. 3.61.2.6.3. ppp <iface> lcp try terminate [<count>]
  1800.  
  1801. Display or set the number of termination requests sent before shutdown.  The
  1802. default is 2.
  1803.  
  1804. 3.61.3. ppp <iface> ipcp ...
  1805.  
  1806. These commands are used for the IPCP [Internet Protocol Control Protocol]
  1807. configuration.
  1808.  
  1809. The close, open, timeout and try sub-commands are identical to the LCP
  1810. (described above).
  1811.  
  1812. 3.61.3.1. ppp <iface> ipcp local ...
  1813.  
  1814. These commands control the configuration of the local side of the link.  If
  1815. an option is specified, the parameters will be used as the initial values in
  1816. configuration requests. If not specified, that option will not be requested.
  1817.  
  1818. For each of these options, the allow parameter will permit the remote to
  1819. include that option in its response, even when the option is not included in
  1820. the request. By default, all options are allowed.
  1821.  
  1822. 3.61.3.1.1. ppp <iface> ipcp local address [ <hostid> | allow [on | off] ]
  1823.  
  1824. Display or set the local address for negotiation purposes. If an address of
  1825. 0 is specified, the other side of the link will supply the address. By
  1826. default, no addresses are negotiated.
  1827.  
  1828. 3.61.3.1.2. ppp <iface> ipcp local compress [ tcp <slots> [<flag>] | none |
  1829. allow [on | off] ]
  1830.  
  1831. Display or set the compression protocol. The default is none.
  1832.  
  1833. The tcp <slots> specifies the number of "conversation" slots, which must be 1
  1834. to 255.  (This may be limited at compilation time to a smaller number.) A
  1835. good choice is in the range 4 to 16.
  1836.  
  1837. The tcp <flag> is 0 (don't compress the slot number) or 1 (OK to compress the
  1838. slot number). KA9Q can handle compressed slot numbers, so the default is 1.
  1839.  
  1840. 3.61.3.2. ppp <iface> ipcp remote ...
  1841.  
  1842. These commands control the configuration of the remote side of the link. The
  1843. options are identical to those of the local side. If an option is specified,
  1844. the parameters will be used in responses to the remote's configuration
  1845. requests. If not specified, that option will be accepted if it is allowed.
  1846.  
  1847. For each of these options, the allow parameter will permit the remote to
  1848. specify that option in its request. By default, all options are allowed.
  1849.  
  1850. 3.61.4. ppp <iface> pap ...
  1851.  
  1852. These commands are used for the PAP [Password Authentication Protocol] confi-
  1853. guration.
  1854.  
  1855. The timeout and try sub-commands are identical to the LCP (described above).
  1856. However, the terminate counter is unused.
  1857.  
  1858. 3.61.4.1. ppp <iface> pap user [ <username> [<password>] ]
  1859.  
  1860. Display or set the username (the password may be set, but not displayed).
  1861. When the username is specified, but no password is supplied, the ftpusers
  1862. file is searched for the password. When a username/password is unknown or
  1863. rejected, a session will appear at the console to prompt for a new
  1864. username/password.
  1865.  
  1866. 3.61.5. ppp <iface> trace [<flags>]
  1867.  
  1868. Display or set the flags that control the logging of information during PPP
  1869. link configuration.
  1870.  
  1871. The flag value is 0 for none, 1 for basic, and 2 for general. Values greater
  1872. than 2 are usually not compiled, and are described in the appropriate source
  1873. files where they are defined.
  1874.  
  1875. 3.62. ps
  1876.  
  1877. Display all current processes in the system. The fields are as follows:
  1878.  
  1879. PID - Process ID (the address of the process descriptor).
  1880.  
  1881. SP - The current value of the process stack pointer.
  1882.  
  1883. stksize - The size of the stack allocated to the process.
  1884.  
  1885. maxstk - The apparent peak stack utilization of this process. This is done in
  1886. a somewhat heuristic fashion, so the numbers should be treated as approxi-
  1887. mate. If this number reaches or exceeds the stksize figure, the system is
  1888. almost certain to crash; the nos.exe program should be recompiled to give the
  1889. process a larger allocation when it is started.
  1890.  
  1891. event - The event this task is waiting for, if it is not runnable.
  1892.  
  1893. fl - Process status flags. There are three: I (Interrupts enabled), W (Wait-
  1894. ing for event) and S (suspended). The I flag is set whenever a task has exe-
  1895. cuted a pwait() call (wait for event) without first disabling hardware inter-
  1896. rupts. Only tasks that wait for hardware interrupt events will turn off this
  1897. flag; this is done to avoid critical sections and missed interrupts. The W
  1898. flag indicates that the process is waiting for an event; the event column
  1899. will be non-blank. Note that although there may be several runnable processes
  1900. at any time (shown in the ps listing as those without the W flag and with
  1901. blank event fields) only one process is actually running at any one instant
  1902. (The Refrigerator Light Effect says that the ps command is always the one
  1903. running when this display is generated.)
  1904.  
  1905. 3.63. pwd [<dirname>]
  1906.  
  1907. An alias for the cd command.
  1908.  
  1909. 3.64. rarp <subcommand>
  1910.  
  1911. This uses the reverse address resolution protocol.
  1912.  
  1913. 3.64.1. rarp query <iface> <callsign>
  1914.  
  1915. This starts a reverse resolution request via iface to find the IP address for
  1916. callsign. It counts down for 10 seconds before giving up listening for an
  1917. answer.
  1918.  
  1919. 3.65. record [off | <filename>]
  1920.  
  1921. Append to filename all data received on the current session.  Data sent on
  1922. the current session is also written into the file except for Telnet sessions
  1923. in remote echo mode. The command record off stops recording and closes the
  1924. file.
  1925.  
  1926. 3.66. remote [-p <port>] [-k <key>] [-a <kickaddr>] <hostid> exit | reset |
  1927. kick
  1928.  
  1929. Send a UDP packet to the specified host commanding it to exit the Nos pro-
  1930. gram, reset the processor, or force a retransmission on TCP connections. For
  1931. this command to be accepted, the remote system must be running the remote
  1932. server and the port number specified in the remote command must match the
  1933. port number given when the server was started on the remote system.  If the
  1934. port numbers do not match, or if the remote server is not running on the tar-
  1935. get system, the command packet is ignored. Even if the command is accepted
  1936. there is no acknowledgement.
  1937.  
  1938. The kick command forces a retransmission timeout on all TCP connections that
  1939. the remote node may have with the local node. If the -a option is used, con-
  1940. nections to the specified host are kicked instead. No key is required for the
  1941. kick subcommand.
  1942.  
  1943. The exit and reset subcommands are mainly useful for restarting the nos pro-
  1944. gram on a remote unattended system after the configuration file has been
  1945. updated. The remote system should invoke the Nos program automatically upon
  1946. booting, preferably in an infinite loop. For example, under MS-DOS the boot
  1947. disk should contain the following in autoexec.bat:
  1948.  
  1949.  :loop
  1950.  nos
  1951.  goto :loop
  1952.  
  1953.  
  1954.  
  1955. 3.66.1. remote -s <key>
  1956.  
  1957. The exit and reset subcommands of remote require a password. The password is
  1958. set on a given system with the -s option, and it is specified in a command to
  1959. a remote system with the -k option. If no password is set with the -s option,
  1960. then the exit and reset subcommands are disabled.
  1961.  
  1962. Note that remote is an experimental feature in NOS; it is not yet supported
  1963. by any other TCP/IP implementation.
  1964.  
  1965. 3.67. rename <oldfilename> <newfilename>
  1966.  
  1967. Rename oldfilename to newfilename.
  1968.  
  1969. 3.68. reset [<session>]
  1970.  
  1971. Reset the specified session; if no argument is given, reset the current ses-
  1972. sion.  This command should be used with caution since it does not reliably
  1973. inform the remote end that the connection no longer exists. (In TCP a reset
  1974. (RST) message will be automatically generated should the remote TCP send any-
  1975. thing after a local reset has been done. In AX.25 the DM message performs a
  1976. similar role.  Both are used to get rid of a lingering half-open connection
  1977. after a remote system has crashed.)
  1978.  
  1979. 3.69. rip <subcommand>
  1980.  
  1981. These commands are used for the RIP service.
  1982.  
  1983. 3.69.1. rip accept <gateway>
  1984.  
  1985. Remove the specified gateway from the RIP filter table, allowing future
  1986. broadcasts from that gateway to be accepted.
  1987.  
  1988. 3.69.2. rip add <hostid> <seconds> [<flags>]
  1989.  
  1990. Add an entry to the RIP broadcast table. The IP routing table will be sent to
  1991. hostid every interval of seconds. If flags is specified as 1, then "split
  1992. horizon" processing will be performed for this destination. That is, any IP
  1993. routing table entries pointing to the interface that will be used to send
  1994. this update will be removed from the update. If split horizon processing is
  1995. not specified, then all routing table entries except those marked "private"
  1996. will be sent in each update. (Private entries are never sent in RIP pack-
  1997. ets).
  1998.  
  1999. Triggered updates are always done. That is, any change in the routing table
  2000. that causes a previously reachable destination to become unreachable will
  2001. trigger an update that advertises the destination with metric 15, defined to
  2002. mean "infinity".
  2003.  
  2004. Note that for RIP packets to be sent properly to a broadcast address, there
  2005. must exist correct IP routing and ARP table entries that will first steer the
  2006. broadcast to the correct interface and then place the correct link-level
  2007. broadcast address in the link-level destination field. If a standard IP
  2008. broadcast address convention is used (eg. 128.96.0.0 or 128.96.255.255) then
  2009. chances are you already have the necessary IP routing table entry, but
  2010. unusual subnet or cluster-addressed networks may require special attention.
  2011. However, an arp add command will be required to translate this address to the
  2012. appropriate link level broadcast address. For example,
  2013.  
  2014. arp add 128.96.0.0 ethernet ff:ff:ff:ff:ff:ff
  2015.  
  2016. for an Ethernet network (ip address is a sample only!!!), and
  2017.  
  2018. arp add 44.255.255.255 ax25 qst-0
  2019.  
  2020. for an AX25 packet radio channel. (If multiple AX25 interfaces, make a unique
  2021. address for each interface.)
  2022.  
  2023. 3.69.3. rip drop <dest>
  2024.  
  2025. Remove an entry from the RIP broadcast table.
  2026.  
  2027. 3.69.4. rip merge [on | off]
  2028.  
  2029. This flag controls an experimental feature for consolidating redundant
  2030. entries in the IP routing table. When rip merging is enabled, the table is
  2031. scanned after processing each RIP update. An entry is considered redundant if
  2032. the target(s) it covers would be routed identically by a less "specific"
  2033. entry already in the table. That is, the target address(es) specified by the
  2034. entry in question must also match the target addresses of the less specific
  2035. entry and the two entries must have the same interface and gateway fields.
  2036. For example, if the routing table contains
  2037.  
  2038.  
  2039. Dest  Len Interface Gateway  Metric P Timer Use
  2040. 1.2.3.4  32 ethernet0 128.96.1.2  1  0 0  0
  2041. 1.2.3   24 ethernet0 128.96.1.2  1  0 0  0
  2042.  
  2043.  
  2044. then the first entry would be deleted as redundant since packets sent to
  2045. 1.2.3.4 will still be routed correctly by the second entry. Note that the
  2046. relative metrics of the entries are ignored.
  2047.  
  2048. 3.69.5. rip refuse <gateway>
  2049.  
  2050. Refuse to accept RIP updates from the specified gateway by adding the gateway
  2051. to the RIP filter table. It may be later removed with the rip accept command.
  2052.  
  2053. 3.69.6. rip request <gateway>
  2054.  
  2055. Send a RIP Request packet to the specified gateway, causing it to reply with
  2056. a RIP Response packet containing its routing table.
  2057.  
  2058. 3.69.7. rip status
  2059.  
  2060. Display RIP status, including a count of the number of packets sent and
  2061. received, the number of requests and responses, the number of unknown RIP
  2062. packet types, and the number of refused RIP updates from hosts in the filter
  2063. table. A list of the addresses and intervals to which periodic RIP updates
  2064. are being sent is also shown, along with the contents of the filter table.
  2065.  
  2066. 3.69.8. rip trace [0 | 1 | 2]
  2067.  
  2068. This variable controls the tracing of incoming and outgoing RIP packets.
  2069. Setting it to 0 disables all RIP tracing. A value of 1 causes changes in the
  2070. routing table to be displayed, while packets that cause no changes cause no
  2071. output. Setting the variable to 2 produces maximum output, including tracing
  2072. of RIP packets that cause no change in the routing table.
  2073.  
  2074. 3.69.9. rip ttl <seconds>
  2075.  
  2076. Displays or sets the time to live timer to seconds. Normal timeout value is
  2077. 240 seconds. This is not the ttl in a rip broadcast (16 = infinite). Set
  2078. this timer before starting rip. Change this timer only in cooperation with
  2079. your surrounding nodes. Default is 240 seconds.
  2080.  
  2081. 3.70. rlogin host
  2082.  
  2083. Sets up an rlogin session via port 511 to an *NIX compatible station. Defaut
  2084. terminal is an ansi (as defined with the fkeys) compatible terminal. Default
  2085. user name is guest. (Redefine with set USER= environement variable).
  2086.  
  2087. 3.71. rmdir <dirname>
  2088.  
  2089. Remove a sub-directory from the current working directory.
  2090.  
  2091. 3.72. route
  2092.  
  2093. With no arguments, route displays the IP routing table.
  2094.  
  2095. 3.72.1. route add <desthostid>[/bits] | default <iface> [<gatewayhostid> |
  2096. direct [<metric>]]
  2097.  
  2098. This command adds an entry to the routing table. It requires at least two
  2099. more arguments, the hostid of the target destination and the name of the
  2100. interface to which its packets should be sent. If the destination is not
  2101. local, the gateway's hostid should also be specified. (If the interface is a
  2102. point-to-point link, then gatewayhostid may be omitted even if the target is
  2103. non-local because this field is only used to determine the gateway's link
  2104. level address, if any.  If the destination  is  directly  reachable,
  2105. gatewayhostid is also unnecessary since the destination address is used to
  2106. determine the interface link address). If rspf is used and the system is a
  2107. switch / router to multiple routes the keyword direct can be used i.s.o a
  2108. gatewayhostid to set the metric higher as the default 1. This way routes
  2109. advertized by other rspf stations can be cheaper and get selected. If direct
  2110. is given but metric not, an new algoritm is used to set the metric dependent
  2111. on the number of subnet mask bits.
  2112.  
  2113. The optional /bits suffix to the destination host id specifies how many
  2114. leading bits in the host id are to be considered significant in the routing
  2115. comparisons. If not specified, 32 bits (i.e., full significance) is assumed.
  2116. With this option, a single routing table entry may refer to many hosts all
  2117. sharing a common bit string prefix in their IP addresses. For example, ARPA
  2118. Class A, B and C networks would use suffixes of /8, /16 and /24 respectively;
  2119. the command
  2120.  
  2121. route add 44/8 sl0 44.64.0.2
  2122.  
  2123.  
  2124. causes any IP addresses beginning with "44" in the first 8 bits to be routed
  2125. to 44.64.0.2; the remaining 24 bits are "don't-cares".
  2126.  
  2127. When an IP address to be routed matches more than one entry in the routing
  2128. table, the entry with largest bits parameter (i.e., the "best" match) is
  2129. used. This allows individual hosts or blocks of hosts to be exceptions to a
  2130. more general rule for a larger block of hosts.
  2131.  
  2132. The special destination default is used to route datagrams to addresses not
  2133. matched by any other entries in the routing table; it is equivalent to speci-
  2134. fying a /bits suffix of /0 to any destination hostid.  Care must be taken
  2135. with default entries since two nodes with default entries pointing at each
  2136. other will route packets to unknown addresses back and forth in a loop until
  2137. their  time-to-live (TTL) fields expire.  (Routing loops for specific
  2138. addresses can also be created, but this is less likely to occur acciden-
  2139. tally).
  2140.  
  2141. There are two build in interfaces: loopback and encap.  Loopback is for
  2142. internal purposes only. The encap is an IP encapsulator interface. This is
  2143. used to encapsulate a complete IP datagram into a IP datagram so that it gets
  2144. "piggy-backed". It is often used to carry ampr.org datagrams (net44) over the
  2145. Internet. Note that the Internet is fully connected and that ampr.org is (at
  2146. least) very loose.  This way two sites can interchange net44 datagrams to
  2147. each other. Some extra notes: A Internet gateway has 2 IP addresses: one on
  2148. ampr.org and one on the Internet. You should make sure that the interface
  2149. connected to the Internet has the ifconfig ipaddr set correctly. Note: This
  2150. previously only worked as gateway for other stations. There was some guessing
  2151. done in picking an IP address when encap is used localy. The guessing takes
  2152. the worst guess. (always wrong with a 2.7 Murphy factor) The code now uses
  2153. the local IP address as source when the route starts at the local station. If
  2154. this is not what you want, you can overrule this by setting the IP address of
  2155. the psuedo encap interface to what you want it to be.
  2156.  
  2157. Some extra notes on encap: I have 3 systems on an ethernet with network
  2158. 129.179.122.128/25. In the office I have another net linked to the Internet.
  2159. The addresses there are in the 129.179.122.0/25 range. Now i have a radio
  2160. link with 44.137.0.2 and 44.137.1.2 on respective sites. On the 44.137.0.2
  2161. system i have route add 44.0.0.0/8 encap 44.137.1.1 99. On a next system on
  2162. my local ethernet i have 44.137.0.1 / 129.179.122.129. To get from that sys-
  2163. tem to say 44.62.0.1 i have to add an encap to my local gateway with route
  2164. add  44.0.0.0/8  encap  129.179.122.130. A  route  add  default ec0
  2165. 129.179.122.130 gives me access to the Internet. Otherwise it will lookup
  2166. the address for the interface to be used to reach 129.179.122.130 and will
  2167. use 129.179.122.129. Now 44.62.0.1 will NEVER know where it came from. So
  2168. adding the encap on the second system solves the problem.
  2169.  
  2170. Here are some examples of the route command:
  2171.  
  2172. # Route datagrams to IP address 44.0.0.3 to SLIP line #0.
  2173. # No gateway is needed because SLIP is point-to point.
  2174. route add 44.0.0.3 sl0
  2175.  
  2176. # Route all default traffic to the gateway on the local Ethernet
  2177. # with IP address 44.0.0.1
  2178. route add default ec0 44.0.0.1
  2179.  
  2180. # The local Ethernet has an ARPA Class-C address assignment;
  2181. # route all IP addresses beginning with 192.4.8 to it
  2182. route add 192.4.8/24 ec0
  2183.  
  2184. # The station with IP address 44.0.0.10 is on the local AX.25 channel
  2185. route add 44.0.0.10 ax0
  2186.  
  2187. # An encapsulation link to 192.4.8.12 where the subnet 44.64.0.0 is
  2188. accessible. The internet does not know where we are but we just use them
  2189. with what they know:
  2190. route add 44.64.0.0/16 encap 192.4.8.12 4
  2191.  
  2192.  
  2193.  
  2194. 3.72.2. route addprivate <dest hostid>[/bits] | default <iface> [<gateway
  2195. hostid> [<metric>]]
  2196.  
  2197. This command is identical to route add except that it also marks the new
  2198. entry as private; it will never be included in outgoing RIP updates.
  2199.  
  2200. 3.72.3. route drop <dest hostid>
  2201.  
  2202. route drop deletes an entry from the table. If a packet arrives for the
  2203. deleted address and a default route is in effect, it will be used.
  2204.  
  2205. 3.73. rspf <subcmd>
  2206.  
  2207. RSPF is the Radio Shortest Path First protocol. Each station listens for RRH
  2208. (Router to Router Hello) messages. When such a RRH message is received, Nos
  2209. will figure out if the link is bi-directional by pinging the other station.
  2210. The protocol is described in the RSPF 2.1 specification.
  2211.  
  2212. 3.73.1. rspf interface <interface> <quality> <horizon>
  2213.  
  2214. <interface> is the required interface rspf should use. quality is from 1 to
  2215. 127 horizon is between 1 to 255 End nodes should have the quality set to 1.
  2216. Immediate nodes normaly set the quality to 8. The normaly used value for hor-
  2217. izon is 32.
  2218.  
  2219. 3.73.2. rspf mode [vc | datagram | none]
  2220.  
  2221. Without arguments, displays the preferred mode for RSPF. Modes are VC (Vir-
  2222. tual Cirquit) and Datagram. none resets the preferred mode.
  2223.  
  2224. 3.73.3. rspf rrhtimer [seconds]
  2225.  
  2226. Without arguments, displays the rrh timer value.
  2227.  
  2228. 3.73.4. rspf suspecttimer [seconds]
  2229.  
  2230. Without arguments, displays the suspect timer value.
  2231.  
  2232. 3.73.5. rspf timer [seconds]
  2233.  
  2234. Without arguments, displays the update timer value.
  2235.  
  2236. To activate RSPF, do the following. Set the broadcast address for the desti-
  2237. nation interface, example ax0.
  2238.  ifconfig ax0 broadcast 44.255.255.255
  2239.  
  2240. This automatically creates a routing entry for 44.255.255.255 in the routing
  2241. table. If intend to use RSPF on more than one interface, those interfaces
  2242. must each have different broadcast adresses. Else the routing entries will be
  2243. overwriten by the next definition.
  2244.  
  2245. Configure ax0 as an RSPF interface with horizon 32 and a quality of 1 (hops).
  2246. This is typical for an end node. replace the 1 with an 8 for immediate nodes.
  2247.  rspf interface ax0 1 32
  2248.  Set the interval between RRH messages.
  2249.  rspf rrhtimer 900
  2250.  Define how long it takes until an idle link is suspected to be bad.
  2251.  rspf suspecttimer 2000
  2252.  Set the interval between routing updates.
  2253.  rspf timer 900
  2254.  
  2255. 3.74. sccstat
  2256.  
  2257. Display the defined PE1CHL scc driver statistics.
  2258.  
  2259. 3.75. session [[<session>] [flowmode [on | off]]]
  2260.  
  2261. Without arguments, displays the list of current sessions, including session
  2262. number, remote TCP or AX.25 address and the address of the TCP or AX.25 con-
  2263. trol block. An asterisk (*) is shown next to the current that session.
  2264. Entering a session number as an argument to the session command will put you
  2265. in converse mode with that session. If the Telnet session; entering a blank
  2266. line at this point puts you in converse mode with server is enabled, the user
  2267. is notified of an incoming request and a session number is automatically
  2268. assigned. The user may then select the session normally to converse with the
  2269. remote user as though the session had been locally initiated.  Adding the
  2270. flowmode displays or enables / disables setting of *more* handling for that
  2271. session. This is handy for example by long directory listings comming from an
  2272. ftp session. Escaping to command mode before issuing the dir command and
  2273. entering "session # flowmode on" gives a page at a time to look at. At any
  2274. time you can escape out again and switch flowmode off.
  2275.  
  2276. 3.76. shell
  2277.  
  2278. Suspends Nos and executes a sub-shell ("command processor" under MS-DOS).
  2279. When the sub-shell exits, Nos resumes (under MS-DOS, enter the exit command).
  2280. Note: see the COMSPEC environement variable.  Background activity (FTP
  2281. servers, etc) is also suspended while the subshell executes. Note that this
  2282. will fail unless there is sufficient unused memory for the sub-shell and
  2283. whatever command the user tries to run.
  2284.  
  2285. 3.77. smtp <subcommand>
  2286.  
  2287. These commands are used for the Simple Message Transport Protocol service
  2288. (that is, mail).
  2289.  
  2290. 3.77.1. smtp batch [yes | no]
  2291.  
  2292. If set smtp will batch the commands into one frame. When off only one command
  2293. is send and a response is waited for. Some old and flaky smtp servers cannot
  2294. handle more than one command at a time. Nos can handle multiple. If you are
  2295. not hindered by an old smpt server, setting batch reduces bandwith.
  2296.  
  2297. 3.77.2. smtp gateway [<hostid>]
  2298.  
  2299. Displays or sets the host to be used as a "smart" mail relay. Any mail sent
  2300. to a host not in the host table will instead be sent to the gateway for for-
  2301. warding.
  2302.  
  2303. 3.77.3. smtp kick
  2304.  
  2305. Run through the outgoing mail queue and attempt to deliver any pending mail.
  2306. This command allows the user to "kick" the mail system manually. Normally,
  2307. this command is periodically invoked by a timer whenever Nos is running.
  2308.  
  2309. 3.77.4. smtp kill [<jobid>]
  2310.  
  2311. Kill the job and delete the message.
  2312.  
  2313. 3.77.5. smtp list
  2314.  
  2315. List the current jobs. A "L" means locked and in progress. It is wise to add
  2316. in autoexec.bat a "del /spool/mqueue/*.lck" command
  2317.  
  2318. 3.77.6. smtp maxclients [<count>]
  2319.  
  2320. Displays or sets the maximum number of simultaneous outgoing SMTP sessions
  2321. that will be allowed. The default is 10; reduce it if network congestion is a
  2322. problem.
  2323.  
  2324. 3.77.7. smtp mode [queue | route]
  2325.  
  2326. Sets the smtp delivery mode. If queue, all messages are left in /spool/rqueue
  2327. for external forwarding and handling. If route, messages are handled, if for
  2328. local, appended to a mailbox or if remote, they are forwarded.
  2329.  
  2330. 3.77.8. smtp mxlookup [yes | no]
  2331.  
  2332. Displays or sets a flag enabling or disabling MX record lookups. This can be
  2333. enabled if a domain server is available in the near distance (reachable). It
  2334. should be disabled (default) if no domain server is in reach to satisfy the
  2335. MX query. Note that MX record handling is very limited in NOS. If an answer
  2336. from a domain name server comes in it is taken to be the destination.
  2337.  
  2338. 3.77.9. smtp quiet [yes | no]
  2339.  
  2340. Enables or disables the message that new mail arrived at this system.
  2341.  
  2342. 3.77.10. smtp timer [<seconds>]
  2343.  
  2344. Displays or sets the interval, between scans of the outbound mail queue. For
  2345. example, smtp timer 600 will cause the system to check for outgoing mail
  2346. every 10 minutes and attempt to deliver anything it finds, subject of course
  2347. to the smtp maxclients limit. Setting a value of zero disables queue scanning
  2348. altogether, note that this is the default! This value is recommended for
  2349. stand alone IP gateways that never handle mail, since it saves wear and tear
  2350. on the floppy disk drive.
  2351.  
  2352. 3.77.11. smtp trace [<value>]
  2353.  
  2354. Displays or sets the trace flag in the SMTP client, allowing you to watch
  2355. SMTP's conversations as it delivers mail. Zero (the default) disables trac-
  2356. ing.
  2357.  
  2358. 3.78. socket [[<socket #>] [flowmode [yes | no]]]
  2359.  
  2360. Without an argument, displays all active sockets, giving their index and
  2361. type, the address of the associated protocol control block and the and owner
  2362. process ID and name. If the index to an active socket is supplied, the status
  2363. display for the appropriate protocol is called. For example, if the socket
  2364. refers to a TCP connection, the display will be that given by the tcp status
  2365. command with the protocol control block address. Flow mode can be set or
  2366. cleared on a session if so wanted. This comes in handy when a large directory
  2367. is displayed by ftp. Escaping from the session just before entering dir and
  2368. setting flowmode and returning to that session, gives a screen full at a time
  2369. with -more- processing.
  2370.  
  2371. 3.79. source <filename>
  2372.  
  2373. Read subsequent commands from filename until EOF. Then resume reading com-
  2374. mands from the previous stream. This can be used to keep routing statements
  2375. in a separate file, wich can be read at some point in autoexec.nos.
  2376.  
  2377. 3.80. start ax25 | discard | echo | finger | ftp | netrom | remote | pop |
  2378. rip | smtp | telnet | tip | ttylink
  2379.  
  2380. Start the specified Internet server, allowing remote connection requests.
  2381.  
  2382. 3.81. status
  2383.  
  2384. Displays load information on Nos. When started, how long running, open files
  2385. etc.
  2386.  
  2387. 3.82. stop ax25 | discard | echo | finger | ftp | netrom | remote | pop |
  2388. rip | smtp | telnet | tip | ttylink
  2389.  
  2390. Stop the specified Internet server, rejecting any further remote connect
  2391. requests. Existing connections are allowed to complete normally.
  2392.  
  2393. 3.83. tail <filename>
  2394.  
  2395. This does a more on the last couple of lines of file filename.
  2396.  
  2397. 3.84. tcp <subcommand>
  2398.  
  2399. These commands are used for the Transmission Control Protocol service.
  2400.  
  2401. 3.84.1. tcp irtt [<milliseconds>]
  2402.  
  2403. Display or set the initial round trip time estimate, in milliseconds, to be
  2404. used for new TCP connections until they can measure and adapt to the actual
  2405. value. The default is 5000 milliseconds (5 seconds). Increasing this when
  2406. operating over slow channels will avoid the flurry of retransmissions that
  2407. would otherwise occur as the smoothed estimate settles down at the correct
  2408. value. Note that this command should be given before servers are started in
  2409. order for it to have effect on incoming connections.
  2410.  
  2411. TCP also keeps a cache of measured round trip times and mean deviations
  2412. (MDEV) for current and recent destinations. Whenever a new TCP connection is
  2413. opened, the system first looks in this cache. If the destination is found,
  2414. the cached IRTT and MDEV values are used. If not, the default IRTT value men-
  2415. tioned above is used, along with a MDEV of 0.  This feature is fully
  2416. automatic, and it can improve performance greatly when a series of connec-
  2417. tions are opened and closed to a given destination (eg. a series of FTP file
  2418. transfers or directory listings).
  2419.  
  2420. 3.84.2. tcp kick <tcbaddr>
  2421.  
  2422. If there is unacknowledged data on the send queue of the specified TCB, this
  2423. command forces an immediate retransmission.
  2424.  
  2425. 3.84.3. tcp mss [<size>]
  2426.  
  2427. Display or set the TCP Maximum Segment Size in bytes that will be sent on all
  2428. outgoing TCP connect request (SYN segments). This tells the remote end the
  2429. size of the largest segment (packet) it may send. Changing MSS affects only
  2430. future connections; existing connections are unaffected.
  2431.  
  2432. 3.84.4. tcp reset <tcbaddr>
  2433.  
  2434. Deletes the TCP control block at the specified address.
  2435.  
  2436. 3.84.5. tcp rtt <tcbaddr> <milliseconds>
  2437.  
  2438. Replaces the automatically computed round trip time in the specified TCB with
  2439. the rtt in milliseconds. This command is useful to speed up recovery from a
  2440. series of lost packets since it provides a manual bypass around the normal
  2441. backoff retransmission timing mechanisms.
  2442.  
  2443. 3.84.6. tcp status [<tcbaddr>]
  2444.  
  2445. Without arguments, displays several TCP-level statistics, plus a summary of
  2446. all existing TCP connections, including TCB address, send and receive queue
  2447. sizes, local and remote sockets, and connection state. If tcbaddr is speci-
  2448. fied, a more detailed dump of the specified TCB is generated, including send
  2449. and receive sequence numbers and timer information.
  2450.  
  2451. 3.84.7. tcp syndata [yes | no]
  2452.  
  2453. Display or set the tcp syn + data pigybacking flag. Some tcp systems cannot
  2454. handle syn + data together.
  2455.  
  2456. 3.84.8. tcp timertype [linear | exponential]
  2457.  
  2458. Displays the current setting or sets the timer type backoff algoritm.
  2459.  
  2460. 3.84.9. tcp trace [yes | no]
  2461.  
  2462. Display or set the tcp trace flag on or off.
  2463.  
  2464. 3.84.10. tcp window [<size>]
  2465.  
  2466. Displays or sets the default receive window size in bytes to be used by TCP
  2467. when creating new connections. Existing connections are unaffected.
  2468.  
  2469. 3.85. telnet <hostid> [<port>]
  2470.  
  2471. Creates a Telnet session to the specified host and enters converse mode.  If
  2472. <port> is given that number is used. Default port is 23.
  2473.  
  2474. 3.86. test
  2475.  
  2476. Start an internal test for an overflow problem that might appear in the clock
  2477. function of some AT computers.
  2478.  
  2479. 3.87. thirh-party [yes | no]
  2480.  
  2481. This is a restriction setter for some countries where stations are not
  2482. allowed to handle thirth party mail traffic.
  2483.  
  2484. 3.88. ttylink <hostid> [<port>]
  2485.  
  2486. Creates a Telnet session to the specified host and enters converse mode.  If
  2487. <port> is given that number is used. Default port is 87. This uses a split
  2488. screen interface for easy conversation.
  2489.  
  2490. 3.89. tip <iface>
  2491.  
  2492. Creates a tip session that connects to the specified interface in "dumb ter-
  2493. minal" mode.  The interface must have already been attached with the attach
  2494. command. Any packet traffic (IP datagrams, etc) routed to the interface
  2495. while this session exists will be discarded. To close a tip session, use the
  2496. reset command. It will then revert to normal slip, nrs or kiss mode opera-
  2497. tion.
  2498.  
  2499. This feature is primarily useful for manually establishing SLIP connections.
  2500. At present, only the built-in "com" ports can be used with this command.
  2501.  
  2502. 3.90. trace [<iface> [off | <btio> [<tracefile>]]]
  2503.  
  2504. Controls packet tracing by the interface drivers. Specific bits enable trac-
  2505. ing of the various interfaces and the amount of information produced. Trac-
  2506. ing is controlled on a per-interface basis; without arguments, trace gives a
  2507. list of all defined interfaces and their tracing status. Output can be lim-
  2508. ited to a single interface by specifying it, and the control flags can be
  2509. change by specifying them as well. The flags are given as a hexadecimal
  2510. number which is interpreted as follows:
  2511.  
  2512.  O - Enable tracing of output packets if 1, disable if 0
  2513.  I - Enable tracing of input packets if 1, disable if 0
  2514.  T - Controls type of tracing:
  2515.  0 - Protocol headers are decoded, but data is not displayed
  2516.  1 - Protocol headers are decoded, and data (but not the
  2517.   headers themselves) are displayed as ASCII characters,
  2518.   64 characters/line. Unprintable characters are displayed
  2519.   as periods.
  2520.  2 - Protocol headers are decoded, and the entire packet
  2521.   (headers AND data) is also displayed in hexadecimal
  2522.   and ASCII, 16 characters per line.
  2523.  B - Broadcast filter flag. If set, only packets specifically addressed
  2524.  to this node will be traced; broadcast packets will not be displayed.
  2525.  
  2526. If tracefile is not specified, tracing will be to the console.
  2527.  
  2528. 3.91. udp status
  2529.  
  2530. 3.92. verbose [0 | 1 | 2 | 3]
  2531.  
  2532. Set or display the level of message output in file transfers.  Verbose 0
  2533. gives the least output, and verbose 3 the most, as follows:
  2534.  
  2535. 0 - Display error messages only.
  2536. 1 - Display error messages plus a one-line summary after each transfer
  2537.  giving the name of the file, its size, and the transfer time and rate.
  2538. 2 - Display error and summary messages plus the progress messages generated
  2539.  by the remote FTP server. (This setting is the default.)
  2540. 3 - Display all messages. In addition, a "hash mark" (#) is displayed for
  2541.  every 1,000 bytes sent or received.
  2542.  
  2543. If a command is sent to the remote server because it is not recognized
  2544. locally, the response is always displayed, regardless of the setting of ver-
  2545. bose. This is necessary for commands like pwd (display working directory),
  2546. which would otherwise produce no message at all if verbose were set to 0 or
  2547. 1.
  2548.  
  2549. Displays the status of all UDP receive queues.
  2550.  
  2551. 3.93. upload [<filename>]
  2552.  
  2553. Opens filename and sends it on the current session as though it were typed on
  2554. the terminal.
  2555.  
  2556. 3.94. watch
  2557.  
  2558. Displays the current software stopwatch values, with min and max readings for
  2559. each. This facility allows a programmer to measure the execution time of
  2560. critical sections of code with microsecond resolution. This command is sup-
  2561. ported only on the IBM PC, and the meaning of each stopwatch value depends on
  2562. where the calls have been inserted for test purposes; the distribution copy
  2563. of nos usually has no stopwatch calls.
  2564.  
  2565. 3.95. watchdog [on | off]
  2566.  
  2567. Enables or disables the watchdog timer. If internal operations cease for 300
  2568. second and watchdog is enabled, a system reset is performed. See the remote
  2569. command for setting up autoexec.bat.
  2570.  
  2571. 3.96. ?
  2572.  
  2573. Same as the help command.
  2574.  
  2575. 4. Attach Commands
  2576.  
  2577. This chapter details the attach commands for the various hardware interface
  2578. drivers. Not all of these drivers may be configured into every Nos binary; a
  2579. list of the available types may be obtained by entering the command attach ?.
  2580.  
  2581. Some parameters are accepted by several drivers. They are:
  2582.  
  2583. 4.0.1. <bufsize>
  2584.  
  2585. For asynchronous devices (eg. COM ports operating in SLIP or NRS mode) this
  2586. parameter specifies the size of the receiver's ring buffer. It should be
  2587. large enough to hold incoming data at full line speed for the longest time
  2588. that the system may be busy in MS-DOS or the BIOS doing a slow I/O operation
  2589. (eg. to a floppy disk). A kilobyte is usually more than sufficient.
  2590.  
  2591. For synchronous devices (eg. the scc, hs, pc100, hapn and drsi interfaces
  2592. operating in HDLC mode), the bufsize parameter specifies the largest packet
  2593. that may be received on the interface. This should be set by mutual agree-
  2594. ment among stations sharing the channel. For standard AX.25 with a maximum
  2595. I-frame data size of 256 bytes, a value of 325 should provide an adequate
  2596. safety margin. On higher speed channels (eg. 56kb/s) larger values (eg. 2K
  2597. bytes) will provide much better performance and allow full-sized Ethernet
  2598. packets to be carried without fragmentation.
  2599.  
  2600. 4.0.2. <ioaddr>
  2601.  
  2602. The base address of the interface's control registers, in hex.
  2603.  
  2604. 4.0.3. <vector>
  2605.  
  2606. The interface's hardware interrupt (IRQ) vector, in hex.
  2607.  
  2608. 4.0.4. <iface>
  2609.  
  2610. The name (an arbitrary character string) to be assigned to this interface. It
  2611. is used to refer to the interface in ifconfig and route commands and in trace
  2612. output.
  2613.  
  2614. 4.0.5. <mtu>
  2615.  
  2616. The Maximum Transmission Unit size, in bytes.  Datagrams larger than this
  2617. limit will be fragmented at the IP layer into smaller pieces. For AX.25 UI
  2618. frames, this limits the size of the information field. For AX.25 I frames,
  2619. however, the ax25 paclen parameter is also relevant. If the datagram or
  2620. fragment is still larger than paclen, it is also fragmented at the AX.25
  2621. level (as opposed to the IP level) before transmission. (See the ax25 paclen
  2622. command for further information).
  2623.  
  2624. 4.0.6. <speed>
  2625.  
  2626. The speed in bits per second (eg. 2400).
  2627.  
  2628. 4.1. attach 3c500 <ioaddr> <vector> arpa <iface> <qlen> <mtu> [<ipaddr>]
  2629.  
  2630. Attach a 3Com 3C501 Ethernet interface.  qlen is the maximum allowable
  2631. transmit queue length.  If the ipaddr parameter is not given, the value
  2632. associated with a prior ip address command will be used.
  2633.  
  2634. The use of this driver is not recommended; use the packet driver interface
  2635. with the loadable 3C501 packet driver instead.
  2636.  
  2637. 4.2. attach asy <ioaddr> <vector> ax25 | nrs | ppp | slip <iface> <bufsize>
  2638. <mtu> <speed> [<v>]
  2639.  
  2640. Attach a standard PC "com port" (asynchronous serial port), using the
  2641. National 8250 or 16550A chip. Standard values on the IBM PC and clones for
  2642. ioaddr and vector are 0x3f8 and 4 for COM1, and 0x2f8 and 3 for COM2. If the
  2643. port uses a 16550A chip, it will be detected automatically and the FIFOs
  2644. enabled.
  2645.  
  2646. 4.2.1. ax25
  2647.  
  2648. Similar to slip, except that an AX.25 header and a KISS TNC control header
  2649. are added to the front of the datagram before SLIP encoding. Either UI (con-
  2650. nectionless) or I (connection-oriented) AX.25 frames can be used; see the
  2651. mode command for details.
  2652.  
  2653. 4.2.2. nrs
  2654.  
  2655. Use the NET/ROM asynchronous framing technique for communication with a local
  2656. NET/ROM TNC.
  2657.  
  2658. 4.2.3. ppp
  2659.  
  2660. Point-to-Point-Protocol. Encapsulates datagrams in an HDLC-like frame. This
  2661. is a new Internet standard for point-to-point communication, compatible with
  2662. CCITT standards.
  2663.  
  2664. 4.2.4. slip
  2665.  
  2666. Serial Line Internet Protocol. Encapsulates IP datagrams directly in SLIP
  2667. frames without a link header. This is for operation on point-to-point lines
  2668. and is compatible with 4.2BSD UNIX SLIP.
  2669.  
  2670. 4.2.5. <crv>
  2671.  
  2672. The optional flags are a string of the characters "v": v enables Van Jacob-
  2673. son TCP/IP Header Compression, and is valid only for SLIP.
  2674.  
  2675. 4.3. attach axip <iface> <mtu> <ipaddr> <callsign>
  2676.  
  2677. This creates a RFC1226 compatible AX.25 frame encapsulator for transmission
  2678. of AX.25 frames over the Internet. Iface will be the name of the interface,
  2679. ipaddr the address of the remote system and callsign the AX.25 callsign this
  2680. station is listening on for frames to digipeat. Note that each attached axip
  2681. interface should have a different callsign to listen to and this should also
  2682. be different from other callsign's used on this station.
  2683.  
  2684. 4.4. attach drsi <ioaddr> <vector> ax25 <iface> <bufsize> <mtu> <chaspeed>
  2685. <chbspeed>
  2686.  
  2687. N6TTO driver for the Digital Radio Systems PCPA 8530 card. Since there are
  2688. two channels on the board, two interfaces are attached. They will be named
  2689. iface with 'a' and 'b' appended. bufsize is the receiver buffer size in
  2690. bytes; it must be larger than the largest frame to be received. chaspeed
  2691. and chbspeed are the speeds, in bits/sec, for the A and B channels, respec-
  2692. tively.
  2693.  
  2694. 4.5. attach eagle <ioaddr> <vector> ax25 <iface> <bufsize> <mtu> <speed>
  2695.  
  2696. WA3CVG/NG6Q driver for the Eagle Computer card (Zilog 8530).
  2697.  
  2698. 4.6. attach hapn <ioaddr> <vector> ax25 <iface> <bufsize> <mtu> csma | full
  2699.  
  2700. KE3Z driver for the Hamilton Amateur Packet Network adapter (Intel 8273).
  2701. The csma | full parameter specifies whether the port should operate in car-
  2702. rier sense multiple access (CSMA) mode or in full duplex.
  2703.  
  2704. 4.7. attach hs <ioaddr> <vector> ax25 <iface> <bufsize> <mtu> <keyupdelay>
  2705. <p>
  2706.  
  2707. Attach a DRSI PCPA or Eagle Computer interface card using a special "high
  2708. speed" 8530 driver.  This driver uses busy-wait loops to send and receive
  2709. each byte instead of interrupts, making it usable with high speed modems
  2710. (such as the WA4DSY 56kb/s modem) on slow systems. This does have the side
  2711. effect of "freezing" the system whenever the modem transmitter or receiver is
  2712. active.  This driver can operate only in CSMA mode, and it is recommended
  2713. that no other interfaces requiring small interrupt latencies be attached to
  2714. the same machine.
  2715.  
  2716. The keyupdelay parameter specifies the transmitter keyup delay in byte time
  2717. intervals. The p value specifies the transmitter persistence value in the
  2718. range 1-255; the corresponding slot time is fixed at one hardware clock tick,
  2719. about 55 ms on the PC.
  2720.  
  2721. As with the other 8530 drivers, this driver actually attaches two interfaces,
  2722. one for each 8530 channel.
  2723.  
  2724. 4.8. attach packet <intvec> <iface> <txqlen> <mtu>
  2725.  
  2726. Driver for use with separate software "packet drivers" meeting the FTP
  2727. Software, Inc, Software Packet Driver specification. The driver must have
  2728. already been installed before the attach command is given. Packet drivers in
  2729. the Ethernet, ARCNET, SLIP, SLFP, and KISS/AX25 classes are supported.
  2730.  
  2731. intvec is the software interrupt vector used for communication to the packet
  2732. driver, and txqlen is the maximum number of packets that will be allowed on
  2733. the transmit queue.
  2734.  
  2735. 4.9. attach pc100 <ioaddr> <vector> ax25 <iface> <bufsize> <speed>
  2736.  
  2737. Driver for the PACCOMM PC-100 (Zilog 8530) card.  Only AX.25 operation is
  2738. supported.
  2739.  
  2740. 4.10. attach scc <devices> init <addr> <spacing> <Aoff> <Boff> <Dataoff>
  2741. <intack> <vec> [p | r]<clock> [<hdwe>] [<param>]
  2742.  
  2743. PE1CHL driver to initialize a generic SCC (8530) interface board prior to
  2744. actually attaching it. The parameters are as follows:
  2745.  
  2746. 4.10.1. <devices>
  2747.  
  2748. The number of SCC chips to support.
  2749.  
  2750. 4.10.2. <addr>
  2751.  
  2752. The base address of the first SCC chip (hex).
  2753.  
  2754. 4.10.3. <spacing>
  2755.  
  2756. The spacing between the SCC chip base addresses.
  2757.  
  2758. 4.10.4. <Aoff>
  2759.  
  2760. The offset from a chip's base address to its channel A control register.
  2761.  
  2762. 4.10.5. <Boff>
  2763.  
  2764. The offset from a chip's base address to its channel B control register.
  2765.  
  2766. 4.10.6. <Dataoff>
  2767.  
  2768. The offset from each channel's control register to its data register.
  2769.  
  2770. 4.10.7. <intack>
  2771.  
  2772. The address of the INTACK/Read Vector port. If none, specify 0 to read from
  2773. RR3A/RR2B.
  2774.  
  2775. 4.10.8. <vec>
  2776.  
  2777. The CPU interrupt vector for all connected SCCs.
  2778.  
  2779. 4.10.9. <clock>
  2780.  
  2781. The clock frequency (PCLK/RTxC) of all SCCs in hertz. Prefix with 'p' for
  2782. PCLK, 'r' for RTxC clock (for baudrate gen).
  2783.  
  2784. 4.10.10. <hdwe>
  2785.  
  2786. Optional hardware type. The following values are currently supported:  1 -
  2787. Eagle card, 2 - PACCOMM PC-100, 4 - PRIMUS-PC card (DG9BL), 8 - DRSI PCPA
  2788. card.
  2789.  
  2790. 4.10.11. <param>
  2791.  
  2792. Optional extra parameter. At present, this is used only with the PC-100 and
  2793. PRIMUS-PC cards to set the modem mode. The value 0x22 is used with the PC-100
  2794. and 0x2 is used with the PRIMUS-PC card.
  2795.  
  2796. The attach scc ... init command must be given before the interfaces are actu-
  2797. ally attached with the following command.
  2798.  
  2799. 4.11. attach scc <chan> slip | kiss | nrs | ax25 <iface> <mtu> <speed> <buf-
  2800. size> [<call>]
  2801.  
  2802. Attach an initialized SCC port to the system. The parameters are as follows:
  2803.  
  2804. 4.11.1. <chan>
  2805.  
  2806. The SCC channel number to attach, 0 or 1 for the first chip's A or B port, 2
  2807. or 3 for the second chip's A or B port, etc.
  2808.  
  2809. 4.11.2. slip | kiss | nrs | ax25
  2810.  
  2811. The operating mode of the interface. slip, kiss and nrs all operate the port
  2812. hardware in asynchronous mode; slip is Internet-standard serial line IP mode,
  2813. kiss generates SLIP frames containing KISS TNC commands and AX.25 packets and
  2814. nrs uses NET/ROM local serial link framing conventions to carry NET/ROM pack-
  2815. ets. Selecting ax25 mode puts the interface into synchronous HDLC mode that
  2816. is suitable for direct connection to a half duplex radio modem.
  2817.  
  2818. 4.11.3. <speed>
  2819.  
  2820. The interface speed in bits per second (eg. 1200). Prefix with 'd' when an
  2821. external divider is available to generate the TX clock. When the clock source
  2822. is PCLK, this can be a /32 divider between TRxC and RTxC. When the clock is
  2823. at RTxC, the TX rate must be supplied at TRxC. This is needed only for full
  2824. duplex synchronous operation. When this arg is given as 'ext', the transmit
  2825. and receive clocks are external, and the internal baud rate generator (BRG)
  2826. and digital phase locked loop (DPLL) are not used.
  2827.  
  2828. 4.12. Attach Examples
  2829.  
  2830. Here are some examples of the attach command:
  2831.  
  2832. # Attach a 3Com Ethernet controller using the standard 3Com address and
  2833. # vector (i.e., as it comes out of the box) to use ARPA-standard encapsulation.
  2834. # The receive queue is limited to 5 packets, and outgoing packets larger
  2835. # than 1500 bytes will be fragmented
  2836. attach 3c500 0x300 3 arpa ec0 5 1500
  2837.  
  2838. # Attach the PC asynch card normally known as "com1" (the first controller)
  2839. # to operate in point-to-point slip mode at 9600 baud, calling it "sl0".
  2840. # A 1024 byte receiver ring buffer is allocated. Outgoing packets larger
  2841. # than 256 bytes are fragmented.
  2842. attach asy 0x3f8 4 slip sl0 1024 256 9600
  2843.  
  2844. # Attach the secondary PC asynch card ("com2") to operate in AX.25 mode
  2845. # with an MTU of 576 bytes at 9600 baud with a KISS TNC, calling it "ax0".
  2846. # By default, IP datagrams are sent in UI frames
  2847. attach asy 0x2f8 3 ax25 ax0 1024 576 9600
  2848.  
  2849. # Attach a axip wormhole
  2850. attach axip ai0 256 129.179.122.10 pa0gri-11
  2851. # on the other side of the wormhole
  2852. attach axip ai0 256 129.179.122.130 pa0gri-12
  2853. # Now assume 129.179.122.10 has a AX.25 interface with callsign pa0gri-10
  2854. # and 129.179.122.130 a interface with callsign pa0gri-8
  2855. # Now a AX.25 frame like:
  2856. # pe1chl->pa0gri-11->pa0gri-8->pe1dna [ data]
  2857. # Received by pa0gri-11, set the has-been-digipeated change the interface
  2858. # callsign with the one it realy came in from and ecapsulates it
  2859. # in a IP frame type 93 and ships it to 129.179.122.130
  2860. # pe1chl->pa0gri-10*->pa0gri-8->pe1dna [ data]
  2861. # Arived at 129.179.122.130 the next digi is searched for and found.
  2862. # The frame is changed into:
  2863. # pe1chl->pa0gri-10*->pa0gri-12*->pe1dna [ data]
  2864. # so that on the way back the frame will find the "right" interface.
  2865.  
  2866. # Attach the packet driver loaded at interrupt 0x7e
  2867. # The packet driver is for an Ethernet interface
  2868. attach packet 0x7e ethernet 8 1500
  2869.  
  2870.  
  2871. 5. FTP Subcommands
  2872.  
  2873. During converse mode with an FTP server, everything typed on the console is
  2874. first examined to see if it is a locally-known command. If not, the line is
  2875. passed intact to the remote server on the control channel. If it is one of
  2876. the following commands, however, it is executed locally. (Note that this gen-
  2877. erally involves other commands being sent to the remote server on the control
  2878. channel.)
  2879.  
  2880. 5.1. dir [<file> | <directory> [<local file>]]
  2881.  
  2882. Without arguments, dir requests that a full directory listing of the remote
  2883. server's current directory be sent to the terminal. If one argument is
  2884. given, this is passed along in the LIST command; this can be a specific file
  2885. or subdirectory that is meaningful to the remote file system. If two argu-
  2886. ments are given, the second is taken as the local file into which the direc-
  2887. tory listing should be put (instead of being sent to the console). The PORT
  2888. command is used before the LIST command is sent.
  2889.  
  2890. 5.2. get <remote file> [<local file>]
  2891.  
  2892. Asks the remote server to send the file specified in the first argument. The
  2893. second argument, if given, will be the name of the file on the local machine;
  2894. otherwise it will have the same name as on the remote machine. The PORT and
  2895. RETR commands are sent on the control channel.
  2896.  
  2897. 5.3. hash
  2898.  
  2899. A synonym for the verbose 3 command.
  2900.  
  2901. 5.4. ls [<file> | <directory> [<local file>]]
  2902.  
  2903. ls is identical to the dir command except that the "NLST" command is sent to
  2904. the server instead of the "LIST" command. This results in an abbreviated
  2905. directory listing, i.e., one showing only the file names themselves without
  2906. any other information.
  2907.  
  2908. 5.5. mget <file> [<file> ...]
  2909.  
  2910. Fetch a collection of files from the server. File names may include wild card
  2911. characters; they will be interpreted and expanded into a list of files by the
  2912. remote system using the NLST command. The files will have the same name on
  2913. the local system that they had on the server.
  2914.  
  2915. 5.6. mkdir <remote directory>
  2916.  
  2917. Creates a directory on the remote machine.
  2918.  
  2919. 5.7. mput <file> [<file> ...]
  2920.  
  2921. Send a collection of files to the server. File names may include wild card
  2922. characters; they will be expanded locally into a list of files to be sent.
  2923. The files will have the same name on the server as on the local system.
  2924.  
  2925. 5.8. put <local file> [<remote file>]
  2926.  
  2927. Asks the remote server to accept data, creating the file named in the first
  2928. argument. The second argument, if given, will be the name of the file on the
  2929. remote machine; otherwise it will have the same name as on the local machine.
  2930. The PORT and STOR commands are sent on the control channel.
  2931.  
  2932. 5.9. rmdir <remote directory>
  2933.  
  2934. Deletes a directory on the remote machine.
  2935.  
  2936. 5.10. type [a | i | l <bytesize>]
  2937.  
  2938. Tells both the local client and remote server the type of file that is to be
  2939. transferred.  The default, (wich can be changed with the ftype command) is
  2940. 'a', which means ASCII (i.e., a text file).  Type 'i' means image, i.e.,
  2941. binary.  In ASCII mode, files are sent as varying length lines of text in
  2942. ASCII separated by cr/lf sequences; in IMAGE mode, files are sent exactly as
  2943. they appear in the file system. ASCII mode should be used whenever transfer-
  2944. ring text between dissimilar systems (e.g., UNIX and MS-DOS) because of their
  2945. different end-of-line and/or end-of-file conventions. When exchanging text
  2946. files between machines of the same type, either mode will work but IMAGE mode
  2947. is usually faster. Naturally, when exchanging raw binary files (executables,
  2948. compressed archives, etc) IMAGE mode must be used. Type 'l' (logical byte
  2949. size) is used when exchanging binary files with remote servers having oddball
  2950. word sizes (e.g., DECSYSTEM-10s and 20s). Locally it works exactly like
  2951. IMAGE, except that it notifies the remote system how large the byte size is.
  2952. bytesize is typically 8. The type command sets the local transfer mode and
  2953. generates the TYPE command on the control channel.
  2954.  
  2955. 5.11. verbose [0 | 1 | 2 | 3]
  2956.  
  2957. Set or display the level of message output in file transfers.  Verbose 0
  2958. gives the least output, and verbose 3 the most, as follows:
  2959.  
  2960. 0 - Display error messages only.
  2961. 1 - Display error messages plus a one-line summary after each transfer
  2962.  giving the name of the file, its size, and the transfer time and rate.
  2963. 2 - Display error and summary messages plus the progress messages generated
  2964.  by the remote FTP server. (This setting is the default.)
  2965. 3 - Display all messages. In addition, a "hash mark" (#) is displayed for
  2966.  every 1,000 bytes sent or received.
  2967.  
  2968. If a command is sent to the remote server because it is not recognized
  2969. locally, the response is always displayed, regardless of the setting of ver-
  2970. bose. This is necessary for commands like pwd (display working directory),
  2971. which would otherwise produce no message at all if verbose were set to 0 or
  2972. 1.
  2973.  
  2974. 6. Dialer Subcommands
  2975.  
  2976. Each dialer command may (should) have a different dialer file.  The file
  2977. resides in the configuration directory, as specified in the Installation sec-
  2978. tion (see chapter 1). A typical dialer file might be:
  2979.  
  2980.  # Set the speed, and toggle DTR to ensure modem is in command mode.
  2981.  control down
  2982.  wait 3000
  2983.  speed 2400
  2984.  control up
  2985.  wait 3000
  2986.  # Dial, and wait for connection
  2987.  send "atdt555-12127"
  2988.  wait 45000 "CONNECT " speed
  2989.  wait 2000
  2990.  # PAD specific initialization
  2991.  send "7"
  2992.  wait 15000 "Terminal ="
  2993.  send "ppp7"
  2994.  wait 10 "70
  2995.  
  2996.  
  2997. 6.0.1. control down | up
  2998.  
  2999. Control asy interface. The down option drops DTR and RTS.  The up option
  3000. asserts DTR and RTS.
  3001.  
  3002. 6.0.2. send "string"
  3003.  
  3004. This dialer command will write the specified string to the interface.  The
  3005. string quote marks are required, and the string may not contain embedded con-
  3006. trol characters. However, the standard C string escape sequences are recog-
  3007. nized (\0 should not be used).
  3008.  
  3009. 6.0.3. speed [ 9600 | 4800 | 2400 | 1200 | 300 ]
  3010.  
  3011. This dialer command will set the speed of the interface to one of the avail-
  3012. able speeds.  If the speed is missing, the speed will be displayed in the
  3013. dialer session window.
  3014.  
  3015. 6.0.4. wait <milliseconds> [ "test string" ] [ speed ]
  3016.  
  3017. If only the time is specified, the dialer pauses for the desired number of
  3018. milliseconds.
  3019.  
  3020. Otherwise, the dialer reads until the test string is detected on the inter-
  3021. face.  If the string is not detected within the desired time, the autodialer
  3022. will reset. The string quote marks are required, and the string may not con-
  3023. tain embedded control characters.  However, the standard C string escape
  3024. sequences are recognized (\0 should not be used).
  3025.  
  3026. Finally, if the speed parameter is specified, the dialer will continue to
  3027. read characters until a non-digit is detected. The string read is converted
  3028. to an integer, and used to set the interface speed.  If the trailing non-
  3029. digit is not detected within the desired time, or the integer value is not a
  3030. valid speed, the autodialer will reset.
  3031.  
  3032. 7. Installation
  3033.  
  3034. Nos uses the following file and directory structure:
  3035.  
  3036.  ~/alias
  3037.  ~/autoexec.nos
  3038.  ~/dialer
  3039.  ~/domain.txt
  3040.  ~/ftpusers
  3041.  ~/net.rc
  3042.  ~/netron.sav
  3043.  ~/popusers
  3044.  ~/finger/
  3045.  ~/spool/areas
  3046.  ~/spool/mail.log
  3047.  ~/spool/net.log
  3048.  ~/spool/forward.bbs
  3049.  ~/spool/history
  3050.  ~/spool/rewrite
  3051.  ~/spool/help/
  3052.  ~/spool/mail/
  3053.  ~/spool/mqueue/
  3054.  ~/spool/news/
  3055.  ~/spool/rqueue/
  3056.  ~/spool/signatur/
  3057.  
  3058.  
  3059. The ~ in front of all files is a directory offset definable with the -d
  3060. option on the Nos command line. Any name may be chosen and is default empty.
  3061. (eg. just /) If for example -d /net is given, the structure shifts to
  3062. /net/...  The alias, autoexec.nos, dialer, domain.txt net.rc, popusers and
  3063. ftpusers configuration files are located here. The netrom.sav file will be
  3064. created there.
  3065.  
  3066. The "/spool" directory and its sub-directories are used by the bbs, SMTP and
  3067. NNTP services. The areas, forward.bbs, history, mail.log and rewrite confi-
  3068. guration files are located here. The /spool/news directory can have many
  3069. subdirectories and each subdirectory can have subdirectories. Newsgroups are
  3070. split into heirarchical directory structures. A news article in newsgroup
  3071. rec.amateur.radio.packet   will   end  up  in
  3072. /spool/news/rec/amateur/radio/packet.txt.
  3073.  
  3074. 7.1. The /ftpusers File
  3075.  
  3076. Since MS-DOS is a single-user operating system (some might say it is a glori-
  3077. fied bootstrap loader), it provides no access control; all files can be read,
  3078. written or deleted by the local user. It is usually undesirable to give such
  3079. open access to a system to remote network users. Net therefore provides its
  3080. own access control mechanisms.
  3081.  
  3082. The file ftpusers controls remote FTP and mailbox access. The FTP default is
  3083. no access; if this file does not exist, the FTP server will be unusable. A
  3084. remote user must first "log in" to the system with the USER and PASS com-
  3085. mands, giving a valid name and password listed in ftpusers, before he or she
  3086. can transfer files.
  3087.  
  3088. Each entry in ftpusers consists of a single line of the form
  3089.  
  3090. username password /path permissions
  3091.  
  3092. There must be exactly four fields, and there must be exactly one space
  3093. between each field.  Comments may be added after the last field. Comment
  3094. lines begin with '#' in column one.
  3095.  
  3096. username is the user's login name.
  3097.  
  3098. password is the required password. Note that this is in plain text; there-
  3099. fore it is not a good idea to give general read permission to the root direc-
  3100. tory. A password of '*' (a single asterisk) means that any password is
  3101. acceptable.
  3102.  
  3103. /path is the allowable prefix on accessible files. Before any file or direc-
  3104. tory operation, the current directory and the user- specified file name are
  3105. joined to form an absolute path name in "canonical" form (i.e., a full path
  3106. name starting at the root, with "./" and "../" references, as well as redun-
  3107. dant /'s, recognized and removed). The result MUST begin with the allowable
  3108. path prefix; if not, the operation is denied. This field must always begin
  3109. with a "/", i.e., at the root directory. Multiple directories can be speci-
  3110. fied by separating them with a ";" caracter and no whitespace around them.
  3111.  
  3112. permissions is a decimal number granting permission for read, create and
  3113. write operations. If the low order bit (0x1) is set, the user is allowed to
  3114. read a file subject to the path name prefix restriction.  If the next bit
  3115. (0x2) is set, the user is allowed to create a new file if it does not
  3116. overwrite an existing file. If the third bit (0x4) is set, the user is
  3117. allowed to write a file even if it overwrites an existing file, and in addi-
  3118. tion he may delete files. Again, all operations are allowed subject to the
  3119. path name prefix restrictions. Permissions may be combined by adding bits,
  3120. for example, 0x3 (= 0x2 + 0x1) means that the user is given read and create
  3121. permission, but not overwrite/delete permission.
  3122.  
  3123. Additional permission bits used by the mailbox and PPP are:
  3124.  
  3125.  1  Read files
  3126.  2  Create new files
  3127.  4  Overwrite and delete existing files
  3128.  8  AX.25 gateway operation allowed
  3129.  16 Telnet gateway operation allowed
  3130.  32 NET/ROM gateway operation allowed
  3131.  64 Remote sysop access allowed (DANGEROUS)
  3132.  128 This user is banned from BBS access (illegal user)
  3133.  256 Priv bit for PPP connection
  3134.  512 Priv bit for peerID/pass lookup
  3135.  
  3136.  
  3137. A username of anonymous has special meaning in the validation meganism.  If
  3138. anonymous is included as a valid user in ftpusers then any unknown user (not
  3139. in ftpusers) will be mapped into anonymous and get its permission bits and
  3140. file path. If anonymous is not included in ftpusers unknown users are not
  3141. permitted nor validated.
  3142.  
  3143. For example, suppose ftpusers on machine pc.ka9q.ampr.org contains the line
  3144.  
  3145. friendly test /testdir 7
  3146.  
  3147.  
  3148. A session using this account would look like this:
  3149.  
  3150. net> ftp pc.ka9q.ampr.org
  3151. Resolving pc.ka9q.ampr.org... Trying 128.96.160.1...
  3152. FTP session 1 connected to pc.ka9q.ampr.org
  3153. 220 pc.ka9q.ampr.org FTP version 900418 ready at Mon May 7 16:27:18 1990
  3154. Enter user name: friendly
  3155. 331 Enter PASS command
  3156. Password: test [not echoed]
  3157. 230 Logged in
  3158. ftp>
  3159.  
  3160.  
  3161. The user now has read, write, overwrite and delete privileges for any file
  3162. under /testdir; he may not access any other files.
  3163.  
  3164. Here are some more sample entries in ftpusers:
  3165.  
  3166. karn foobar / 7  # User "karn" with password "foobar" may read,
  3167.    # write, overwrite and delete any file on the
  3168.    # system.
  3169.  
  3170. guest bletch /g/bogus;/public 3
  3171.    # User "guest" with password "bletch" may read
  3172.    # any file under /g/bogus and its subdirectories,
  3173.    # and /public and its subdirectories,
  3174.    # and may create a new file as long as it does
  3175.    # not overwrite an existing file. He may NOT
  3176.    # delete any files.
  3177.  
  3178. anonymous * /public 1  # User "anonymous" (any password) may read files
  3179.    # under /public and its subdirectories; he may
  3180.    # not create, overwrite or delete any files.
  3181.  
  3182.  
  3183. This last entry is the standard convention for keeping a repository of public
  3184. files; in particular, the username "anonymous" is an established ARPA conven-
  3185. tion.
  3186.  
  3187. 7.2. The /popusers File
  3188.  
  3189. Here are the username / password combinations defined for the POP users.  It
  3190. has a simple convention:
  3191.  
  3192. user:password:
  3193.  
  3194. for every POP user such a line has to be added. The user and password fields
  3195. sould match the pop userdata statement of the remote user. Both user and
  3196. password have to be delimited with a colon character.
  3197.  
  3198. 7.3. The /net.rc File
  3199.  
  3200. The net.rc file is a fast login file for known ftp stations. Each line starts
  3201. with the name of the ftp station. Following are a user and password statemend
  3202. to be send to the server for validation. The name, user and password are
  3203. separated with a space. Not a tab nore more than 1 space character. Follow-
  3204. ing is a sample net.rc file.
  3205.  
  3206. ucsd.edu anonymous gvdg@gvdgpc.cdh.cdc.com
  3207. ka9q.ampr.org guest pa0gri
  3208.  
  3209. 7.4. The /domain.txt File
  3210.  
  3211. Nos translates domain names (eg. "pc.ka9q.ampr.org") to IP addresses (eg.
  3212. 128.96.160.3) through the use of an Internet Domain Name resolver and a local
  3213. "cache" file, domain.txt. Whenever the user specifies a domain name, the
  3214. local cache is searched for the desired entry. If it is present, it is used;
  3215. if not, and if domain name server(s) have been configured, a query is sent
  3216. over the network to the current server. If the server responds, the answer
  3217. is added to the domain.txt file for future use.  If the server does not
  3218. respond, any additional servers on the list are tried in a round-robin
  3219. fashion until one responds, or the retry limit is reached (see the domain
  3220. retry command).  If domain.txt does not contain the desired entry and there
  3221. are no configured domain name servers, then the request immediately fails.
  3222.  
  3223. If a domain name server is available, and if all references to host-ids in
  3224. your /autoexec.nos file are in IP address format, then it is possible to
  3225. start with a completely empty domain.txt file and have Nos build it for you.
  3226. However, you may wish to add your own entries to domain.txt, either because
  3227. you prefer to use symbolic domain names in your /autoexec.nos file or you
  3228. don't have access to a domain server and you need to create entries for all
  3229. of the hosts you may wish to access.
  3230.  
  3231. Each entry takes one line, and the fields are separated by tabs.  For exam-
  3232. ple:
  3233.  
  3234. pc.ka9q.ampr.org.  IN  A  128.96.160.3
  3235.  
  3236. IN is the class of the record. It means Internet, and it will be found in
  3237. all entries.  A is the type of the record, and it means that this is an
  3238. address record. Domain name pc.ka9q.ampr.org therefore has Internet address
  3239. 128.96.160.3.
  3240.  
  3241. Another possible entry is the CNAME (Canonical Name) record. For example:
  3242.  
  3243. ka9q.ampr.org.  IN  CNAME  pc.ka9q.ampr.org.
  3244.  
  3245. This says that domain name "ka9q.ampr.org" is actually an alias for the sys-
  3246. tem with (primary, or canonical) domain name "pc.ka9q.ampr.org." When a
  3247. domain name having a CNAME record is given to Nos, the system automatically
  3248. follows the reference to the canonical name and returns the IP address asso-
  3249. ciated with that entry.
  3250.  
  3251. Entries added automatically by Nos will have an additional field between the
  3252. domain name and the class (IN) field. For example:
  3253.  
  3254. pc.ka9q.ampr.org.  3600 IN  A  128.96.160.3
  3255.  
  3256. This is the time-to-live value, in seconds, associated with the record
  3257. received from the server. Clients (such as Nos) caching these records are
  3258. supposed to delete them after the time-to-live interval has expired, allowing
  3259. for the possibility that the information in the record may become out of
  3260. date.
  3261.  
  3262. This implementation of Nos will decrement the TTL to zero, but will not
  3263. delete the record unless the "clean" flag is on (see the domain cache clean
  3264. command). When a remote server is not available, the old entry will be used.
  3265.  
  3266. When the TTL value is missing (as in the examples above), the record will
  3267. never expire, and must be managed by hand. Since domain.txt is a plain text
  3268. file, it may be easily edited by the user to add, change or delete records.
  3269. Additional types of records, include NS (name server) and SOA (start of
  3270. authority) may appear in domain.txt from remote server responses. These are
  3271. not currently used by Nos but are retained for future development (such as
  3272. the incorporation of a domain name server into Nos itself).
  3273.  
  3274. 7.5. The /alias file.
  3275.  
  3276. SMTP server ALIAS file. This is for resolving a given target address into a
  3277. single or multiple entry mail list.
  3278.  Format:
  3279.  maillistname call1@host1 [call2@host2]...# comments
  3280.  
  3281.  pa0gri gvdg@fridley.cdh.cdc.com
  3282.  kelvin g1emm@g1emm.ampr.org
  3283.  #
  3284.  bob gb3xp@gb3xp.ampr.org
  3285.  ian g3rra@g3rra.ampr.org
  3286.  jim g1wkk@g1wkk.ampr.org
  3287.  john  g5ds%gb3kp@gb3xp.ampr.org
  3288.  ted gb3kp%gb3kp@gb3xp.ampr.org
  3289.  ron g6vug@g6vug.ampr.org
  3290.  tim g4uqe@g4uqe.ampr.org
  3291.  gareth g6kvk%gb7spv@gb3xp.ampr.org
  3292.  bolton gb7tcp%gb7crg@gb3xp.ampr.org
  3293.  julian g7efe%gb7cfb@gb3xp.ampr.org
  3294.  #
  3295.  world g3rra@g3rra.ampr.org gb3xp@gb3xp.ampr.org g1plt@g1plt.ampr.org
  3296.   g1wkk@g1wkk.ampr.org g8kwi@g8kwi.ampr.org g6kvk%gb7spv@gb3xp.ampr.org
  3297.   g1ttg@g1ttg.ampr.org g6vug@g6vug.ampr.org g6kqz@g6kqz.ampr.org
  3298.   g4uqe@g4uqe.ampr.org g8ogr@g8ogr.ampr.org g4xwv@g4xwv.ampr.org
  3299.  #
  3300.  locals g3rra@g3rra.ampr.org g1wkk@g1wkk.ampr.org g8kwi@g8kwi.ampr.org
  3301.   g4bio@g4bio.ampr.org g1plt@g1plt.ampr.org g4uqe@g4uqe.ampr.org
  3302.   g6kqz@g6kqz.ampr.org g4tnu@g4tnu.ampr.org g6xqb@g6xqb.ampr.org
  3303.  
  3304. Note that it is reaonable, and sometimes desiable, to have alias records in
  3305. the form:
  3306.  
  3307.   area area dest1 dest2
  3308.  
  3309. As the /alias file is scanned only once, this does not result in an infinite
  3310. recursion.
  3311.  
  3312. 7.6. The /spool/areas file.
  3313.  
  3314. This file is a header file shown to a mailbox user when he requests the a
  3315. display. It should show all public mailboxes to read. Here is a sample:
  3316.  ---- Public -- Mail -- Areas ----
  3317.         |
  3318.  General -- Any old chit-chat that is clean.  |
  3319.  TcpIp  -- General Tcp/Ip messages. NOS etc.  |
  3320.  Bugs  -- Where to report bugs in Ka9q-NOS  |
  3321.  Updates -- Info - NOS version UPDATES by G1EMM.  |
  3322.         |
  3323.  ---------------
  3324.  
  3325. 7.7. The /spool/forward.bbs file.
  3326.  
  3327. The mailbox reads a forwarding file, spool/forward.bbs. Here is a sample
  3328. file.
  3329.  wb0ttw 0006
  3330.  ax25 ax0 wb0ttw
  3331.  wb0ttw
  3332.  w0tn
  3333.  mspbul
  3334.  all
  3335.  ---
  3336.  wb0gdb
  3337.  netrom #msparh
  3338.  ..c msparh
  3339.  all The first word on the first line in a forwarding record is the name
  3340. of the BBS to forward to. This should be the same type of name which is shown
  3341. by the mbox status command. The second word is optional. It specifies a range
  3342. of hours when forwarding may take place. 0006 means that there will only be
  3343. forwarding to this station between midnight and 6am.
  3344.  
  3345. The second line specifies how to establish the connection. It should start
  3346. with the protocol (ax25, connect, tcp, telnet or netrom) and be followed by
  3347. all the parameters which are nessesary when Nos has to establish a connec-
  3348. tion.
  3349.  
  3350. Directly after the second line, there may be lines that start with a dot.
  3351. What follows after the dot will be send to the remote BBS as soon as the con-
  3352. nection is established.
  3353.  
  3354. Then follows the names of a number of message areas, publib or private.
  3355. Finally, there should be a couple of '-' signs to separate one forwarding
  3356. record from another.
  3357.  
  3358. 7.8. The /spool/rewrite file.
  3359.  
  3360. Read the rewrite file for lines where the first word is a regular expression
  3361. and the second word are rewriting rules. An optional third field, containing
  3362. just the letter "r", when present, instructs Nos to restart the rewrite file,
  3363. using the new destination address. The special character '$' followed by a
  3364. digit denotes the string that matched a '*' character. The '*' characters are
  3365. numbered from 1 to 9. Example: the line "*@*.* $2@$1.ampr.org" would rewrite
  3366. the address "foo@bar.xxx" to "bar@foo.ampr.org".
  3367.  #
  3368.  *@g1emm.ampr.org $1
  3369.  *@g1emm.ampr $1
  3370.  *@g1emm $1
  3371.  #
  3372.  *!*!*!*!*!*!* $7%$6@$5@$4@$3@$2@$1
  3373.  *!*!*!*!*!* $6%$5@$4@$3@$2@$1
  3374.  *!*!*!*!* $5%$4@$3@$2@$1
  3375.  *!*!*!* $4%$3@$2@$1
  3376.  *!*!* $3%$2@$1
  3377.  *!* $2@$1
  3378.  !* $1 r
  3379.  #
  3380.  # The End
  3381.  
  3382. 8. Setting Bufsize, Paclen, Maxframe, MTU, MSS and Window
  3383.  
  3384. Many Nos users are confused by these parameters and do not know how to set
  3385. them properly. This chapter will first review these parameters and then dis-
  3386. cuss how to choose values for them. Special emphasis is given to avoiding
  3387. interoperability problems that may appear when communicating with non-Nos
  3388. implementations of AX.25.
  3389.  
  3390. 8.1. Hardware Parameters
  3391.  
  3392.  
  3393. 8.1.1. Bufsize
  3394.  
  3395. This parameter is required by most of Nos's built-in HDLC drivers (eg. those
  3396. for the DRSI PCPA and the Paccomm PC-100). It specifies the size of the
  3397. buffer to be allocated for each receiver port. HDLC frames larger than this
  3398. value cannot be received.
  3399.  
  3400. There is no default bufsize; it must be specified in the attach command for
  3401. the interface.
  3402.  
  3403. 8.2. AX25 Parameters
  3404.  
  3405. 8.2.1. Paclen
  3406.  
  3407. Paclen limits the size of the data field in an AX.25 I-frame. This value does
  3408. not include the AX.25 protocol header (source, destination and digipeater
  3409. addresses).
  3410.  
  3411. Since unconnected-mode (datagram) AX.25 uses UI frames, this parameter has no
  3412. effect in unconnected mode.
  3413.  
  3414. The default value of paclen is 256 bytes.
  3415.  
  3416. 8.2.2. Maxframe
  3417.  
  3418. This parameter controls the number of I-frames that Nos may send on an AX.25
  3419. connection before it must stop and wait for an acknowledgement. Since the
  3420. AX.25/LAPB sequence number field is 3 bits wide, this number cannot be larger
  3421. than 7.
  3422.  
  3423. Since unconnected-mode (datagram) AX.25 uses UI frames that do not have
  3424. sequence numbers, this parameter does not apply to unconnected mode.
  3425.  
  3426. The default value of maxframe in Nos is 1 frame.
  3427.  
  3428. 8.3. IP and TCP Parameters
  3429.  
  3430. 8.3.1. MTU
  3431.  
  3432. The MTU (Maximum Transmission Unit) is an interface parameter that limits the
  3433. size of the largest IP datagram that it may handle. IP datagrams routed to
  3434. an interface that are larger than its MTU are each split into two or more
  3435. fragments. Each fragment has its own IP header and is handled by the network
  3436. as if it were a distinct IP datagram, but when it arrives at the destination
  3437. it is held by the IP layer until all of the other fragments belonging to the
  3438. original datagram have arrived. Then they are reassembled back into the com-
  3439. plete, original IP datagram. The minimum acceptable interface MTU is 28
  3440. bytes: 20 bytes for the IP (fragment) header, plus 8 bytes of data.
  3441.  
  3442. There is no default MTU in Nos; it must be explicitly specified for each
  3443. interface as part of the attach command.
  3444.  
  3445. 8.3.2. MSS
  3446.  
  3447. MSS (Maximum Segment Size) is a TCP-level parameter that limits the amount of
  3448. data that the remote TCP will send in a single TCP packet. MSS values are
  3449. exchanged in the SYN (connection request) packets that open a TCP connection.
  3450. In the Nos implementation of TCP, the MSS actually used by TCP is further
  3451. reduced in order to avoid fragmentation at the local IP interface. That is,
  3452. the local TCP asks IP for the MTU of the interface that will be used to reach
  3453. the destination. It then subtracts 40 from the MTU value to allow for the
  3454. overhead of the TCP and IP headers. If the result is less than the MSS
  3455. received from the remote TCP, it is used instead.
  3456.  
  3457. The default value of MSS is 512 bytes.
  3458.  
  3459. 8.3.3. Window
  3460.  
  3461. This is a TCP-level parameter that controls how much data the local TCP will
  3462. allow the remote TCP to send before it must stop and wait for an acknowledge-
  3463. ment. The actual window value used by TCP when deciding how much more data to
  3464. send is referred to as the effective window. This is the smaller of two
  3465. values: the window advertised by the remote TCP minus the unacknowledged data
  3466. in flight, and the congestion window, an automatically computed time-varying
  3467. estimate of how much data the network can handle.
  3468.  
  3469. The default value of Window is 2048 bytes.
  3470.  
  3471. 8.4. Discussion
  3472.  
  3473.  
  3474. 8.4.1. IP Fragmentation vs AX.25 Segmentation
  3475.  
  3476. IP-level fragmentation often makes it possible to interconnect two dissimilar
  3477. networks, but it is best avoided whenever possible. One reason is that when
  3478. a single IP fragment is lost, all other fragments belonging to the same
  3479. datagram  are effectively also lost and the entire datagram must be
  3480. retransmitted by the source. Even without loss, fragments require the allo-
  3481. cation of temporary buffer memory at the destination, and it is never easy to
  3482. decide how long to wait for missing fragments before giving up and discarding
  3483. those that have already arrived. A reassembly timer controls this process.
  3484. In Nos it is (re)initialized with the ip rtimer parameter (default 30
  3485. seconds) whenever progress is made in reassembling a datagram (i.e., a new
  3486. fragment is received). It is not necessary that all of the fragments belong-
  3487. ing to a datagram arrive within a single timeout interval, only that the
  3488. interval between fragments be less than the timeout.
  3489.  
  3490. Most subnetworks that carry IP have MTUs of 576 bytes or more, so intercon-
  3491. necting them with subnetworks having smaller values can result in consider-
  3492. able fragmentation. For this reason, IP implementors working with links or
  3493. subnets having unusually small packet size limits are encouraged to use tran-
  3494. sparent fragmentation, that is, to devise schemes to break up large IP
  3495. datagrams into a sequence of link or subnet frames that are immediately
  3496. reassembled on the other end of the link or subnet into the original, whole
  3497. IP datagram without the use of IP-level fragmentation. Such a scheme is pro-
  3498. vided in AX.25 Version 2.1. It can break a large IP or NET/ROM datagram into
  3499. a series of paclen-sized AX.25 segments (not to be confused with TCP seg-
  3500. ments), one per AX.25 I-frame, for transmission and reassemble them into a
  3501. single datagram at the other end of the link before handing it up to the IP
  3502. or NET/ROM module.  Unfortunately, the segmentation procedure is a new
  3503. feature in AX.25 and is not yet widely implemented; in fact, Nos is so far
  3504. the only known implementation. This creates some interoperability problems
  3505. between Nos and non-Nos nodes, in particular, standard NET/ROM nodes being
  3506. used to carry IP datagrams. This problem is discussed further in the section
  3507. on setting the MTU.
  3508.  
  3509. 8.4.2. Setting paclen and bufsize
  3510.  
  3511. The more data you put into an AX.25 I frame, the smaller the AX.25 headers
  3512. are in relation to the total frame size. In other words, by increasing
  3513. paclen, you lower the AX.25 protocol overhead. Also, large data packets
  3514. reduce the overhead of keying up a transmitter, and this can be an important
  3515. factor with higher speed modems. On the other hand, large frames make bigger
  3516. targets for noise and interference. Each link has an optimum value of paclen
  3517. that is best discovered by experiment.
  3518.  
  3519. Another thing to remember when setting paclen is that the AX.25 version 2.0
  3520. specification limits it to 256 bytes. Although Nos can handle much larger
  3521. values, some other AX.25 implementations (including digipeaters) cannot and
  3522. this may cause interoperability problems. Even Nos may have trouble with cer-
  3523. tain KISS TNCs because of fixed-size buffers. The original KISS TNC code for
  3524. the TNC-2 by K3MC can handle frames limited in size only by the RAM in the
  3525. TNC, but some other KISS TNCs cannot.
  3526.  
  3527. Nos's built-in HDLC drivers (SCC, PC-100, DRSI, etc) allocate receive buffers
  3528. according to the maximum expected frame size, so it is important that these
  3529. devices be configured with the correct bufsize. To do this, you must know the
  3530. size of the largest possible frame that can be received. The paclen parameter
  3531. controls only the size of the data field in an I-frame and not the total size
  3532. of the frame as it appears on the air. The AX.25 spec allows up to 8 digi-
  3533. peaters, so the largest possible frame is (paclen + 72) bytes. So you should
  3534. make bufsize at least this large.
  3535.  
  3536. Another important consideration is that the more recent versions of NOS
  3537. improve interrupt response by maintaining a special pool of buffers for use
  3538. by the receive routines. These buffers are currently fixed in size to 2048
  3539. bytes and this can be changed only by editing config.h and recompiling NOS.
  3540. This limits bufsize; in fact, attempting to set a larger value may cause the
  3541. driver not to work at all. This situation can be detected by running the
  3542. memory status command and looking for a non-zero count of Ibuffail events,
  3543. although these events can also occur occasionally during normal operation.
  3544.  
  3545. One of the drawbacks of AX.25 that there is no way for one station to tell
  3546. another how large a packet it is willing to accept. This requires the sta-
  3547. tions sharing a channel to agree beforehand on a maximum packet size. TCP is
  3548. different, as we shall see.
  3549.  
  3550. 8.4.3. Setting Maxframe
  3551.  
  3552. For best performance on a half-duplex radio channel, maxframe should always
  3553. be set to 1. The reasons are explained in the paper Link Level Protocols
  3554. Revisited by Brian Lloyd and Phil Karn, which appeared in the proceedings of
  3555. the ARRL 5th Computer Networking Conference in 1986.
  3556.  
  3557. 8.4.4. Setting MTU
  3558.  
  3559. TCP/IP header overhead considerations similar to those of the AX.25 layer
  3560. when setting paclen apply when choosing an MTU. However, certain subnetwork
  3561. types supported by Nos have well-established MTUs, and these should always be
  3562. used unless you know what you're doing: 1500 bytes for Ethernet, and 508
  3563. bytes for ARCNET. The MTU for PPP is automatically negotiated, and defaults
  3564. to 1500.  Other subnet types, including SLIP and AX.25, are not as well
  3565. standardized.
  3566.  
  3567. SLIP has no official MTU, but the most common implementation (for BSD UNIX)
  3568. uses an MTU of 1006 bytes. Although Nos has no hard wired limit on the size
  3569. of a received SLIP frame, this is not true for other systems. Interoperabil-
  3570. ity problems may therefore result if larger MTUs are used in Nos.
  3571.  
  3572. Choosing an MTU for an AX.25 interface is more complex. When the interface
  3573. operates in datagram (UI-frame) mode, the paclen parameter does not apply.
  3574. The MTU effectively becomes the paclen of the link.  However, as mentioned
  3575. earlier, large packets sent on AX.25 connections are automatically segmented
  3576. into I-frames no larger than paclen bytes. Unfortunately, as also mentioned
  3577. earlier, Nos is so far the only known implementation of the new AX.25 segmen-
  3578. tation procedure. This is fine as long as all of the NET/ROM nodes along a
  3579. path are running Nos, but since the main reason Nos supports NET/ROM is to
  3580. allow use of existing NET/ROM networks, this is unlikely.
  3581.  
  3582. So it is usually important to avoid AX.25 segmentation when running IP over
  3583. NET/ROM.  The way to do this is to make sure that packets larger than paclen
  3584. are never handed to AX.25. A NET/ROM transport header is 5 bytes long and a
  3585. NET/ROM network header takes 15 bytes, so 20 bytes must be added to the size
  3586. of an IP datagram when figuring the size of the AX.25 I-frame data field. If
  3587. paclen is 256, this leaves 236 bytes for the IP datagram. This is the default
  3588. MTU of the netrom pseudo-interface, so as long as paclen is at least 256
  3589. bytes, AX.25 segmentation can't happen. But if smaller values of paclen are
  3590. used, the netrom MTU must also be reduced with the ifconfig command.
  3591.  
  3592. On the other hand, if you're running IP directly on top of AX.25, chances are
  3593. all of the nodes are running Nos and support AX.25 segmentation. In this
  3594. case there is no reason not to use a larger MTU and let AX.25 segmentation do
  3595. its thing. If you choose an MTU on the order of 1000-1500 bytes, you can
  3596. largely avoid IP-level fragmentation and reduce TCP/IP-level header overhead
  3597. on file transfers to a very low level. And you are still free to pick what-
  3598. ever paclen value is appropriate for the link.
  3599.  
  3600. 8.4.5. Setting MSS
  3601.  
  3602.  
  3603. The setting of this TCP-level parameter is somewhat less critical than the IP
  3604. and AX.25 level parameters already discussed, mainly because it is automati-
  3605. cally lowered according to the MTU of the local interface when a connection
  3606. is created. Although this is, strictly speaking, a protocol layering viola-
  3607. tion (TCP is not supposed to have any knowledge of the workings of lower
  3608. layers) this technique does work well in practice. However, it can be
  3609. fooled; for example, if a routing change occurs after the connection has been
  3610. opened and the new local interface has a smaller MTU than the previous one,
  3611. IP fragmentation may occur in the local system.
  3612.  
  3613. The only drawback to setting a large MSS is that it might cause avoidable
  3614. fragmentation at some other point within the network path if it includes a
  3615. "bottleneck" subnet with an MTU smaller than that of the local interface.
  3616. (Unfortunately, there is presently no way to know when this is the case.
  3617. There is ongoing work within the Internet Engineering Task Force on a "MTU
  3618. Discovery" procedure to determine the largest datagram that may be sent over
  3619. a given path without fragmentation, but it is not yet complete.) Also, since
  3620. the MSS you specify is sent to the remote system, and not all other TCPs do
  3621. the MSS-lowering procedure yet, this might cause the remote system to gen-
  3622. erate IP fragments unnecessarily.
  3623.  
  3624. On the other hand, a too-small MSS can result in a considerable performance
  3625. loss, especially when operating over fast LANs and networks that can handle
  3626. larger packets. So the best value for MSS is probably 40 less than the larg-
  3627. est MTU on your system, with the 40-byte margin allowing for the TCP and IP
  3628. headers. For example, if you have a SLIP interface with a 1006 byte MTU and
  3629. an Ethernet interface with a 1500 byte MTU, set MSS to 1460 bytes. This
  3630. allows you to receive maximum-sized Ethernet packets, assuming the path to
  3631. your system does not have any bottleneck subnets with smaller MTUs.
  3632.  
  3633. 8.4.6. Setting Window
  3634.  
  3635. A sliding window protocol like TCP cannot transfer more than one window's
  3636. worth of data per round trip time interval. So this TCP-level parameter con-
  3637. trols the ability of the remote TCP to keep a long "pipe" full. That is, when
  3638. operating over a path with many hops, offering a large TCP window will help
  3639. keep all those hops busy when you're receiving data. On the other hand,
  3640. offering too large a window can congest the network if it cannot buffer all
  3641. that data. Fortunately, new algorithms for dynamic controlling the effective
  3642. TCP flow control window have been developed over the past few years and are
  3643. now widely deployed. Nos includes them, and you can watch them in action
  3644. with the tcp status <tcb> or socket <sockno> commands. Look at the cwind
  3645. (congestion window) value.
  3646.  
  3647. In most cases it is safe to set the TCP window to a small integer multiple of
  3648. the MSS, (eg. 4times), or larger if necessary to fully utilize a high
  3649. bandwidth*delay product path. One thing to keep in mind, however, is that
  3650. advertising a certain TCP window value declares that the system has that much
  3651. buffer space available for incoming data. Nos does not actually preallocate
  3652. this space; it keeps it in a common pool and may well "overbook" it, exploit-
  3653. ing the fact that many TCP connections are idle for long periods and gambling
  3654. that most applications will read incoming data from an active connection as
  3655. soon as it arrives, thereby quickly freeing the buffer memory.  However, it
  3656. is possible to run Nos out of memory if excessive TCP window sizes are adver-
  3657. tised and either the applications go to sleep indefinitely (eg. suspended
  3658. Telnet sessions) or a lot of out-of-sequence data arrives. It is wise to
  3659. keep an eye on the amount of available memory and to decrease the TCP window
  3660. size (or limit the number of simultaneous connections) if it gets too low.
  3661.  
  3662. Depending on the channel access method and link level protocol, the use of a
  3663. window setting that exceeds the MSS may cause an increase in channel colli-
  3664. sions. In particular, collisions between data packets and returning ack-
  3665. nowledgements during a bulk file transfer may become common. Although this
  3666. is, strictly speaking, not TCP's fault, it is possible to work around the
  3667. problem at the TCP level by decreasing the window so that the protocol
  3668. operates in stop-and-wait mode. This is done by making the window value
  3669. equal to the MSS.
  3670.  
  3671. 8.5. Summary
  3672.  
  3673. In most cases, the default values provided by Nos for each of these parame-
  3674. ters will work correctly and give reasonable performance. Only in special
  3675. circumstances such as operation over a very poor link or experimentation with
  3676. high speed modems should it be necessary to change them.
  3677.  
  3678.