ROUTE(8C)

NAME
route - manually manipulate the routing tables

SYNOPSIS
/sbin/route [ -f ] [ -n ] [ command args ]

DESCRIPTION
Route is a program used to manually manipulate the network routing tables. It normally is not needed, as the system routing table management daemon, routed(8C), should tend to this task.

Route accepts two commands: add, to add a route, and delete, to delete a route.

All commands have the following syntax:

/sbin/route command [ net | host ] destination gateway [ metric ]

where destination is the destination host or network, gateway is the next-hop gateway to which packets should be addressed, and metric is a count indicating the number of hops to the destination. The metric is required for add commands; it must be zero if the destination is on a directly-attached network, and nonzero if the route utilizes one or more gateways. If adding a route with metric 0, the gateway given is the address of this host on the common network, indicating the interface to be used for transmission. Routes to a particular host are distinguished from those to a network by interpreting the Internet address associated with destination. The optional keywords net and host force the destination to be interpreted as a network or a host, respectively. Otherwise, if the destination has a ``local address part'' of INADDR_ANY, or if the destination is the symbolic name of a network, then the route is assumed to be to a network; otherwise, it is presumed to be a route to a host. If the route is to a destination connected via a gateway, the metric should be greater than 0. All symbolic names specified for a destination or gateway are looked up first as a host name using gethostbyname(3N). If this lookup fails, getnetbyname(3N) is then used to interpret the name as that of a network.

Route uses a raw socket and the SIOCADDRT and SIOCDELRT ioctl's to do its work. As such, only the super-user may modify the routing tables.

If the -f option is specified, route will ``flush'' the routing tables of all gateway entries. If this is used in conjunction with one of the commands described above, the tables are flushed prior to the command's application.

The -n option prevents attempts to print host and network names symbolically when reporting actions.

DIAGNOSTICS
``add [ host | network ] %s: gateway %s flags %x''
The specified route is being added to the tables. The values printed are from the routing table entry supplied in the ioctl call. If the gateway address used was not the primary address of the gateway (the first one returned by gethostbyname), the gateway address is printed numerically as well as symbolically.

``delete [ host | network ] %s: gateway %s flags %x''
As above, but when deleting an entry.

``%s %s done''
When the -f flag is specified, each routing table entry deleted is indicated with a message of this form.

``Network is unreachable''
An attempt to add a route failed because the gateway listed was not on a directly-connected network. The next-hop gateway must be given.

``not in table''
A delete operation was attempted for an entry which wasn't present in the tables.

``routing table overflow''
An add operation was attempted, but the system was low on resources and was unable to allocate memory to create the new entry.

SEE ALSO
intro(4N), routed(8C), XNSrouted(8C)