gated(8) CLIX gated(8)
NAME
gated - Runs a gateway routing daemon
SYNOPSIS
/etc/gated [-t [flag] ... ] [logfile]
FLAGS
-t Logs (traces) all error messages, route changes and Exterior Gateway
Protocol (EGP) packets sent and received, if the -t flag is used
alone. Using -t alone turns on the -i, -e, -r, and -p flags by
default. When -t is used with another flag, the -t has no effect and
only the accompanying flags are recognized. Note that -t must be
listed before other flags. The valid flags are as follows:
-i Logs all internal errors and interior routing errors.
-e Logs all EGP external errors, exterior routing errors, and EGP
state changes.
-r Logs all routing changes.
-p Traces all EGP packets sent and received.
-u When used with -p, -R, -H, or -N, the -u flag displays the entire
contents of routing packets sent and received.
-R Traces all RIP packets sent or received.
-H Traces all HELLO packets sent or received.
DESCRIPTION
The gated command invokes the gated daemon that handles multiple routing
protocols and replaces routed, egpup, and any routing daemon that speaks
the HELLO routing protocol.
The gated routing daemon currently handles the Routing Information
Protocol (RIP), Exterior Gateway Protocol (EGP), and HELLO routing
protocols. The gated daemon can be configured to perform all routing
protocols or any combination of the three. The configuration for the
gated daemon is, by default, stored in the /etc/gated.conf file.
The gated daemon can be invoked with a number of trace flags and with an
optional logfile. These flags can also be specified in the configuration
file by using the traceflags clause. If tracing flags are specified
without a log file, tracing output is sent to the controlling terminal.
The gated gateway routing daemon always logs fatal errors. If no logfile
2/94 - Intergraph Corporation 1
gated(8) CLIX gated(8)
is specified and no tracing flags are set, all messages are sent to
/dev/null.
Signal Processing
The gated daemon catches a number of signals and performs specific
actions. Currently the gated daemon does special processing with the
SIGHUP, SIGINT, and SIGUSR1 signals. (See signal(2)).
When a SIGHUP signal is sent to gated. The gated command is invoked with
trace flags and logfile, tracing is toggled off and the log file is
closed. At this point, the log file may be moved or removed. The next
SIGHUP signal to gated will toggle the tracing on.
The gated daemon reads the configuration file and sets the tracing flags
to those specified with the traceflags clause. If no traceflags clause is
specified, tracing is resumed using the trace flags specified on the
command line.
The logfile specified from the command line is created if necessary and
the trace output is sent to that file. The trace output is appended to an
already existing log file. This is useful for rotating log files.
Sending a SIGINT signal to the gated daemon will cause a memory dump to be
scheduled within the next 60 seconds. The memory dump will be written to
the /usr/tmp/gated_dump file. Afterwards, the gated daemon will finish
processing pending routing updates before performing the memory dump. The
memory dump contains a snapshot of the current gated status, including the
interface configurations, EGP neighbor status, and routing tables. If the
/usr/tmp/gated_dump file already exists, the memory dump will be appended
to the existing file.
When it receives a SIGUSR1 signal, the gated daemon will reread selected
information from the configuration file. This information currently
includes the announcetoAS, noannouncetoAS, and validAS clauses.
If no errors are detected, the new configuration information becomes
effective. If errors are detected, the configuration information is not
changed. The gated daemon will also check the interface status when it
receives a SIGUSR1 signal.
Configuration File Options Controlling Tracing Output
The traceflags traceflag ... string tells the gated process daemon the
level of tracing output desired. This option is read during the
initialization of the gated process and when it receives a SIGHUP signal.
This option is overriden at initialization time if tracing flags are
specified on the command line. The type and definition of all available
tracing flags are as follows:
internal Logs all internal errors and interior routing errors.
2 Intergraph Corporation - 2/94
gated(8) CLIX gated(8)
external Logs all EGP external errors, exterior routing errors, and EGP
status changes.
route Logs all routing changes.
egp Traces all EGP packets sent and received.
update Displays the contents of all routing packets sent and received
when used with egp, rip, hello, or snmp.
rip Traces all rip packets sent and received.
hello Traces all hello packets sent and received.
icmp Traces all icmp redirect packets received.
stamp Displays a timestamp to the log file every 10 minutes.
general Uses a combination of internal, external, route and egp.
all Enables all of the above tracing flags.
If more than one traceflags string is used, the tracing flags accumulate
since the trace flags are not mutually exclusive.
Default Configuration
The gated daemon normally reads configuration information from the
/etc/gated.conf configuration file. If this file does not exist, gated
will default to the following configuration:
RIP = yes
HELLO = no
EGP = no
In addition, if the configuration file does not exist, and if there is
only one network interface, and a default route is installed in the
kernel, the gated daemon will exit, assuming that a simple default route
is adequate.
Configuration File Options for Handling Routing
This section, explains the numerous configuration options. Each time the
gated process is started, it reads the /etc/gated.conf file to obtain its
instructions on how routing will be managed with respect to each protocol.
The configuration options are as follows:
RIP {yes|no|supplier|pointopoint|quiet|gateway #}
This string tells the gated process how to perform the RIP routing
protocol. Only one of the above RIP arguments is allowed after the
keyword RIP. If more than one is specified, only the first one is
2/94 - Intergraph Corporation 3
gated(8) CLIX gated(8)
recognized. A list of the arguments to the RIP string follows:
yes Tells the gated command to run the RIP protocol. It
processes all incoming RIP packets and supplies RIP
information every 30 seconds if there are two or more
network interfaces.
no Tells the gated process to not run the RIP protocol.
supplier
Tells the gated process to run the RIP protocol, processing
all incoming RIP packets and forcing RIP information to be
supplied every 30 seconds despite the number of network
interfaces present.
pointopoint
Tells the gated process to run the RIP protocol, processing
all incoming RIP packets and forcing RIP information to be
supplied every 30 seconds despite the number of network
interfaces present. When this argument is specified, RIP
information will not be sent out in a broadcast packet. The
RIP information will be sent directly to the gateways listed
in the sourceripgateways option described below.
quiet Processes all incoming RIP packets, but does not supply any
RIP information despite the number of network interfaces
present.
gateway #
Processes all incoming RIP packets and supplies RIP
information every 30 seconds, as well as announcing the
default route (0.0.0.0) with a metric value of #. The
metric value should represent a RIP hopcount. With this
option set, all other default routes coming from other RIP
gateways will be ignored. The default route is announced
only when actively peering with at least one EGP neighbor
and therefore should be used only when EGP is used.
If no RIP string is specified, RIP will not be performed.
HELLO {yes|no|supplier|pointopoint|quiet|gateway #}
This string tells the gated process how to perform the HELLO
routing protocol. The arguments parallel the RIP arguments but do
have some minor differences. Only one of the above HELLO arguments
is allowed after the keyword HELLO. If more than one is specified,
only the first one is recognized. A list of the arguments to the
HELLO string follows:
yes Tells the gated process to run the HELLO protocol.
Processes all incoming HELLO packets and supplies HELLO
information every 15 seconds if there are two or more
4 Intergraph Corporation - 2/94
gated(8) CLIX gated(8)
network interfaces.
no Tells the gated process to not run the HELLO protocol.
supplier
Tells the gated process to perform the HELLO protocol,
processing all incoming HELLO packets and forcing HELLO
information to be supplied every 15 seconds despite the
number of network interfaces present.
pointopoint
Tells the gated process to run the HELLO protocol,
processing all incoming HELLO packets and forcing HELLO
information to be supplied every 15 seconds despite the
number of network interfaces present. When this argument is
specified, HELLO information will not be sent out in a
broadcast packet. The HELLO information will be sent
directly to the gateways listed in the sourcehellogateways
option.
quiet Tells the gated process to run all incoming HELLO packets,
and to not supply any HELLO information despite the number
of network interfaces present.
gateway #
Processes all incoming HELLO packets; supplies HELLO
information every 15 seconds, and announces the default
route (0.0.0.0) with a time delay of #. The time delay
should be specified in milliseconds. The default route is
announced only when actively peering with at least one EGP
neighbor. Therefore, it should be used only when EGP is
running.
If no HELLO string is specified, HELLO will not be performed.
EGP {yes|no}
This clause allows EGP processing by the gated process to be turned
on or off.
no Tells the gated process to not perform EGP processing.
yes Tells the gated process to perform all EGP operations.
By default, EGP processing will occur. Therefore, if no EGP clause
is specified, all EGP operations will occur.
autonomoussystem #
If EGP protocol is being performed, this clause must be used to
specify the autonomous system number (#). If not specified, the
gated process will exit and give a fatal error message.
2/94 - Intergraph Corporation 5
gated(8) CLIX gated(8)
egpmaxacquire #
If EGP protocol is being performed, this clause specifies the
number of EGP peers with which the gated process will be
performing. This number must be greater than 0 and less than or
equal to the number of EGP neighbors specified or the gated process
will exit. If this string is omitted, all EGP neighbors will be
acquired.
egpneighbor gateway1 [metricin metric] [egpmetricout egpmetric1]
[ASin asin [ASout asout [AS as] [nogendefault] [acceptdefault]
[defaultout egpmetric2] [validate] [intf interface] [sourcenet net]
[gateway gateway2]
If an EGP protocol is being performed, this string specifies the
peers with which the gated process will be performing. The
neighbor, gateway1, can be either a symbolic name in the /etc/hosts
file or an Internet Protocol (IP) hostname in Internet dot
(n.n.n.n) notation. The dot notation is recommended to avoid
confusion. Each EGP neighbor will be acquired in the order listed
in the configuration file.
The metricin option specifies the internal time delay to be used as
a metric for all of the routes learned from gateway1. The metric
variable should be specified as a time delay from 0-30000. If this
option and the validate option are not used, the internal metric
used is the EGP distance multiplied by 100.
The egpmetricout option specifies the EGP distance used for all
networks advertised to gateway1. The egpmetric1 variable should be
specified as an EGP distance in the range of 0-255. If this option
is not specified, the internal time delay for each route will be
converted to an EGP distance of division by 100, with distances
greater than 255 being set to 255.
The ASin option verifies the autonomous system number asin of this
neighbor. If the autonomous system number specified in neighbor
acquisition packets does not verify, an error message is generated
refusing the connection. If this option is not specified,
autonomous system numbers are not verified.
The ASout option specifies the autonomous system number asout in
EGP packets sent to gateway1. If not specified, the autonomous
system specified in the autonomoussystem string is used. This
string should not normally be used, it is reserved for interface
situations between the Advanced Research Project Agency Network
(ARPANET) and the National Science Foundation Network (NSFNET).
The AS option specifies the autonomous system number that will be
assigned to routes learned from gateway1. If as is not specified,
the autonomous system used in the EGP packets received from this
neighbor will be used. However, this string should not normally be
used, since it is reserved for special interface situations between
6 Intergraph Corporation - 2/94
gated(8) CLIX gated(8)
the ARPANET and NSFNET.
The nogendefault option specifies that this neighbor should not be
considered for the internal generation of a default when the RIP
gateway or HELLO gateway is used. If not specified, the internal
default will be generated when actively peering with this neighbor.
The acceptdefault option is used to specify that the default route
(network 0.0.0.0) should be valid when received from gateway1. If
this option is not specified, the reception of the default route
will cause a warning message to be displayed and the route to be
ignored.
The defaultout option specifies that the internally generated
default may be passed to gateway1 at the specified distance. The
distance should be specified as an EGP distance from 0-255. A
default route learned from another gateway will not be propagated
to an EGP neighbor. Normally, EGP will not pass a default route.
The acceptdefault option should not be specified when the
defaultout option is used. The egpmetric1 specified in the
egpmetricout option does not apply. The default route will always
use the egpmetric2 specified by the defaultout option.
The validate option specifies that all networks received from
gateway1 must be specified in the validAS string that also
specifies the neighboring autonomous system. Networks without a
validAS clause will be ignored after a warning message is
displayed.
The intf option specifies the interface used to send EGP packets to
gateway1. This option is required only when no common net/subnet
is with this EGP neighbor. This option currently is present only
for testing purposes and does not imply correct operation when
peering with an EGP neighbor that does not share a common
net/subnet.
The sourcenet option specifies the source net to be specified in
the EGP poll packets sent to gateway1. If this option is not
specified, the network (not subnet) of the interface is used to
communicate with gateway1. This option is currently present only
for testing purposes and does not imply correct operation when
used.
The gateway option specifies gateway2 to be used when installing
routes learned from an EGP neighbor on a different network.
Normally these routes would be ignored. This option is currently
present only for testing purposes and correct operation cannot be
assured when it is used.
Configuration File Options For Handling Routing
2/94 - Intergraph Corporation 7
gated(8) CLIX gated(8)
The following configuration file options tell the gated command how to
process both incoming and outgoing routing information:
trustedripgateways gateway ...
trustedhellogateways gateway ...
When these clauses are specified, the gated process will listen
only to RIP or HELLO information, respectively, from the RIP or
HELLO gateways. The gateway can be either a symbolic name from the
/etc/hosts file or an IP host address in dot notation (n.n.n.n).
Again, dot notation is recommended to eliminate confusion. This
string does not restrict the propagation of routing information.
sourceripgateways gateway ...
sourcehellogateways gateway ...
The gated process sends RIP or HELLO information directly to the
gateways specified. If pointopoint is specified in the RIP or
HELLO strings, the gated process will send only RIP or HELLO
information to specified gateways. The gated process will not send
any information using the broadcast address. If pointopoint is not
specified in those strings and the gated process is supplying RIP
or HELLO information, gated will send information to specified
gateways and broadcast it using a broadcast address.
noripoutinterface intf addr [intfaddr] ...
nohellooutinterface intf addr [intfaddr] ...
noripfrominterface intf addr [intfaddr] ...
nohellofrominterface intf addr [intfaddr] ...
The above clauses turn protocols on and off for each interface
addr. The no{rip|hello}frominterface string means that no RIP or
HELLO information will be accepted into the listed interfaces from
another gateway. The no{rip|hello}outinterface string means that
no RIP or HELLO knowledge will be sent from the listed interfaces.
The intfaddr should be in dot notation (n.n.n.n.).
passiveinterfaces intf addr [intfaddr] ...
In order to dynamically determine if an interface is properly
functioning, the gated process will time out an interface when no
RIP, HELLO, or EGP packets are being received on that particular
interface. Packet Switched Network (PSN) interfaces send a RIP or
HELLO packet to themselves to determine if the interface is
properly functioning as the delay between EGP packets may be longer
than the interface timeout. Routes for interfaces that have timed
out automatically are reinstalled when routing information is again
received over the interface. The above string stops the gated
process from timing out the listed interfaces. The interfaces
listed will always be up and working. If the gated process is not
a RIP or HELLO supplier, all interfaces will not be aged and the
passiveinterfaces automatically applies to all interfaces.
interfacemetric intfaddr metric#
This feature allows an interface metric to be specified for the
8 Intergraph Corporation - 2/94
gated(8) CLIX gated(8)
listed interface. On systems that support interface metrics, this
string will override the kernel's metric. On systems that do not
support an interface metric, this feature allows one to be
specified. The interface metric is added to the true metric of
each route that comes in through routing information from the
listed interface. The interface metric is also added to the true
metric of any information sent out through the listed interface.
The metric of directly attached interfaces is also set to the
interface metric. Routing information broadcast about directly
attached networks will be based on the interface metric specified.
This clause is required for each interface on which an interface
metric is desired.
reconstmetric intfaddr metric#
This is a first attempt to support fallback routing in the gated
process. If the above clause is used, the metrics of the routes
contained in any RIP information coming into the listed interface
will be set to the specified metric#. Metric reconstitution should
not be used lightly, since it could be a major contributor in
forming routing loops. Use this with extreme caution. Any route
that has a metric of infinity will not be reconstituted and will
remain infinity.
fixedmetric intfaddr proto {rip|hello} metric#
This is another attempt to support fallback routing in the gated
process. If the above clause is used, all routing information sent
out to the specified interface will have a metric value of metric#.
For RIP, specify the metric as a RIP hopcount from 0 to infinity.
For HELLO, specify the metric as a HELLO delay in milliseconds from
0 to infinity. Any route that has a metric of infinity will remain
infinity. Fixed metrics should also be used with extreme caution.
donotlisten net intf addr ... proto {rip|hello}
donotlistenhost host intf addr ... proto {rip|hello}
This string reads as follows: keyword donotlisten followed by a
network number, which should be in dot notation followed by the
keyword intf. Then a list of interfaces in dot notation precede
the keyword proto, followed by rip or hello.
This means that any information regarding net coming in through the
specified protocols and from the specified interfaces will be
ignored. The keyword all may be used after the keyword intf to
specify all interfaces on the machine. Note the following example:
donotlisten 10.0.0.0 intf 128.84.253.200 proto rip
This means that any RIP information about network 10.0.0.0 coming
in through interface 128.84.253.200 will be ignored. One clause is
required for each network on which this restriction is desired.
donotlisten 26.0.0.0 intf all proto rip hello
2/94 - Intergraph Corporation 9
gated(8) CLIX gated(8)
This means that any RIP and HELLO information about network
26.0.0.0 coming in through any interface will be ignored.
The donotlistenhost can be described the same way as above except
that a host address is provided instead of a network address.
Restrictions of the nature described above are applied to the
specified host route that the specified routing protocol learns
about.
listen net gateway addr ... proto {rip|hello}
listenhost host gateway addr ... proto {rip|hello}
This clause reads as follows: keyword listen followed by a network
number that should be in dot notation followed by the keyword
gateway. Then a list of gateways in dot notation should precede
the keyword proto, followed by rip or hello. This tells the
protocol to listen only to information about network net by the
specified protocol(s) only from the listed gateways. Note the
following example:
listen 128.84.0.0 gateway 128.84.253.3 proto hello
This means that any HELLO information about network 128.84 coming
in through gateway 128.84.253.3 will be accepted. Any other
information about 128.84 from any other gateway will be rejected.
One string is necessary for each network to be restricted.
listenhost 26.0.0.15 gateway 128.84.253.3 proto rip
This means that any information about host 26.0.0.15 must come by
RIP and from gateway 128.84.253.3. All other information regarding
this host will be ignored.
announce net intf addr ... proto type [egpmetric #]
announcehost host intf addr ... proto type [egpmetric #]
noannounce net intf addr ... proto type [egpmetric #]
noannouncehost host intf ... proto type [egpmetric #]
These strings restrict networks and identify the protocols by which
they are restricted. The announce [host] and noannounce [host]
clauses may not be used together on the same interface. With the
announce [host] string, the gated process will announce only the
networks or hosts that have an associated announce [host] string
with the appropriate protocol. With the noannounce [host] clause,
gated will announce everything except networks or hosts that have
an associated noannounce [host] string. These strings allow a
choice of announcing only what is on the announce list or
everything except networks on the noannounce list on a per-
interface basis.
The arguments are the same as the arguments in the donotlisten
clause except egp may be specified in the proto field. The type
can either be rip, hello, egp, or any combination of the three.
10 Intergraph Corporation - 2/94
gated(8) CLIX gated(8)
When egp is specified in the proto field, an EGP metric must be
specified. This is the metric at which the gated process will
announce the listed network through EGP.
These are not static route entries. These restrictions will apply
only if the network or host is informed by one of the routing
protocols. If a restricted network suddenly becomes unreachable
and goes away, announcement of this network will stop until it is
learned again.
Currently, only one announce [host] or noannounce [host] may be
specified per network or host. It is not possible to announce a
network or host through HELLO out one interface and through RIP out
another. Note the following examples:
announce 128.84 intf all proto rip hello egp egpmetric 0
announce 10.0.0.0 intf all proto rip
announce 0.0.0.0 intf 128.84.253.200 proto rip
announce 35.0.0.0 intf all proto rip egp egpmetric 3
With only these four announce clauses in the configuration file,
gated will announce only these four networks. It will announce
128.84.0.0 by RIP and HELLO to all interfaces and announce it by
EGP with a metric of 0. RIP will announce network 10.0.0.0 to all
interfaces. RIP will announce network 0.0.0.0 (default) out
interface 128.84.253.200 only. RIP will announce network 35.0.0.0
to all interfaces and EGP will announce it with a metric of 3.
These are the only networks that will be broadcast by this gateway.
Once the first announce string is specified, only the networks with
announce clauses will be broadcast; this includes local
subnetworks.
Once an announce[host] or noannounce[host] has an all specified
after an intf, that clause is applied globally and the option of
having per-interface restrictions is lost. If no routing
announcement restrictions are desired, announce clauses should not
be used. All information learned will then be propagated out.
These strings do not affect the information to which the gated
process listens. Any network that does not have an announce clause
is still added to the kernel routing tables, but none of the
routing protocols announce the network. To stop networks from
being added to the kernel, the donotlisten string may be used.
announce 128.84 intf 128.59.2.1 proto rip
noannounce 128.84 intf 128.59.1.1 proto rip
The above strings mean that on interface 128.59.2.1, RIP will
announce only information about 128.84.0.0; but on interface
128.59.1.1, RIP will announce all information except 128.84.0.0.
noannounce 128.84 intf all proto rip hello egp egpmetric 0
2/94 - Intergraph Corporation 11
gated(8) CLIX gated(8)
noannounce 10.0.0.0 intf all proto hello
These strings mean that except for the two specified networks, all
networks will be propagated. Specifically, no protocol will
announce network 128.84.0.0 on any interface. Knowledge of
128.84.0.0 is not sent anywhere. The HELLO protocol will not
announce network 10.0.0.0 to any interface. This also implies that
RIP will announce network 10.0.0.0 to every interface. The EGP
will also broadcast this network with a metric specified in the
defaultegpmetric string.
defaultegpmetric #
This is a default EGP metric to use when there are no routing
restrictions. Normally, with no routing restrictions, the gated
daemon announces all networks learned by HELLO or RIP by EGP with
this specified default EGP metric. If this clause is not used, the
default EGP metric is set to 255, which would ignore any EGP
advertised route of this nature. When there are no routing
restrictions, any network with a direct interface is announced by
EGP with a metric of 0. The announcements do not include subnets.
It includes only the nonsubnetted network.
defaultgateway gateway proto [metric] {active|passive}
This default gateway is installed in the kernel routing tables
during initialization and is reinstalled when information about the
default route is lost. This route is installed with the time delay
equivalent of a RIP metric of 15 unless another metric is specified
with the metric option.
If RIP gateway or HELLO gateway are in use, this default route is
deleted when successfully peering with an EGP neighbor not
specified for nogendefault.
Any other default route learned by another routing protocol will
override an active default route. Only a default route with a
lower metric will override a passive default route.
An active default route will not be propagated in routing updates;
a passive default route will be propagated.
The gateway variable should be an address in dot notation. The
metric variable is optional and should be a metric in the specified
protocol between zero and infinity. If not specified, a RIP metric
of 15 is used. The proto field should be either rip, egp, or
hello. The proto field initializes the protocol by which the route
was learned.
net netaddr gateway addr metric hopcnt {rip|egp|hello}
host hostaddr gateway addr metric hopcnt {rip|egp|hello}
The previous strings install a static route to net netaddr or host
hostaddr through gateway addr at a metric of hopcnt learned by
12 Intergraph Corporation - 2/94
gated(8) CLIX gated(8)
either RIP, HELLO, or EGP. If hopcnt is 0, netaddr is logically
equivalent to the network on the interface with address addr. As
usual, dot notation is recommended for the addresses. This route
will be installed in the kernel's routing table and will never be
affected by any other gateway's RIP or HELLO announcements. The
protocol by which it was learned is important if EGP will announce
the route. If the protocol is rip or hello and there are no
routing restrictions, EGP will announce the route with a metric
specified in the defaultegpmetric string. If the protocol is egp
and there are no routing restrictions, EGP will announce the route
with a metric of hopcnt.
egpnetsreachable net ...
This option remains as a soft restriction. It cannot be used when
the announce or noannounce clause is used. Normally, with no
restrictions, gated announces all routes learned from RIP and HELLO
by EGP. The egpnetsreachable string restricts EGP announcement to
the networks listed in the string. The metric used for the HELLO
and RIP learned routes is the value given in the defaultegpmetric
string. If this clause does not specify a value, the value is set
to 255. With the egpnetsreachable string, individual unique EGP
metrics may not be set for each network. The defaultegpmetric is
used for all networks except those that are directly
connected,which use a metric of 0.
martiannets net ...
This string appends to the gated process list of martian networks.
Martian networks are those known to be invalid and should be
ignored. When the gated daemon learns of one of these networks
through any means, it will immediately ignore the network. If
external tracing is enabled, a message will be displayed to the
trace log. Multiple occurrences of the martiannets string
accumulate.
An initial list of martian networks is coded into the gated process
in the include file rt_control.h. This list contains 127.0.0.0,
128.0.0.0, 191.253.0.0, 192.0.0.0, 223.255.255.0, and 224.0.0.0.
Configuration File Options for Autonomous System (AS) Routing
In the internal routing tables, the gated process maintains the autonomous
system number from which each route was learned. Autonomous systems are
used only when an exterior routing protocol is in use (in this case EGP).
Routes are tagged with the autonomous system number of the EGP peer from
which they were learned. Routes learned by the interior routing
protocols, RIP and HELLO, are tagged with the autonomous system number
specified in the autonomoussystem string.
The gated command normally does not propagate routes learned from exterior
routing protocols to interior routing protocols. Historically, this is
because of the ARPANET core EGP speakers that do not have adequate
2/94 - Intergraph Corporation 13
gated(8) CLIX gated(8)
validation of routing information they receive. Some of the following
allow exterior routes to be propagated by interior protocols. Therefore,
it is crucial for the user to be extremely cautious when allowing exterior
routes to be propagated. They should not be used unless their authors are
consulted if the user is in doubt about their use.
The following strings provide limited control over routing based on an
autonomous system number.
validAS net AS as metric metric
The validAS string validates networks from certain autonomous
systems. When an EGP update is received from a neighbor that has
the validate option specified on the associated egpneighbor clause,
a validAS clause is searched for, specifying the newly received
network and the autonomous system number of the EGP neighbor. If
the appropriate validAS clause is located, the network is
considered for addition to the routing table with the specified
metric. If a validAS clause is not located, a warning message is
displayed and the network is ignored.
A network may be specified in several validAS strings as being
associated with several different autonomous systems.
announcetoAS as0 {restrict|norestrict} ASlist as1 ...
noannouncetoAS as0 {restrict|norestrict} ASlist as1 ...
The announcetoAS and noannouncetoAS control the exchanging of
routing information between different autonomous systems.
Normally, the gated command will not propagate routing information
between autonomous systems. The exception to this is that routes
learned from the gated process own autonomous system by RIP and
HELLO will be propagated by EGP. These strings allow information
learned by EGP from one autonomous system to be propagated by EGP
to another autonomous system or by RIP and HELLO to the gated
autonomous system.
If the announcetoAS is specified, information learned by EGP from
autonomous systems as1 ... will be propagated to autonomous system
as0. If the gated process autonomous system, as specified in the
autonomoussystem string, is specified as as0, RIP and HELLO will
propagate this information. Routing information from autonomous
systems not specified in the AS list will not be propagated to
autonomous system as0.
If the noannouncetoAS string is specified, information learned by
EGP from all autonomous systems except as1 ... will be propagated
to autonomous systems as0. If the autonomous system of the gated
daemon is specified as as0, this information will not be propagated
by RIP and HELLO.
The [no]restrict option controls the application of announce and
noannounce strings to the propagation of routes to different
14 Intergraph Corporation - 2/94
gated(8) CLIX gated(8)
autonomous systems. If restrict is specified, normal announcement
restrictions apply. If norestrict is specified, announcement
restrictions are not considered. All routes from the source
autonomous systems are propagated to the destination autonomous
system.
Only one announcetoAS or noannounceAS clause may be specified per
target autonomous system.
Notes on Configuration Options
The gated daemon stores its process ID in the /etc/gated.pid file. If EGP
is being used when supplying the default route (through RIP gateway or
HELLO gateway) and all EGP neighbors are lost, the default route will not
be advertised until at least one EGP neighbor is regained.
With the complexity of the current network topology and with many back-
door paths to networks, the use of routing restrictions is recommended.
With the current routing strategies, it is easy for illegal or invalid
networks to penetrate into the ARPANET core or the NSFNET backbone. Using
routing restrictions takes a little more maintenance time and routing
restrictions are not the long-term answer, but for now they must be used.
Gated Internal Metrics
The gated process stores all metrics internally as a time delay in
milliseconds to preserve the granularity of HELLO time delays. The
internal delay ranges from 0 to 30000 milliseconds, with 30000
representing infinity. Metrics from other protocols are translated to and
from a time delay as they are received and transmitted. The EGP distances
are not comparable to HELLO and RIP metrics but are stored as a time delay
internally to compare with other EGP metrics. The conversion factor
between EGP distances and time delays is 100.
The RIP and interface metrics are translated to and from the internal time
delays with the following translation tables:
Time Delay RIP Metric RIP Metric Time Delay
0 - 0 0 0 0
1 - 100 1 1 100
101 - 148 2 2 148
149 - 219 3 3 219
220 - 325 4 4 325
326 - 481 5 5 481
482 - 713 6 6 713
714 - 1057 7 7 1057
1058 - 1567 8 8 1567
1568 - 2322 9 9 2322
2/94 - Intergraph Corporation 15
gated(8) CLIX gated(8)
2323 - 3440 10 10 3440
3441 - 5097 11 11 5097
5098 - 7552 12 12 7552
7553 - 11190 13 13 11190
11191 - 16579 14 14 16579
16580 - 24564 15 15 24564
24565 - 30000 16 16 30000
Notes on Implementation Specifics
In the gated process configuration file, all references to Point-to-Point
(PTP) interfaces must use the destination address. This is the only
change made to the configuration file syntax from earlier versions, which
used the source address of the PTP link. Otherwise, old configuration
files should be compatible.
All protocols have a two-minute hold down. When a routing update
indicates that the route in use is being deleted, the gated process will
not delete the route for two minutes.
If changes are made to the interfaces, the gated daemon will notice them.
The gated process does not need to be restarted. If the netmask,
subnetmask, broadcast address, or interface metric is changed, the
interface should be marked down with ifconfig and then marked up at least
30 seconds later. Flag changes do not require the interface to be brought
down and back up.
To handle PTP links more consistently, RIP propagates and listens to host
routes. This version also supports the RIP_TRACE commands as well as
subnet interfaces are supported. Subnet information will be propagated
only on interfaces to other subnets of the same network. For example, if
there is a gateway between two Class B networks, the subnet routes for
each respective Class B network are not propagated into the other Class B
network. Only the Class B network number is propagated.
The gated process listens to both host and network REDIRECTs and tries to
take an action on the REDIRECT for its own internal tables that parallels
the kernel's action. In this way, the redirect function in the gated
process parallels the Berkeley kernel redirect function as closely as
possible. Unlike the Berkeley kernel, gated deletes routes learned by a
REDIRECT after six minutes. The route is then deleted from the kernel
routing tables. This helps keep the routing tables more consistent. Any
route that was learned by a REDIRECT is not announced by any routing
protocol.
The gated EGP code verifies that all networks sent and received are valid
Class A, B, or C networks according to the EGP specification. Information
about networks that do not meet these criteria is not propagated. If an
EGP update packet contains information about a network that is not either
Class A, B, or C, the update is in error and is ignored. Only the
information about the specific network will be ignored if gated is
16 Intergraph Corporation - 2/94
gated(8) CLIX gated(8)
compiled with the EGP_IGNORE_BAD define specified.
EXAMPLES
1. To run gated without tracing, enter:
/etc/gated
2. To run gated and trace all error messages, route changes, and EGP
packets sent and received, enter:
/etc/gated -t
FILES
/etc/gated.conf Configuration file.
/etc/gated.pid Process-ID of the running gated process.
/usr/tmp/gated_dump Memory dump file.
/etc/gated.version Contains gated version information.
CAUTIONS
The user should exercise caution when using this option.
DIAGNOSTICS
The following error message appears if a system error is encountered while
attempting to transmit:
inet_output: tx( ) error sending 128 bytes to 129.135.200.11)
Other diagnostic messages may be displayed if other system errors are
encountered.
EXIT VALUES
Exit values are not valid for this command.
RELATED INFORMATION
Commands: routed(8)
2/94 - Intergraph Corporation 17