Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

routed(8)



  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




Typewritten Software • bear@typewritten.org • Edmonds, WA 98026