manually manipulate the routing tables
route [-n] [-q] [-v] command { [[modifiers] args] }
You use the route utility to manually manipulate the network routing tables. Because the routing tables are usually taken care of by the routed daemon, you rarely need to use this utility.
The route utility accepts the following commands: add, change, delete, flush, get, and monitor.
Here's the syntax and the description for each command:
Routes to a particular host are distinguished from those to a network by interpreting the Internet address associated with destination. Specifying the optional keywords -net and -host force the destination to be interpreted as a network or a host, respectively.
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, the route is assumed to be to a host. For example:
This destination: | Is interpreted as: |
---|---|
128.32 | -host 128.0.0.32 |
128.32.130 | -host 128.32.0.130 |
-net 128.32 | 128.32.0.0 |
-net 128.32.130 | 128.32.130.0. |
If the route is via an interface rather than via a gateway, you should specify the -interface modifier; the gateway given is the address of this host on the common network, indicating the interface to be used for transmission.
The optional -netmask modifier can be used to specify an additional address parameter that will interpreted as a network mask. The implicit network mask generated in the inet case can be overridden by placing this option after the destination parameter.
The optional modifiers:
provide initial values to metrics maintained in the routing entry. To lock any of these modifiers, precede the modifier with the -lock meta-modifier; you can also specify the -lockrest meta-modifier to lock all ensuing metrics.
All symbolic names specified for a destination or gateway are looked up first as a hostname using gethostname(). If this lookup fails, getnetbyname() is then used to interpret the name as that of a network.
The route utility uses a routing socket and the new message types RTM_ADD, RTM_DELETE, RTM_GET, and RTM_CHANGE. As such, only the superuser may modify the routing tables.