route - manually manipulate the routing tables
/etc/route [ -f ] [ -n ] command args ]
The program is used to manipulate the network routing tables manually. However, normally it is not needed, as the system routing table
management daemon, should tend to this task.
The program accepts two commands: add, to add a route and delete, to delete a route.
All commands have the following syntax:
/etc/route command [ net | host ] destination gateway [ metric ]
In this syntax, destination is a host or network for which the route is to, gateway is the gateway to which packets should be addressed,
and metric is an optional 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.
When 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 routes 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 host, respectively. If the
destination has a local address part of INADDR_ANY, 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 If this lookup fails, is then used to interpret the name as that of a
The command uses a raw socket and the SIOCADDRT and SIOCDELRT ioctls to do its work. As such, only the superuser can modify the routing
-f Flushes the routing tables of all gateway entries. If is used with one of the commands described above, the tables are flushed prior
to the command's application.
-n Prevents attempts to print host and network names symbolically when reporting actions.
The change operation is not implemented. Therefore, you should first add the new route, and then delete the old one.
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 the gateway address is printed numerically as
well as symbolically.
delete [ host | network] %s: gateway %s flags %x
The specified route is being deleted from 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 the gateway address is printed numerically
as well as symbolically.
%s %s done
When the flag is specified, each routing table entry that is 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 was not 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.