]> git.saurik.com Git - apple/network_cmds.git/blame - route.tproj/route.8
network_cmds-176.3.5.tar.gz
[apple/network_cmds.git] / route.tproj / route.8
CommitLineData
b7080c8e
A
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.\"
7ba0088d
A
32.\" @(#)route.8 8.3 (Berkeley) 3/19/94
33.\" $FreeBSD: src/sbin/route/route.8,v 1.17.2.7 2001/10/02 10:04:01 ru Exp $
b7080c8e 34.\"
7ba0088d 35.Dd June 8, 2001
b7080c8e
A
36.Dt ROUTE 8
37.Os BSD 4.4
38.Sh NAME
39.Nm route
7ba0088d 40.Nd manually manipulate the routing tables
b7080c8e 41.Sh SYNOPSIS
7ba0088d
A
42.Nm
43.Op Fl dnqtv
b7080c8e
A
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
7ba0088d 58.Nm
b7080c8e
A
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
7ba0088d 62programmatic interface discussed in
b7080c8e
A
63.Xr route 4 .
64.Pp
7ba0088d
A
65The following options are available:
66.Bl -tag -width indent
b7080c8e 67.It Fl n
7ba0088d 68Bypass attempts to print host and network names symbolically
b7080c8e
A
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
7ba0088d 72to forget this, especially when attempting to repair networking operations).
b7080c8e
A
73.It Fl v
74(verbose) Print additional details.
75.It Fl q
76Suppress all output.
77.El
78.Pp
79The
7ba0088d 80.Nm
b7080c8e
A
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
7ba0088d 99The monitor command has the syntax:
b7080c8e 100.Pp
7ba0088d
A
101.Bd -ragged -offset indent -compact
102.Nm
103.Op Fl n
b7080c8e
A
104.Cm monitor
105.Ed
106.Pp
7ba0088d 107The flush command has the syntax:
b7080c8e 108.Pp
7ba0088d
A
109.Bd -ragged -offset indent -compact
110.Nm
111.Op Fl n
b7080c8e
A
112.Cm flush
113.Op Ar family
114.Ed
115.Pp
7ba0088d 116If the
b7080c8e 117.Cm flush
7ba0088d
A
118command is specified,
119.Nm
b7080c8e
A
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 ,
7ba0088d
A
124.Fl atalk ,
125.Fl inet6 ,
b7080c8e
A
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
7ba0088d
A
133.Bd -ragged -offset indent -compact
134.Nm
135.Op Fl n
b7080c8e
A
136.Ar command
137.Op Fl net No \&| Fl host
138.Ar destination gateway
7ba0088d 139.Op Ar netmask
b7080c8e
A
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
7ba0088d
A
149.Ar destination
150argument.
b7080c8e
A
151The optional modifiers
152.Fl net
153and
154.Fl host
155force the destination to be interpreted as a network or a host, respectively.
7ba0088d 156Otherwise, if the
b7080c8e 157.Ar destination
7ba0088d
A
158has a
159.Dq local address part
160of
161INADDR_ANY
162.Pq Li 0.0.0.0 ,
b7080c8e
A
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.
7ba0088d
A
168Optionally, the
169.Ar destination
170could also be specified in the
171.Ar net Ns / Ns Ar bits
172format.
b7080c8e
A
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;
b7080c8e
A
184.Fl net Li 128.32.130
185is interpreted as
7ba0088d
A
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.
b7080c8e
A
199.Pp
200If the destination is directly reachable
201via an interface requiring
7ba0088d 202no intermediary system to act as a gateway, the
b7080c8e
A
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.
7ba0088d
A
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.
b7080c8e
A
210.Pp
211The optional modifiers
212.Fl xns ,
213.Fl osi ,
214and
7ba0088d 215.Fl link
b7080c8e 216specify that all subsequent addresses are in the
7ba0088d
A
217.Tn XNS ,
218.Tn OSI ,
219or
220.Tn AppleTalk
b7080c8e
A
221address families,
222or are specified as link-level addresses,
223and the names must be numeric specifications rather than
224symbolic names.
225.Pp
226The optional
227.Fl netmask
7ba0088d 228modifier is intended
b7080c8e
A
229to achieve the effect of an
230.Tn OSI
231.Tn ESIS
232redirect with the netmask option,
233or to manually add subnet routes with
234netmasks different from that of the implied network interface
235(as would otherwise be communicated using the OSPF or ISIS routing protocols).
236One specifies an additional ensuing address parameter
237(to be interpreted as a network mask).
238The implicit network mask generated in the AF_INET case
239can be overridden by making sure this option follows the destination parameter.
240.Pp
7ba0088d
A
241For
242.Dv AF_INET6 ,
243the
244.Fl prefixlen
245qualifier
246is available instead of the
247.Fl mask
248qualifier because non-continuous masks are not allowed in IPv6.
249For example,
250.Fl prefixlen Li 32
251specifies network mask of
252.Li ffff:ffff:0000:0000:0000:0000:0000:0000
253to be used.
254The default value of prefixlen is 64 to get along with
255the aggregatable address.
256But 0 is assumed if
257.Cm default
258is specified.
259Note that the qualifier works only for
260.Dv AF_INET6
261address family.
262.Pp
b7080c8e
A
263Routes have associated flags which influence operation of the protocols
264when sending to destinations matched by the routes.
265These flags may be set (or sometimes cleared)
266by indicating the following corresponding modifiers:
267.Bd -literal
268-cloning RTF_CLONING - generates a new route on use
269-xresolve RTF_XRESOLVE - emit mesg on use (for external lookup)
270-iface ~RTF_GATEWAY - destination is directly reachable
271-static RTF_STATIC - manually added route
272-nostatic ~RTF_STATIC - pretend route added by kernel or daemon
273-reject RTF_REJECT - emit an ICMP unreachable when matched
274-blackhole RTF_BLACKHOLE - silently discard pkts (during updates)
275-proto1 RTF_PROTO1 - set protocol specific routing flag #1
276-proto2 RTF_PROTO2 - set protocol specific routing flag #2
277-llinfo RTF_LLINFO - validly translates proto addr to link addr
278.Ed
279.Pp
280The optional modifiers
281.Fl rtt ,
282.Fl rttvar ,
283.Fl sendpipe ,
284.Fl recvpipe ,
285.Fl mtu ,
286.Fl hopcount ,
287.Fl expire ,
288and
289.Fl ssthresh
290provide initial values to quantities maintained in the routing entry
291by transport level protocols, such as TCP or TP4.
292These may be individually locked by preceding each such modifier to
293be locked by
294the
295.Fl lock
7ba0088d 296meta-modifier, or one can
b7080c8e
A
297specify that all ensuing metrics may be locked by the
298.Fl lockrest
299meta-modifier.
300.Pp
301In a
302.Cm change
303or
304.Cm add
305command where the destination and gateway are not sufficient to specify
306the route (as in the
307.Tn ISO
308case where several interfaces may have the
309same address), the
310.Fl ifp
311or
312.Fl ifa
313modifiers may be used to determine the interface or interface address.
314.Pp
7ba0088d
A
315The optional
316.Fl proxy
317modifier specifies that the
318.Dv RTF_LLINFO
319routing table entry is the
320.Dq published (proxy-only)
321.Tn ARP
322entry, as reported by
323.Xr arp 8 .
324.Pp
b7080c8e
A
325All symbolic names specified for a
326.Ar destination
7ba0088d 327or
b7080c8e
A
328.Ar gateway
329are looked up first as a host name using
330.Xr gethostbyname 3 .
331If this lookup fails,
332.Xr getnetbyname 3
333is then used to interpret the name as that of a network.
334.Pp
335.Nm Route
336uses a routing socket and the new message types
7ba0088d 337.Dv RTM_ADD , RTM_DELETE , RTM_GET ,
b7080c8e 338and
7ba0088d 339.Dv RTM_CHANGE .
b7080c8e
A
340As such, only the super-user may modify
341the routing tables.
b7080c8e 342.Sh DIAGNOSTICS
7ba0088d
A
343.Bl -diag
344.It "add [host \&| network ] %s: gateway %s flags %x"
b7080c8e
A
345The specified route is being added to the tables. The
346values printed are from the routing table entry supplied
7ba0088d 347in the
b7080c8e
A
348.Xr ioctl 2
349call.
350If the gateway address used was not the primary address of the gateway
351(the first one returned by
352.Xr gethostbyname 3 ) ,
353the gateway address is printed numerically as well as symbolically.
7ba0088d 354.It "delete [ host \&| network ] %s: gateway %s flags %x"
b7080c8e 355As above, but when deleting an entry.
7ba0088d
A
356.It "%s %s done"
357When the
b7080c8e
A
358.Cm flush
359command is specified, each routing table entry deleted
360is indicated with a message of this form.
7ba0088d 361.It "Network is unreachable"
b7080c8e
A
362An attempt to add a route failed because the gateway listed was not
363on a directly-connected network.
364The next-hop gateway must be given.
7ba0088d 365.It "not in table"
b7080c8e
A
366A delete operation was attempted for an entry which
367wasn't present in the tables.
7ba0088d 368.It "routing table overflow"
b7080c8e
A
369An add operation was attempted, but the system was
370low on resources and was unable to allocate memory
371to create the new entry.
7ba0088d
A
372.It "gateway uses the same route"
373A
374.Cm change
375operation resulted in a route whose gateway uses the
376same route as the one being changed.
377The next-hop gateway should be reachable through a different route.
b7080c8e 378.El
7ba0088d
A
379.Pp
380.Ex -std
b7080c8e
A
381.Sh SEE ALSO
382.Xr netintro 4 ,
383.Xr route 4 ,
7ba0088d
A
384.Xr arp 8 ,
385.Xr routed 8
b7080c8e
A
386.Sh HISTORY
387The
388.Nm
389command appeared in
390.Bx 4.2 .
391.Sh BUGS
392The first paragraph may have slightly exaggerated
7ba0088d 393.Xr routed 8 Ns 's
b7080c8e 394abilities.