Route accepts two commands: add, to add a route, and delete, to delete a route.
All commands have the following syntax:
/usr/etc/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.
``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.