1.\" Copyright (c) 1983, 1991, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. All advertising materials mentioning features or use of this software 13.\" must display the following acknowledgement: 14.\" This product includes software developed by the University of 15.\" California, Berkeley and its contributors. 16.\" 4. Neither the name of the University nor the names of its contributors 17.\" may be used to endorse or promote products derived from this software 18.\" without specific prior written permission. 19.\" 20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30.\" SUCH DAMAGE. 31.\" 32.\" @(#)route.8 8.3 (Berkeley) 3/19/94 33.\" $FreeBSD$ 34.\" 35.Dd June 8, 2001 36.Dt ROUTE 8 37.Os 38.Sh NAME 39.Nm route 40.Nd manually manipulate the routing tables 41.Sh SYNOPSIS 42.Nm 43.Op Fl dnqtv 44.Ar command 45.Oo 46.Op Ar modifiers 47.Ar args 48.Oc 49.Sh DESCRIPTION 50.Nm Route 51is a utility used to manually manipulate the network 52routing tables. It normally is not needed, as a 53system routing table management daemon such as 54.Xr routed 8 , 55should tend to this task. 56.Pp 57The 58.Nm 59utility supports a limited number of general options, 60but a rich command language, enabling the user to specify 61any arbitrary request that could be delivered via the 62programmatic interface discussed in 63.Xr route 4 . 64.Pp 65The following options are available: 66.Bl -tag -width indent 67.It Fl n 68Bypass attempts to print host and network names symbolically 69when reporting actions. (The process of translating between symbolic 70names and numerical equivalents can be quite time consuming, and 71may require correct operation of the network; thus it may be expedient 72to forget this, especially when attempting to repair networking operations). 73.It Fl v 74(verbose) Print additional details. 75.It Fl q 76Suppress all output. 77.El 78.Pp 79The 80.Nm 81utility provides six commands: 82.Pp 83.Bl -tag -width Fl -compact 84.It Cm add 85Add a route. 86.It Cm flush 87Remove all routes. 88.It Cm delete 89Delete a specific route. 90.It Cm change 91Change aspects of a route (such as its gateway). 92.It Cm get 93Lookup and display the route for a destination. 94.It Cm monitor 95Continuously report any changes to the routing information base, 96routing lookup misses, or suspected network partitionings. 97.El 98.Pp 99The monitor command has the syntax: 100.Pp 101.Bd -ragged -offset indent -compact 102.Nm 103.Op Fl n 104.Cm monitor 105.Ed 106.Pp 107The flush command has the syntax: 108.Pp 109.Bd -ragged -offset indent -compact 110.Nm 111.Op Fl n 112.Cm flush 113.Op Ar family 114.Ed 115.Pp 116If the 117.Cm flush 118command is specified, 119.Nm 120will ``flush'' the routing tables of all gateway entries. 121When the address family may is specified by any of the 122.Fl osi , 123.Fl xns , 124.Fl atalk , 125.Fl inet6 , 126or 127.Fl inet 128modifiers, only routes having destinations with addresses in the 129delineated family will be deleted. 130.Pp 131The other commands have the following syntax: 132.Pp 133.Bd -ragged -offset indent -compact 134.Nm 135.Op Fl n 136.Ar command 137.Op Fl net No \&| Fl host 138.Ar destination gateway 139.Op Ar netmask 140.Ed 141.Pp 142where 143.Ar destination 144is the destination host or network, 145.Ar gateway 146is the next-hop intermediary via which packets should be routed. 147Routes to a particular host may be distinguished from those to 148a network by interpreting the Internet address specified as the 149.Ar destination 150argument. 151The optional modifiers 152.Fl net 153and 154.Fl host 155force the destination to be interpreted as a network or a host, respectively. 156Otherwise, if the 157.Ar destination 158has a 159.Dq local address part 160of 161INADDR_ANY 162.Pq Li 0.0.0.0 , 163or if the 164.Ar destination 165is the symbolic name of a network, then the route is 166assumed to be to a network; otherwise, it is presumed to be a 167route to a host. 168Optionally, the 169.Ar destination 170could also be specified in the 171.Ar net Ns / Ns Ar bits 172format. 173.Pp 174For example, 175.Li 128.32 176is interpreted as 177.Fl host Li 128.0.0.32 ; 178.Li 128.32.130 179is interpreted as 180.Fl host Li 128.32.0.130 ; 181.Fl net Li 128.32 182is interpreted as 183.Li 128.32.0.0; 184.Fl net Li 128.32.130 185is interpreted as 186.Li 128.32.130.0; 187and 188.Li 192.168.64/20 189is interpreted as 190.Fl net Li 192.168.64 Fl netmask Li 255.255.240.0 . 191.Pp 192A 193.Ar destination 194of 195.Ar default 196is a synonym for 197.Fl net Li 0.0.0.0 , 198which is the default route. 199.Pp 200If the destination is directly reachable 201via an interface requiring 202no intermediary system to act as a gateway, the 203.Fl interface 204modifier should be specified; 205the gateway given is the address of this host on the common network, 206indicating the interface to be used for transmission. 207Alternately, if the interface is point to point the name of the interface 208itself may be given, in which case the route remains valid even 209if the local or remote addresses change. 210.Pp 211The optional modifiers 212.Fl xns , 213.Fl osi , 214.Fl atalk , 215and 216.Fl link 217specify that all subsequent addresses are in the 218.Tn XNS , 219.Tn OSI , 220or 221.Tn AppleTalk 222address families, 223or are specified as link-level addresses, 224and the names must be numeric specifications rather than 225symbolic names. 226.Pp 227The optional 228.Fl netmask 229modifier is intended 230to achieve the effect of an 231.Tn OSI 232.Tn ESIS 233redirect with the netmask option, 234or to manually add subnet routes with 235netmasks different from that of the implied network interface 236(as would otherwise be communicated using the OSPF or ISIS routing protocols). 237One specifies an additional ensuing address parameter 238(to be interpreted as a network mask). 239The implicit network mask generated in the AF_INET case 240can be overridden by making sure this option follows the destination parameter. 241.Pp 242For 243.Dv AF_INET6 , 244the 245.Fl prefixlen 246qualifier 247is available instead of the 248.Fl mask 249qualifier because non-continuous masks are not allowed in IPv6. 250For example, 251.Fl prefixlen Li 32 252specifies network mask of 253.Li ffff:ffff:0000:0000:0000:0000:0000:0000 254to be used. 255The default value of prefixlen is 64 to get along with 256the aggregatable address. 257But 0 is assumed if 258.Cm default 259is specified. 260Note that the qualifier works only for 261.Dv AF_INET6 262address family. 263.Pp 264Routes have associated flags which influence operation of the protocols 265when sending to destinations matched by the routes. 266These flags may be set (or sometimes cleared) 267by indicating the following corresponding modifiers: 268.Bd -literal 269-cloning RTF_CLONING - generates a new route on use 270-xresolve RTF_XRESOLVE - emit mesg on use (for external lookup) 271-iface ~RTF_GATEWAY - destination is directly reachable 272-static RTF_STATIC - manually added route 273-nostatic ~RTF_STATIC - pretend route added by kernel or daemon 274-reject RTF_REJECT - emit an ICMP unreachable when matched 275-blackhole RTF_BLACKHOLE - silently discard pkts (during updates) 276-proto1 RTF_PROTO1 - set protocol specific routing flag #1 277-proto2 RTF_PROTO2 - set protocol specific routing flag #2 278-llinfo RTF_LLINFO - validly translates proto addr to link addr 279.Ed 280.Pp 281The optional modifiers 282.Fl rtt , 283.Fl rttvar , 284.Fl sendpipe , 285.Fl recvpipe , 286.Fl mtu , 287.Fl hopcount , 288.Fl expire , 289and 290.Fl ssthresh 291provide initial values to quantities maintained in the routing entry 292by transport level protocols, such as TCP or TP4. 293These may be individually locked by preceding each such modifier to 294be locked by 295the 296.Fl lock 297meta-modifier, or one can 298specify that all ensuing metrics may be locked by the 299.Fl lockrest 300meta-modifier. 301.Pp 302In a 303.Cm change 304or 305.Cm add 306command where the destination and gateway are not sufficient to specify 307the route (as in the 308.Tn ISO 309case where several interfaces may have the 310same address), the 311.Fl ifp 312or 313.Fl ifa 314modifiers may be used to determine the interface or interface address. 315.Pp 316The optional 317.Fl proxy 318modifier specifies that the 319.Dv RTF_LLINFO 320routing table entry is the 321.Dq published (proxy-only) 322.Tn ARP 323entry, as reported by 324.Xr arp 8 . 325.Pp 326All symbolic names specified for a 327.Ar destination 328or 329.Ar gateway 330are looked up first as a host name using 331.Xr gethostbyname 3 . 332If this lookup fails, 333.Xr getnetbyname 3 334is then used to interpret the name as that of a network. 335.Pp 336.Nm Route 337uses a routing socket and the new message types 338.Dv RTM_ADD , RTM_DELETE , RTM_GET , 339and 340.Dv RTM_CHANGE . 341As such, only the super-user may modify 342the routing tables. 343.Sh DIAGNOSTICS 344.Bl -diag 345.It "add [host \&| network ] %s: gateway %s flags %x" 346The specified route is being added to the tables. The 347values printed are from the routing table entry supplied 348in the 349.Xr ioctl 2 350call. 351If the gateway address used was not the primary address of the gateway 352(the first one returned by 353.Xr gethostbyname 3 ) , 354the gateway address is printed numerically as well as symbolically. 355.It "delete [ host \&| network ] %s: gateway %s flags %x" 356As above, but when deleting an entry. 357.It "%s %s done" 358When the 359.Cm flush 360command is specified, each routing table entry deleted 361is indicated with a message of this form. 362.It "Network is unreachable" 363An attempt to add a route failed because the gateway listed was not 364on a directly-connected network. 365The next-hop gateway must be given. 366.It "not in table" 367A delete operation was attempted for an entry which 368wasn't present in the tables. 369.It "routing table overflow" 370An add operation was attempted, but the system was 371low on resources and was unable to allocate memory 372to create the new entry. 373.It "gateway uses the same route" 374A 375.Cm change 376operation resulted in a route whose gateway uses the 377same route as the one being changed. 378The next-hop gateway should be reachable through a different route. 379.El 380.Pp 381.Ex -std 382.Sh SEE ALSO 383.\".Xr esis 4 , 384.Xr netintro 4 , 385.Xr route 4 , 386.Xr arp 8 , 387.Xr IPXrouted 8 , 388.Xr routed 8 389.\".Xr XNSrouted 8 390.Sh HISTORY 391The 392.Nm 393command appeared in 394.Bx 4.2 . 395.Sh BUGS 396The first paragraph may have slightly exaggerated 397.Xr routed 8 Ns 's 398abilities. 399