routeadm(1M) routeadm(1M)
NAME
routeadm - IP forwarding and routing configuration
SYNOPSIS
routeadm [-p]
routeadm [-R root-dir] [-e option...] [-d option...] [-r option...] [-s var=value]
routeadm [-u]
The routeadm command is used to administer system-wide configuration for IP forwarding and routing. IP forwarding is the passing of IP
packets from one network to another; IP routing is the use of a routing protocol to determine routes.
routeadm is used to enable or disable each function independently, overriding any system default setting for each function.
The first usage, above, reports the current configuration.
The following command-line options are supported:
-p
Print the configuration in parseable format.
-R root-dir
Specify an alternate root directory where routeadm applies changes. This can be useful from within JumpStart scripts, where the root
directory of the system being modified is mounted elsewhere.
Note - The root file system of any non-global zones must not be referenced with the -R option. Doing so might damage the global zone's
file system, might compromise the security of the global zone, and might damage the non-global zone's file system. See
zones(5).
-e option...
Enable the specified option.
-d option...
Disable the specified option.
-r option...
Revert the specified option to the system default. The system defaults are specified in the description of each option.
-u
Apply the currently configured options to the running system. Enable or disable IP forwarding, and/or launch or kill routing daemons.
It does not alter the state of the system for those settings that have been set to default. This option is meant to be used by adminis-
trators who do not want to reboot to apply their changes.
-s var=value
Specify string values for specific variables in a comma-separated list with no intervening spaces. If invalid options are specified, a
warning message is printed and the program exits. The following variables can be specified:
ipv4-routing-daemon=<full_path_to_routing_daemon>
Specifies the routing daemon to be started when ipv4-routing is enabled. The routing daemon specified must be an executable binary
or shell-script. Default: "/usr/sbin/in.routed"
ipv4-routing-daemon-args=<args>
Specifies the startup arguments to be passed to the ipv4-routing-daemon when ipv4-routing is enabled. Default: no arguments
ipv4-routing-stop-cmd=<command>
Specifies the command to be executed to stop the routing daemon when ipv4-routing is disabled. <command> may be an executable
binary or shell-script, or a string that can be parsed by system(3C). Default: "kill -TERM `cat /var/run/in.routed.pid`"
ipv6-routing-daemon=<full_path_to_routing_daemon>
Specifies the routing daemon to be started when ipv6-routing is enabled. The routing daemon specified must be an executable binary
or shell-script. Default: "/usr/lib/inet/in.ripngd"
ipv6-routing-daemon-args=<args>
Specifies the startup arguments to be passed to the ipv6-routing-daemon when ipv6-routing is enabled. Default: "-s"
ipv6-routing-stop-cmd=<command>
Specifies the command to be executed to stop the routing daemon when ipv6-routing is disabled. <command> can be an executable
binary or shell-script, or a string that can be parsed by system(3C). Default: "kill -TERM `cat /var/run/in.ripngd.pid`"
Note that, if you change the routing daemon and stop commands from their defaults, routeadm does not monitor these daemons or commands.
This is because the status of these programs depends on user configuration. When non-default daemons or stop commands are in use, routeadm
always returns a status of "unknown".
Multiple -e, -d, and -r options can be specified on the command line. Changes made by -e, -d, and -r are persistent, but are not applied to
the running system unless routeadm is called later with the -u option.
Use the following options as arguments to the -e, -d, and -r options (shown above as option...).
ipv4-forwarding
Controls the global forwarding configuration for all IPv4 interfaces. The system default is disabled. If enabled, IP will forward IPv4
packets to and from interfaces when appropriate. If disabled, IP will not forward IPv4 packets to and from interfaces when appropriate.
ipv4-routing
Determines whether or not an IPv4 routing daemon is run. The system default is enabled unless the /etc/defaultrouter file exists, in
which case the default is disabled. The routing daemon for IPv4 is /usr/sbin/in.routed.
ipv6-forwarding
Controls the global forwarding configuration for all IPv6 interfaces. The system default is disabled. If enabled, IP will forward IPv6
packets to and from interfaces when appropriate. If disabled, IP will not forward IPv6 packets to and from interfaces when appropriate.
ipv6-routing
Determines whether or not an IPv6 routing daemon is run. The system default is disabled. The routing daemon for IPv6 is
/usr/lib/inet/in.ripngd. If not set, the system boot scripts' current default logic determines whether or not to run in.ripngd. Note
that even if this option is enabled, an IPv6 routing daemon will run only if ipv6-forwarding is enabled.
The forwarding and routing settings are related but not mutually dependent. For example, a router will typically forward IP packets and use
a routing protocol, but nothing would prevent an administrator from configuring a router that forwards packets and does not use a routing
protocol. In that case, the administrator would enable forwarding, disable routing, and populate the router's routing table with static
routes.
The forwarding settings are global settings. Each interface also has an IFF_ROUTER forwarding flag that determines whether packets can be
forwarded to or from a particular interface. That flag can be independently controlled by means of ifconfig(1M)'s router option. When the
global forwarding setting is changed (that is, -u is issued to change the value from enabled to disabled or vice-versa), all interface
flags in the system are changed simultaneously to reflect the new global policy. Interfaces configured by means of DHCP automatically have
their interface-specific IFF_ROUTER flag cleared.
When a new interface is plumbed by means of ifconfig(1M), the value of the interface-specific forwarding flag is set according to the cur-
rent global forwarding value. Thus, the forwarding value forms the "default" for all new interfaces.
The following exit values are returned:
0
Successful completion.
!=0
An error occurred while obtaining or modifying the system configuration.
Example 1: Enabling IPv4 Forwarding
IPv4 forwarding is disabled by default. The following command enables IPv4 forwarding:
example# routeadm -e ipv4-forwarding
Example 2: Apply Configured Settings to the Running System
In the previous example, a system setting was changed, but will not take effect until the next reboot unless a command such as the follow-
ing is used:
example# routeadm -u
Example 3: Making a Setting Revert to its Default
To make the setting changed in the first example revert to its default, enter the following:
example# routeadm -r ipv4-forwarding
example# routeadm -u
Example 4: Starting in.routed with the -q Flag
The following sequence of commands starts in.routed with the -q flag:
example# routeadm -s ipv4-routing-daemon-args="-q"
example# routeadm -u
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
|Interface Stability |Stable |
+-----------------------------+-----------------------------+
ifconfig(1M), in.routed(1M), gateways(4), attributes(5)
8 Apr 2005 routeadm(1M)