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