]> git.saurik.com Git - apple/network_cmds.git/blame_incremental - route.tproj/route.8
network_cmds-176.3.5.tar.gz
[apple/network_cmds.git] / route.tproj / route.8
... / ...
CommitLineData
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: src/sbin/route/route.8,v 1.17.2.7 2001/10/02 10:04:01 ru Exp $
34.\"
35.Dd June 8, 2001
36.Dt ROUTE 8
37.Os BSD 4.4
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 ,
214and
215.Fl link
216specify that all subsequent addresses are in the
217.Tn XNS ,
218.Tn OSI ,
219or
220.Tn AppleTalk
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
228modifier is intended
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
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
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
296meta-modifier, or one can
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
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
325All symbolic names specified for a
326.Ar destination
327or
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
337.Dv RTM_ADD , RTM_DELETE , RTM_GET ,
338and
339.Dv RTM_CHANGE .
340As such, only the super-user may modify
341the routing tables.
342.Sh DIAGNOSTICS
343.Bl -diag
344.It "add [host \&| network ] %s: gateway %s flags %x"
345The specified route is being added to the tables. The
346values printed are from the routing table entry supplied
347in the
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.
354.It "delete [ host \&| network ] %s: gateway %s flags %x"
355As above, but when deleting an entry.
356.It "%s %s done"
357When the
358.Cm flush
359command is specified, each routing table entry deleted
360is indicated with a message of this form.
361.It "Network is unreachable"
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.
365.It "not in table"
366A delete operation was attempted for an entry which
367wasn't present in the tables.
368.It "routing table overflow"
369An add operation was attempted, but the system was
370low on resources and was unable to allocate memory
371to create the new entry.
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.
378.El
379.Pp
380.Ex -std
381.Sh SEE ALSO
382.Xr netintro 4 ,
383.Xr route 4 ,
384.Xr arp 8 ,
385.Xr routed 8
386.Sh HISTORY
387The
388.Nm
389command appeared in
390.Bx 4.2 .
391.Sh BUGS
392The first paragraph may have slightly exaggerated
393.Xr routed 8 Ns 's
394abilities.