Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
/etc/gateways
The /etc/gateways file is used by the routing daemon, in.routed(1M). When the daemon starts, it reads /etc/gateways to find such distant gateways that cannot be located using only information from a routing socket, to discover if some of the local gateways are passive, and to obtain other parameters.
The /etc/gateways file consists of a series of lines, each in one of the two formats shown below or consisting of parameters described later. Blank lines and lines starting with "#" are treated as comments.
One format specifies networks:
net Nname[/mask] gateway Gname metric value <passive | active | external>
The other format specifies hosts:
host Hname gateway Gname metric value <passive | active | external>
Host hname is equivalent to net nname/32.
The parameters in the lines shown above are described as follows:
Nname or Hname
Name of the destination network or host. It can be a symbolic network name or an Internet address specified in dot notation (see inet(3SOCKET)). If it is a name, then it must either be defined in /etc/networks or /etc/hosts, or a naming service must have been started before in.routed(1M).
Mask
An optional number between 1 and 32 indicating the netmask associated with Nname.
Gname
Name or address of the gateway to which RIP responses should be forwarded.
Value
The hop count to the destination host or network.
passive | active | external
One of these keywords must be present to indicate whether the gateway should be treated as passive or active, or whether the gateway is external to the scope of the RIP protocol. A passive gateway is not expected to exchange routing information, while gateways marked active should be willing to exchange RIP packets. See in.routed(1M) for further details.
After turning on debugging in in.routed with the -t option, you can see that lines that follow the format described above create pseudo-interfaces. To set parameters for remote or external interfaces, use a line starting with if=alias(Hname), if=remote(Hname), and so forth.
For backward compatibility with the previous Solaris in.routed implementation, three special keyword formats are accepted. If present, these forms must each be on a separate line, and must not be combined on the same line with any of the keywords listed elsewhere in this document. These three forms are:
norip ifname
Disable all RIP processing on the specified interface.
noripin ifname
Disable the processing of received RIP responses on the specified interface.
noripout ifname
Disable RIP output on the specified interface.
Lines that start with neither net nor host must consist of one or more of the following parameter settings, separated by commas or blanks:
if=ifname
Indicates that the other parameters on the line apply only to the interface name ifname. If this parameter is not specified, then other parameters on the line apply to all interfaces.
subnet=nname[/mask][,metric]
Advertises a route to network nname with mask mask and the supplied metric (default 1). This is useful for filling holes in CIDR allocations. This parameter must appear by itself on a line. The network number must specify a full, 32-bit value, as in 192.0.2.0 instead of 192.0.2.
ripv1_mask=nname/mask1,mask2
Specifies that the netmask of the network of which nname/mask1 is a subnet should be mask2. For example, ripv1_mask=192.0.2.16/28,27 marks 192.0.2.16/28 as a subnet of 192.0.2.0/27 instead of 192.0.2.0/24. It is better to turn on RIPv2 instead of using this facility. See the description of ripv2_out, below.
passwd=XXX[|KeyID[start|stop]]
Specifies a RIPv2 cleartext password that will be included on all RIPv2 responses sent, and checked on all RIPv2 responses received. Any blanks, tab characters, commas, or "#", "|", or NULL characters in the password must be escaped with a backslash (\e). The common escape sequences \en, \er, \et, \eb, and \exxx have their usual meanings. The KeyID must be unique but is ignored for cleartext passwords. If present, start and stop are timestamps in the form year/month/day@hour:minute. They specify when the password is valid. The valid password with the longest future is used on output packets, unless all passwords have expired, in which case the password that expired most recently is used. If no passwords are valid yet, no password is output. Incoming packets can carry any password that is valid, will be valid within 24 hours, or that was valid within 24 hours. To protect password secrecy, the passwd settings are valid only in the /etc/gateways file and only when that file is readable only by UID 0.
md5_passwd=XXX|KeyID[start|stop]
Specifies a RIPv2 MD5 password. Except that a KeyID is required, this keyword is similar to passwd (described above).
no_ag
Turns off aggregation of subnets in RIPv1 and RIPv2 responses.
no_host
Turns off acceptance of host routes.
no_super_ag
Turns off aggregation of networks into supernets in RIPv2 responses.
passive
Marks the interface not to be advertised in updates sent over other interfaces, and turns off all RIP and router discovery through the interface.
no_rip
Disables all RIP processing on the specified interface. If no interfaces are allowed to process RIP packets, in.routed acts purely as a router discovery daemon. Note that turning off RIP without explicitly turning on router discovery advertisements with rdisc_adv or -s causes in.routed to act as a client router discovery daemon, which does not advertise.
no_rip_mcast
Causes RIPv2 packets to be broadcast instead of multicast.
no_ripv1_in
Causes RIPv1 received responses to be ignored.
no_ripv2_in
Causes RIPv2 received responses to be ignored.
ripv2_out
Turns on RIPv2 output and causes RIPv2 advertisements to be multicast when possible.
ripv2
Equivalent to no_ripv1_in and ripv2_out. This enables RIPv2 and disables RIPv1.
no_rdisc
Disables the Internet Router Discovery Protocol.
no_solicit
Disables the transmission of Router Discovery Solicitations.
send_solicit
Specifies that Router Discovery solicitations should be sent, even on point-to-point links, which, by default, only listen to Router Discovery messages.
no_rdisc_adv
Disables the transmission of Router Discovery Advertisements.
rdisc_adv
Specifies that Router Discovery Advertisements should be sent, even on point-to-point links, which by default only listen to Router Discovery messages.
bcast_rdisc
Specifies that Router Discovery packets should be broadcast instead of multicast.
rdisc_pref=N
Sets the preference in Router Discovery Advertisements to the optionally signed integer N. The default preference is 0. Default routes with higher or less negative preferences are preferred by clients.
rdisc_interval=N
Sets the nominal interval with which Router Discovery Advertisements are transmitted to N seconds and their lifetime to 3*N.
fake_default=metric
Has an identical effect to -F net[/mask][=metric] with the network number and netmask coming from the specified interface.
pm_rdisc
Similar to fake_default. To prevent RIPv1 listeners from receiving RIPv2 routes when those routes are multicast, this feature causes a RIPv1 default route to be broadcast to RIPv1 listeners. Unless modified with fake_default, the default route is broadcast with a metric of 14. That serves as a poor man's router discovery protocol.
trust_gateway=rtr_name[|net1/mask1|net2/mask2\ fR|...]
Causes RIP packets from that router and other routers named in other trust_gateway keywords to be accepted, and packets from other routers to be ignored. If networks are specified, then routes to other networks will be ignored from that router.
redirect_ok
Causes RIP to allow ICMP Redirect messages when the system is acting as a router and forwarding packets. Otherwise, ICMP Redirect messages are overridden.
rip_neighbor=x.x.x.x
By default, RIPv1 advertisements over point-to-point links are sent to the peer's address (255.255.255.255, if none is available), and RIPv2 advertisements are sent to either the RIP multicast address or the peer's address if no_rip_mcast is set. This option overrides those defaults and configures a specific address to use on the indicated interface. This can be used to set a broadcast type advertisement on a point-to-point link.
in.routed(1M), route(1M), rtquery(1M), inet(3SOCKET),
Internet Transport Protocols, XSIS 028112, Xerox System Integration Standard