Aunc.3341
net.general,net.unix-wizards
utzoo!decvax!duke!unc!usenet
Fri Apr 23 12:20:45 1982
automatic routing of uucp mail
I've finally come to the conclusion that I'm not going to do any more
work on my uucp routing program; accordingly, I will broadcast it on
net.sources within 2 weeks. A major component of this is the database;
I have a fairly large one now, but could use more data. Please! Send
me your path data, so I can distribute it. Briefly, what I want is a
list of the systems you will forward mail to with reasonable promptness.
If you don't want to take the time to figure out my syntax, just send
me a list of names, remembering that the simpler the list is, the easier
it will be for me to edit into the right format. (That is, don't include
comments in the body of the list.) Some indication of frequency of
connection is useful as well. Also, list *only* the sites to which you
will forward mail; this is to be a public database that I'm distributing.
It's easy to include your own private connection data locally.
Connection data should be sent to unc!usenet; questions should be sent
to me (unc!smb) directly.
--Steve Bellovin
Dept. of Computer Science
UNC, Chapel Hill
-------------
Below is a description of the input format written by Brad Templeton
at Waterloo:
-------------
List each site to which you have a uucp connection that you wish to
make public. To list a site, give its UUCP name, followed by a value
describing how useful the connection is in parentheses. Your cost can
be given as a standard arithmetic expression. The lower the number,
the better the line is. The following 'manifests' are known to the
program with the following values: (If you don't give an expression,
3000 is default)
LOCAL = 10
ARPA = 31
DED = 95
DEDICATED = 95
DIRECT = 200
DEMAND = 300
DIAL = 300
DIALED = 300
HOURLY = 500
EVENING = 1800 /* Like DEMAND, but only at night */
POLLED = 5000
DAILY = 5000
WEEKLY = 30000
DEAD = INF/2
HIGH = -5 /* baud rate bonus */
LOW = 5 /* baud rate penalty */
Delimit your entries with commas. Type as many lines as you like,
(naturally, don't put a comma after the last entry) and enter a null
line when you are done. Here is an example:
decvax(2*HOURLY), watcgl(DIRECT), watarts(DEMAND),
hcr(POLLED), cbosg(WEEKLY)
blart
-------------
Below is the documentation I have on the package:
-------------
Parameters:
-a list all duplicate entries, not just those in the same file
-dsite mark the site dead, and do not use any links to or from it
-dsiteA!siteB mark the link from 'siteA' to 'siteB' dead
-lsite Give the view of the world from 'site'
0 or more map files (if 0, the standard input is used)
Output: a list of unreachable sites, and a set of 3-tuples:
cost name path
A %s in the output string is where the userid should be
inserted. Output is generated in dumpmap.c; change that
routine to do something like generate a dbm database. Or
#define DBM and the code will magically appear....
Input: A site in column 1, followed by white space, followed by
a comma-separated list of links. A link-name may be preceeded
or followed by a network character to use in the path name,
such as ':' for the Berknet or @ for the ARPAnet. Any character
may be used if it's enclosed in single quotes; the program will
recognize '!', '@', ':', '.', '^', and '%' by itself.
The link-name (and network character, if present) may be
followed by a "cost" in parentheses. Costs may be arbitrary
arithmetic experssions involving numbers, parentheses, '+', '-'
(and what hackwork was needed to allow '-' as a sitename
character...), '*', and '/'. Several symbolic numbers are
defined, such as LOCAL for a high-speed local network,
DEDICATED for lines used only for mail and news, POLLED for a
system that is called (approximately) daily, etc.; see lex.l
for the list. The numbers are intended to represent frequency
of connection, which seems to be far more important than baud
rates for this type of traffic. Note that there is an assumed
high overhead for each hop; thus, HOURLY is far less than
24*DAILY -- I spent a fair amount of time playing with the
values to make the output appear right for systems I know
about. Add in HIGH (LOW) for baud-rate or quality bonuses
(penalties).
Links are not bidirectional unless coded both ways.
Aliases may be indicated by including lines of the form
name = alias [ , alias...]
The primary name is used in all expansions. Secondary names
may not be referenced until after the alias declaration;
following that, they are treated identically to the primary
name.
Fully connected networks, such as the ARPAnet or the BerkNet,
are indicated by a line like
net = {host, host, ...}
The host-list may be preceeded or followed by a routing
character, and the entire thing may be followed by a cost:
ARPA = @{sri-unix, mit-ai}(ARPA+5)
BerkNet = {c70, ucbvax, Cory}:(DEDICATED)
The network name is treated as a host that has bidirectional
links to each member host. The cost from a member to the net
pseudo-host is 0; the cost specified is used for the downlink
to each member. The name of a network is never used in
expansions; thus, in the above example, sri-unix's path to
mit-ai would be '%s@mit-ai', not '%s@ARPA@mit-ai'. Clever
things (or maybe kludges, depending on your perspective) can be
done with multiple nets and gateways; see the BerkNet/ARPAnet
interface in path.use. If different members of a network have
differing connection costs to the net (say, different kinds of
IMPs), fake subnets can be built and linked; see path.vdh.
The network code often works in surprising ways (it was a
last-minute add-on); it is very necessary to test a definition
from all points of view.
Lines beginning with # are ignored. A line may be continued by
starting the next line with white space.
Compile-time: If you have a program on your local system that will
return the system name, change the definition of LNAME in the
Makefile. If you don't have such a program, delete the
definition; <WHOAMI.H> will be included instead.
Usage: Typically,
pathalias [tempfiles] localstuff distributed
The localstuff (i.e., 'path.local') is used to provide a
complete map of the local area, plus any special connections
you are authorized to use for mail. The second file is the map
that will be broadcast regularly over USENET. Temporary files
may be inserted to reflect transient conditions, such as a line
being down.
-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <
[email protected]>
of
http://communication.ucsd.edu/A-News/
This Usenet Oldnews Archive
article may be copied and distributed freely, provided:
1. There is no money collected for the text(s) of the articles.
2. The following notice remains appended to each copy:
The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.