xref: /minix3/sbin/route/route.8 (revision 483e5955576fddc25239f5c789016a05fd002f93)
1*483e5955SDavid van Moolenbroek.\"	$NetBSD: route.8,v 1.55 2015/03/23 18:33:17 roy Exp $
2*483e5955SDavid van Moolenbroek.\"
3*483e5955SDavid van Moolenbroek.\" Copyright (c) 1983, 1991, 1993
4*483e5955SDavid van Moolenbroek.\"	The Regents of the University of California.  All rights reserved.
5*483e5955SDavid van Moolenbroek.\"
6*483e5955SDavid van Moolenbroek.\" Redistribution and use in source and binary forms, with or without
7*483e5955SDavid van Moolenbroek.\" modification, are permitted provided that the following conditions
8*483e5955SDavid van Moolenbroek.\" are met:
9*483e5955SDavid van Moolenbroek.\" 1. Redistributions of source code must retain the above copyright
10*483e5955SDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer.
11*483e5955SDavid van Moolenbroek.\" 2. Redistributions in binary form must reproduce the above copyright
12*483e5955SDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer in the
13*483e5955SDavid van Moolenbroek.\"    documentation and/or other materials provided with the distribution.
14*483e5955SDavid van Moolenbroek.\" 3. Neither the name of the University nor the names of its contributors
15*483e5955SDavid van Moolenbroek.\"    may be used to endorse or promote products derived from this software
16*483e5955SDavid van Moolenbroek.\"    without specific prior written permission.
17*483e5955SDavid van Moolenbroek.\"
18*483e5955SDavid van Moolenbroek.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19*483e5955SDavid van Moolenbroek.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*483e5955SDavid van Moolenbroek.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*483e5955SDavid van Moolenbroek.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22*483e5955SDavid van Moolenbroek.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23*483e5955SDavid van Moolenbroek.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24*483e5955SDavid van Moolenbroek.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25*483e5955SDavid van Moolenbroek.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26*483e5955SDavid van Moolenbroek.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27*483e5955SDavid van Moolenbroek.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28*483e5955SDavid van Moolenbroek.\" SUCH DAMAGE.
29*483e5955SDavid van Moolenbroek.\"
30*483e5955SDavid van Moolenbroek.\"     @(#)route.8	8.4 (Berkeley) 6/1/94
31*483e5955SDavid van Moolenbroek.\"
32*483e5955SDavid van Moolenbroek.Dd March 19, 2015
33*483e5955SDavid van Moolenbroek.Dt ROUTE 8
34*483e5955SDavid van Moolenbroek.Os
35*483e5955SDavid van Moolenbroek.Sh NAME
36*483e5955SDavid van Moolenbroek.Nm route
37*483e5955SDavid van Moolenbroek.Nd manually manipulate the routing tables
38*483e5955SDavid van Moolenbroek.Sh SYNOPSIS
39*483e5955SDavid van Moolenbroek.Nm
40*483e5955SDavid van Moolenbroek.Op Fl dfLnqSsTtv
41*483e5955SDavid van Moolenbroek.Ar command
42*483e5955SDavid van Moolenbroek.Oo
43*483e5955SDavid van Moolenbroek.Op Ar modifiers
44*483e5955SDavid van Moolenbroek.Ar args
45*483e5955SDavid van Moolenbroek.Oc
46*483e5955SDavid van Moolenbroek.Sh DESCRIPTION
47*483e5955SDavid van Moolenbroek.Nm
48*483e5955SDavid van Moolenbroekis a utility used to manually manipulate the network
49*483e5955SDavid van Moolenbroekrouting tables.
50*483e5955SDavid van MoolenbroekExcept for setting up the default route, it is normally not needed,
51*483e5955SDavid van Moolenbroekas a system routing table management daemon such as
52*483e5955SDavid van Moolenbroek.Xr routed 8 ,
53*483e5955SDavid van Moolenbroekshould tend to this task.
54*483e5955SDavid van Moolenbroek.Pp
55*483e5955SDavid van Moolenbroek.Nm
56*483e5955SDavid van Moolenbroekcan be used to modify nearly any aspect of the routing policy,
57*483e5955SDavid van Moolenbroekexcept packet forwarding, which can be manipulated through the
58*483e5955SDavid van Moolenbroek.Xr sysctl 8
59*483e5955SDavid van Moolenbroekcommand.
60*483e5955SDavid van Moolenbroek.Pp
61*483e5955SDavid van MoolenbroekThe
62*483e5955SDavid van Moolenbroek.Nm
63*483e5955SDavid van Moolenbroekutility supports a limited number of general options,
64*483e5955SDavid van Moolenbroekbut a rich command language, enabling the user to specify
65*483e5955SDavid van Moolenbroekany arbitrary request that could be delivered via the
66*483e5955SDavid van Moolenbroekprogrammatic interface discussed in
67*483e5955SDavid van Moolenbroek.Xr route 4 .
68*483e5955SDavid van Moolenbroek.Pp
69*483e5955SDavid van Moolenbroek.Bl -tag -width Ds
70*483e5955SDavid van Moolenbroek.It Fl d
71*483e5955SDavid van MoolenbroekTurn on debugging
72*483e5955SDavid van Moolenbroek.It Fl f
73*483e5955SDavid van MoolenbroekRemove all routes (as per
74*483e5955SDavid van Moolenbroek.Cm flush ) .
75*483e5955SDavid van MoolenbroekIf used in conjunction with the
76*483e5955SDavid van Moolenbroek.Cm add ,
77*483e5955SDavid van Moolenbroek.Cm change ,
78*483e5955SDavid van Moolenbroek.Cm delete
79*483e5955SDavid van Moolenbroekor
80*483e5955SDavid van Moolenbroek.Cm get
81*483e5955SDavid van Moolenbroekcommands,
82*483e5955SDavid van Moolenbroek.Nm
83*483e5955SDavid van Moolenbroekremoves the routes before performing the command.
84*483e5955SDavid van Moolenbroek.It Fl L
85*483e5955SDavid van MoolenbroekDon't show link layer entries in routing table.
86*483e5955SDavid van Moolenbroek.It Fl n
87*483e5955SDavid van MoolenbroekBypasses attempts to print host and network names symbolically
88*483e5955SDavid van Moolenbroekwhen reporting actions.
89*483e5955SDavid van Moolenbroek(The process of translating between symbolic
90*483e5955SDavid van Moolenbroeknames and numerical equivalents can be quite time consuming, and
91*483e5955SDavid van Moolenbroekmay require correct operation of the network; thus it may be expedient
92*483e5955SDavid van Moolenbroekto forgo this, especially when attempting to repair networking operations).
93*483e5955SDavid van Moolenbroek.It Fl q
94*483e5955SDavid van MoolenbroekSuppress all output from commands that manipulate the routing table.
95*483e5955SDavid van Moolenbroek.It Fl S
96*483e5955SDavid van MoolenbroekPrint a space when a flag is missing so that flags are vertically aligned
97*483e5955SDavid van Moolenbroekinstead of printing the flags that are set as a contiguous string.
98*483e5955SDavid van Moolenbroek.It Fl s
99*483e5955SDavid van Moolenbroek(short) Suppresses all output from a
100*483e5955SDavid van Moolenbroek.Cm get
101*483e5955SDavid van Moolenbroekcommand except for the actual gateway that will be used.
102*483e5955SDavid van MoolenbroekHow the gateway is printed depends on the type of route being looked up.
103*483e5955SDavid van Moolenbroek.It Fl T
104*483e5955SDavid van MoolenbroekShow tags in the route display.
105*483e5955SDavid van Moolenbroek.It Fl t
106*483e5955SDavid van MoolenbroekTest only, don't perform any actions.
107*483e5955SDavid van Moolenbroek.It Fl v
108*483e5955SDavid van Moolenbroek(verbose) Print additional details.
109*483e5955SDavid van Moolenbroek.El
110*483e5955SDavid van Moolenbroek.Pp
111*483e5955SDavid van MoolenbroekThe
112*483e5955SDavid van Moolenbroek.Nm
113*483e5955SDavid van Moolenbroekutility provides several commands:
114*483e5955SDavid van Moolenbroek.Pp
115*483e5955SDavid van Moolenbroek.Bl -tag -width Fl -compact
116*483e5955SDavid van Moolenbroek.It Cm add
117*483e5955SDavid van MoolenbroekAdd a route.
118*483e5955SDavid van Moolenbroek.It Cm flush
119*483e5955SDavid van MoolenbroekRemove all routes.
120*483e5955SDavid van Moolenbroek.It Cm flushall
121*483e5955SDavid van MoolenbroekRemove all routes including the default gateway.
122*483e5955SDavid van Moolenbroek.It Cm delete
123*483e5955SDavid van MoolenbroekDelete a specific route.
124*483e5955SDavid van Moolenbroek.It Cm change
125*483e5955SDavid van MoolenbroekChange aspects of a route (such as its gateway).
126*483e5955SDavid van Moolenbroek.It Cm get
127*483e5955SDavid van MoolenbroekLookup and display the route for a destination.
128*483e5955SDavid van Moolenbroek.It Cm show
129*483e5955SDavid van MoolenbroekPrint out the route table similar to "netstat \-r" (see
130*483e5955SDavid van Moolenbroek.Xr netstat 1 ) .
131*483e5955SDavid van Moolenbroek.It Cm monitor
132*483e5955SDavid van MoolenbroekContinuously report any changes to the routing information base,
133*483e5955SDavid van Moolenbroekrouting lookup misses, or suspected network partitionings.
134*483e5955SDavid van Moolenbroek.El
135*483e5955SDavid van Moolenbroek.Pp
136*483e5955SDavid van MoolenbroekThe monitor command has the syntax
137*483e5955SDavid van Moolenbroek.Pp
138*483e5955SDavid van Moolenbroek.Bd -filled -offset indent -compact
139*483e5955SDavid van Moolenbroek.Nm
140*483e5955SDavid van Moolenbroek.Op Fl n
141*483e5955SDavid van Moolenbroek.Cm monitor
142*483e5955SDavid van Moolenbroek.Ed
143*483e5955SDavid van Moolenbroek.Pp
144*483e5955SDavid van MoolenbroekThe flush command has the syntax
145*483e5955SDavid van Moolenbroek.Pp
146*483e5955SDavid van Moolenbroek.Bd -filled -offset indent -compact
147*483e5955SDavid van Moolenbroek.Nm
148*483e5955SDavid van Moolenbroek.Op Fl n
149*483e5955SDavid van Moolenbroek.Cm flush
150*483e5955SDavid van Moolenbroek.Op Ar family
151*483e5955SDavid van Moolenbroek.Ed
152*483e5955SDavid van Moolenbroek.Pp
153*483e5955SDavid van MoolenbroekIf the
154*483e5955SDavid van Moolenbroek.Cm flush
155*483e5955SDavid van Moolenbroekcommand is specified,
156*483e5955SDavid van Moolenbroek.Nm
157*483e5955SDavid van Moolenbroekwill ``flush'' the routing tables of all gateway entries.
158*483e5955SDavid van MoolenbroekWhen the address family is specified by any of the
159*483e5955SDavid van Moolenbroek.Fl xns ,
160*483e5955SDavid van Moolenbroek.Fl atalk ,
161*483e5955SDavid van Moolenbroek.Fl inet ,
162*483e5955SDavid van Moolenbroek.Fl inet6 ,
163*483e5955SDavid van Moolenbroekor
164*483e5955SDavid van Moolenbroek.Fl mpls
165*483e5955SDavid van Moolenbroekmodifiers, only routes having destinations with addresses in the
166*483e5955SDavid van Moolenbroekdelineated family will be manipulated.
167*483e5955SDavid van Moolenbroek.Pp
168*483e5955SDavid van MoolenbroekThe other commands have the following syntax:
169*483e5955SDavid van Moolenbroek.Pp
170*483e5955SDavid van Moolenbroek.Bd -filled -offset indent -compact
171*483e5955SDavid van Moolenbroek.Nm
172*483e5955SDavid van Moolenbroek.Op Fl n
173*483e5955SDavid van Moolenbroek.Ar command
174*483e5955SDavid van Moolenbroek.Op Fl net No \&| Fl host
175*483e5955SDavid van Moolenbroek.Ar destination gateway
176*483e5955SDavid van Moolenbroek.Ed
177*483e5955SDavid van Moolenbroek.Pp
178*483e5955SDavid van Moolenbroekwhere
179*483e5955SDavid van Moolenbroek.Ar destination
180*483e5955SDavid van Moolenbroekis the destination host or network, and
181*483e5955SDavid van Moolenbroek.Ar gateway
182*483e5955SDavid van Moolenbroekis the next-hop intermediary via which packets should be routed.
183*483e5955SDavid van MoolenbroekRoutes to a particular host may be distinguished from those to
184*483e5955SDavid van Moolenbroeka network by interpreting the Internet address specified as the
185*483e5955SDavid van Moolenbroek.Ar destination
186*483e5955SDavid van Moolenbroekargument.
187*483e5955SDavid van MoolenbroekThe optional modifiers
188*483e5955SDavid van Moolenbroek.Fl net
189*483e5955SDavid van Moolenbroekand
190*483e5955SDavid van Moolenbroek.Fl host
191*483e5955SDavid van Moolenbroekforce the destination to be interpreted as a network or a host, respectively.
192*483e5955SDavid van MoolenbroekOtherwise, if the
193*483e5955SDavid van Moolenbroek.Ar destination
194*483e5955SDavid van Moolenbroekhas a ``local address part'' of
195*483e5955SDavid van Moolenbroek.Dv INADDR_ANY ,
196*483e5955SDavid van Moolenbroekor if the
197*483e5955SDavid van Moolenbroek.Ar destination
198*483e5955SDavid van Moolenbroekis the symbolic name of a network, then the route is
199*483e5955SDavid van Moolenbroekassumed to be to a network; otherwise, it is presumed to be a
200*483e5955SDavid van Moolenbroekroute to a host.
201*483e5955SDavid van MoolenbroekOptionally, the
202*483e5955SDavid van Moolenbroek.Ar destination
203*483e5955SDavid van Moolenbroekcan also be specified in the
204*483e5955SDavid van Moolenbroek.Ar net Ns / Ns Ar bits
205*483e5955SDavid van Moolenbroekformat.
206*483e5955SDavid van Moolenbroek.Pp
207*483e5955SDavid van MoolenbroekFor example,
208*483e5955SDavid van Moolenbroek.Li 128.32
209*483e5955SDavid van Moolenbroekis interpreted as
210*483e5955SDavid van Moolenbroek.Fl host Li 128.0.0.32 ;
211*483e5955SDavid van Moolenbroek.Li 128.32.130
212*483e5955SDavid van Moolenbroekis interpreted as
213*483e5955SDavid van Moolenbroek.Fl host Li 128.32.0.130 ;
214*483e5955SDavid van Moolenbroek.Fl net Li 128.32
215*483e5955SDavid van Moolenbroekis interpreted as
216*483e5955SDavid van Moolenbroek.Li 128.32.0.0 ;
217*483e5955SDavid van Moolenbroekand
218*483e5955SDavid van Moolenbroek.Fl net Li 128.32.130
219*483e5955SDavid van Moolenbroekis interpreted as
220*483e5955SDavid van Moolenbroek.Li 128.32.130.0 .
221*483e5955SDavid van Moolenbroek.Pp
222*483e5955SDavid van MoolenbroekThe keyword
223*483e5955SDavid van Moolenbroek.Cm default
224*483e5955SDavid van Moolenbroekcan be used as the
225*483e5955SDavid van Moolenbroek.Ar destination
226*483e5955SDavid van Moolenbroekto set up a default route to a smart
227*483e5955SDavid van Moolenbroek.Ar gateway .
228*483e5955SDavid van MoolenbroekIf no other routes match, this default route will be used as a last resort.
229*483e5955SDavid van Moolenbroek.Pp
230*483e5955SDavid van MoolenbroekIf the destination is directly reachable
231*483e5955SDavid van Moolenbroekvia an interface requiring
232*483e5955SDavid van Moolenbroekno intermediary system to act as a gateway, the
233*483e5955SDavid van Moolenbroek.Fl interface
234*483e5955SDavid van Moolenbroekmodifier should be specified;
235*483e5955SDavid van Moolenbroekthe gateway given is the address of this host on the common network,
236*483e5955SDavid van Moolenbroekindicating the interface to be used for transmission.
237*483e5955SDavid van Moolenbroek.Pp
238*483e5955SDavid van MoolenbroekThe optional modifiers
239*483e5955SDavid van Moolenbroek.Fl xns ,
240*483e5955SDavid van Moolenbroek.Fl atalk ,
241*483e5955SDavid van Moolenbroekand
242*483e5955SDavid van Moolenbroek.Fl link
243*483e5955SDavid van Moolenbroekspecify that all subsequent addresses are in the
244*483e5955SDavid van Moolenbroek.Tn XNS ,
245*483e5955SDavid van Moolenbroekor
246*483e5955SDavid van Moolenbroek.Tn AppleTalk
247*483e5955SDavid van Moolenbroekaddress families,
248*483e5955SDavid van Moolenbroekor are specified as link-level addresses in the form described in
249*483e5955SDavid van Moolenbroek.Xr link_addr 3 ,
250*483e5955SDavid van Moolenbroekand the names must be numeric specifications rather than
251*483e5955SDavid van Moolenbroeksymbolic names.
252*483e5955SDavid van Moolenbroek.Pp
253*483e5955SDavid van MoolenbroekThe optional modifier
254*483e5955SDavid van Moolenbroek.Fl tag
255*483e5955SDavid van Moolenbroekspecifies an address associated with the route.
256*483e5955SDavid van MoolenbroekHow the address is used is specific to the address family of
257*483e5955SDavid van Moolenbroekthe destination and the interface used to forward the packet.
258*483e5955SDavid van MoolenbroekCurrently route tags are consumed only by the
259*483e5955SDavid van Moolenbroek.Xr mpls 4
260*483e5955SDavid van Moolenbroekstack; therefore
261*483e5955SDavid van Moolenbroek.Nm
262*483e5955SDavid van Moolenbroekassumes that the subsequent addresses are in the
263*483e5955SDavid van Moolenbroek.Tn MPLS
264*483e5955SDavid van Moolenbroekaddress family.
265*483e5955SDavid van MoolenbroekSee
266*483e5955SDavid van Moolenbroek.Xr mpls 4
267*483e5955SDavid van Moolenbroekfor examples of setting routes involving MPLS.
268*483e5955SDavid van Moolenbroek.Pp
269*483e5955SDavid van MoolenbroekThe optional
270*483e5955SDavid van Moolenbroek.Fl netmask
271*483e5955SDavid van Moolenbroekqualifier is intended
272*483e5955SDavid van Moolenbroekto achieve the effect of an
273*483e5955SDavid van Moolenbroek.Tn ESIS
274*483e5955SDavid van Moolenbroekredirect with the netmask option,
275*483e5955SDavid van Moolenbroekor to manually add subnet routes with
276*483e5955SDavid van Moolenbroeknetmasks different from that of the implied network interface
277*483e5955SDavid van Moolenbroek(as would otherwise be communicated using the OSPF or ISIS routing protocols).
278*483e5955SDavid van MoolenbroekOne specifies an additional ensuing address parameter
279*483e5955SDavid van Moolenbroek(to be interpreted as a network mask).
280*483e5955SDavid van MoolenbroekThe implicit network mask generated in the
281*483e5955SDavid van Moolenbroek.Dv AF_INET
282*483e5955SDavid van Moolenbroekcase
283*483e5955SDavid van Moolenbroekcan be overridden by making sure this option follows the destination parameter.
284*483e5955SDavid van Moolenbroek.Fl prefixlen
285*483e5955SDavid van Moolenbroekis also available for similar purpose, in IPv4 and IPv6 case.
286*483e5955SDavid van Moolenbroek.Pp
287*483e5955SDavid van MoolenbroekRoutes have associated flags which influence operation of the protocols
288*483e5955SDavid van Moolenbroekwhen sending to destinations matched by the routes.
289*483e5955SDavid van MoolenbroekThese flags are displayed using the following ID characters in the routing
290*483e5955SDavid van Moolenbroekdisplay and may be set (or sometimes cleared)
291*483e5955SDavid van Moolenbroekby indicating the following corresponding modifiers:
292*483e5955SDavid van Moolenbroek.Bl -column "ID" "xnoblackhole" "xRTF_BLACKHOLE" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
293*483e5955SDavid van Moolenbroek.It Sy "ID" Ta Sy "Modifier" Ta Sy " Flag Bit" Ta Sy "Description"
294*483e5955SDavid van Moolenbroek.It Li " " Ta -iface Ta ~RTF_GATEWAY Ta destination is directly reachable
295*483e5955SDavid van Moolenbroek.It Li 1 Ta -proto1 Ta " RTF_PROTO1" Ta set protocol specific flag #1
296*483e5955SDavid van Moolenbroek.It Li 2 Ta -proto2 Ta " RTF_PROTO2" Ta set protocol specific flag #2
297*483e5955SDavid van Moolenbroek.It Li B Ta -blackhole Ta " RTF_BLACKHOLE" Ta discard pkts (during updates)
298*483e5955SDavid van Moolenbroek.It Li b Ta "" Ta " RTF_BROADCAST" Ta Route represents a broadcast address
299*483e5955SDavid van Moolenbroek.It Li " " Ta -noblackhole Ta ~RTF_BLACKHOLE Ta clear blackhole flag
300*483e5955SDavid van Moolenbroek.It Li C Ta -cloning Ta " RTF_CLONING" Ta  generates a new route on use
301*483e5955SDavid van Moolenbroek.It Li " " Ta -nocloning Ta ~RTF_CLONING Ta stop generating new routes on use
302*483e5955SDavid van Moolenbroek.It Li c Ta -cloned Ta " RTF_CLONED" Ta route generated by RTF_CLONING
303*483e5955SDavid van Moolenbroek.It Li " " Ta -nocloned Ta ~RTF_CLONED Ta deny removal with RTF_CLONING
304*483e5955SDavid van Moolenbroek.It Li D Ta "" Ta " RTF_DYNAMIC" Ta created dynamically (redirect)
305*483e5955SDavid van Moolenbroek.It Li G Ta "" Ta " RTF_GATEWAY" Ta forwarded to dest by intermediary
306*483e5955SDavid van Moolenbroek.It Li H Ta "" Ta " RTF_HOST" Ta host entry (net otherwise)
307*483e5955SDavid van Moolenbroek.It Li L Ta -llinfo Ta " RTF_LLINFO" Ta translate proto to link addr
308*483e5955SDavid van Moolenbroek.It Li l Ta "" Ta " RTF_LOCAL" Ta Route represents a local address
309*483e5955SDavid van Moolenbroek.It Li M Ta "" Ta " RTF_MODIFIED" Ta modified dynamically (redirect)
310*483e5955SDavid van Moolenbroek.It Li p Ta -proxy Ta " RTF_ANNOUNCE" Ta make entry a link level proxy
311*483e5955SDavid van Moolenbroek.It Li R Ta -reject Ta " RTF_REJECT" Ta send ICMP unreachable on match
312*483e5955SDavid van Moolenbroek.It Li " " Ta -noreject Ta ~RTF_REJECT Ta clear reject flag
313*483e5955SDavid van Moolenbroek.It Li S Ta -static Ta " RTF_STATIC" Ta manually added route
314*483e5955SDavid van Moolenbroek.It Li " " Ta -nostatic Ta ~RTF_STATIC Ta pretend route added automatically
315*483e5955SDavid van Moolenbroek.It Li U Ta "" Ta " RTF_UP" Ta route usable
316*483e5955SDavid van Moolenbroek.It Li X Ta -xresolve Ta " RTF_XRESOLVE" Ta emit mesg on use (for ext lookup)
317*483e5955SDavid van Moolenbroek.El
318*483e5955SDavid van Moolenbroek.Pp
319*483e5955SDavid van MoolenbroekThe optional modifiers
320*483e5955SDavid van Moolenbroek.Fl rtt ,
321*483e5955SDavid van Moolenbroek.Fl rttvar ,
322*483e5955SDavid van Moolenbroek.Fl sendpipe ,
323*483e5955SDavid van Moolenbroek.Fl recvpipe ,
324*483e5955SDavid van Moolenbroek.Fl mtu ,
325*483e5955SDavid van Moolenbroek.Fl hopcount ,
326*483e5955SDavid van Moolenbroek.Fl expire ,
327*483e5955SDavid van Moolenbroekand
328*483e5955SDavid van Moolenbroek.Fl ssthresh
329*483e5955SDavid van Moolenbroekprovide initial values to quantities maintained in the routing entry
330*483e5955SDavid van Moolenbroekby transport level protocols, such as TCP or TP4.
331*483e5955SDavid van MoolenbroekThese may be individually locked by preceding each such modifier to
332*483e5955SDavid van Moolenbroekbe locked by
333*483e5955SDavid van Moolenbroekthe
334*483e5955SDavid van Moolenbroek.Fl lock
335*483e5955SDavid van Moolenbroekmeta-modifier, or one can
336*483e5955SDavid van Moolenbroekspecify that all ensuing metrics may be locked by the
337*483e5955SDavid van Moolenbroek.Fl lockrest
338*483e5955SDavid van Moolenbroekmeta-modifier.
339*483e5955SDavid van Moolenbroek.Pp
340*483e5955SDavid van MoolenbroekIn a
341*483e5955SDavid van Moolenbroek.Cm change
342*483e5955SDavid van Moolenbroekor
343*483e5955SDavid van Moolenbroek.Cm add
344*483e5955SDavid van Moolenbroekcommand where the destination and gateway are not sufficient to specify
345*483e5955SDavid van Moolenbroekthe route the
346*483e5955SDavid van Moolenbroek.Fl ifp
347*483e5955SDavid van Moolenbroekor
348*483e5955SDavid van Moolenbroek.Fl ifa
349*483e5955SDavid van Moolenbroekmodifiers may be used to determine the interface or interface address.
350*483e5955SDavid van Moolenbroek.Pp
351*483e5955SDavid van MoolenbroekAll symbolic names specified for a
352*483e5955SDavid van Moolenbroek.Ar destination
353*483e5955SDavid van Moolenbroekor
354*483e5955SDavid van Moolenbroek.Ar gateway
355*483e5955SDavid van Moolenbroekare looked up first as a host name using
356*483e5955SDavid van Moolenbroek.Xr gethostbyname 3 .
357*483e5955SDavid van MoolenbroekIf this lookup fails,
358*483e5955SDavid van Moolenbroek.Xr getnetbyname 3
359*483e5955SDavid van Moolenbroekis then used to interpret the name as that of a network.
360*483e5955SDavid van Moolenbroek.Pp
361*483e5955SDavid van Moolenbroek.Nm
362*483e5955SDavid van Moolenbroekuses a routing socket and the new message types
363*483e5955SDavid van Moolenbroek.Dv RTM_ADD ,
364*483e5955SDavid van Moolenbroek.Dv RTM_DELETE ,
365*483e5955SDavid van Moolenbroek.Dv RTM_GET ,
366*483e5955SDavid van Moolenbroekand
367*483e5955SDavid van Moolenbroek.Dv RTM_CHANGE .
368*483e5955SDavid van MoolenbroekAs such, only the super-user may modify
369*483e5955SDavid van Moolenbroekthe routing tables.
370*483e5955SDavid van Moolenbroek.Sh EXIT STATUS
371*483e5955SDavid van MoolenbroekThe
372*483e5955SDavid van Moolenbroek.Nm
373*483e5955SDavid van Moolenbroekutility exits 0 on success, and \*[Gt]0 if an error occurs.
374*483e5955SDavid van MoolenbroekThis includes the use of the
375*483e5955SDavid van Moolenbroek.Cm get
376*483e5955SDavid van Moolenbroekcommand to look up a route that is incomplete.
377*483e5955SDavid van Moolenbroek.Sh EXAMPLES
378*483e5955SDavid van MoolenbroekThis sets the default route to 192.168.0.1:
379*483e5955SDavid van Moolenbroek.Dl route add default 192.168.0.1
380*483e5955SDavid van MoolenbroekThis shows all routes, without DNS resolution (this is useful if the
381*483e5955SDavid van MoolenbroekDNS is not available):
382*483e5955SDavid van Moolenbroek.Dl route -n show
383*483e5955SDavid van MoolenbroekTo install a static route through 10.200.0.1 to reach the network
384*483e5955SDavid van Moolenbroek192.168.1.0/28, use this:
385*483e5955SDavid van Moolenbroek.Dl route add -net 192.168.1.0 -netmask 255.255.255.240 10.200.0.1
386*483e5955SDavid van Moolenbroek.Sh DIAGNOSTICS
387*483e5955SDavid van Moolenbroek.Bl -tag -width Ds
388*483e5955SDavid van Moolenbroek.It Sy "add [host \&| network ] %s: gateway %s flags %x"
389*483e5955SDavid van MoolenbroekThe specified route is being added to the tables.
390*483e5955SDavid van MoolenbroekThe values printed are from the routing table entry supplied in the
391*483e5955SDavid van Moolenbroek.Xr ioctl 2
392*483e5955SDavid van Moolenbroekcall.
393*483e5955SDavid van MoolenbroekIf the gateway address used was not the primary address of the gateway
394*483e5955SDavid van Moolenbroek(the first one returned by
395*483e5955SDavid van Moolenbroek.Xr gethostbyname 3 ) ,
396*483e5955SDavid van Moolenbroekthe gateway address is printed numerically as well as symbolically.
397*483e5955SDavid van Moolenbroek.It Sy "delete [ host \&| network ] %s: gateway %s flags %x"
398*483e5955SDavid van MoolenbroekAs above, but when deleting an entry.
399*483e5955SDavid van Moolenbroek.It Sy "%s %s done"
400*483e5955SDavid van MoolenbroekWhen the
401*483e5955SDavid van Moolenbroek.Cm flush
402*483e5955SDavid van Moolenbroekcommand is specified, each routing table entry deleted
403*483e5955SDavid van Moolenbroekis indicated with a message of this form.
404*483e5955SDavid van Moolenbroek.It Sy "Network is unreachable"
405*483e5955SDavid van MoolenbroekAn attempt to add a route failed because the gateway listed was not
406*483e5955SDavid van Moolenbroekon a directly-connected network.
407*483e5955SDavid van MoolenbroekThe next-hop gateway must be given.
408*483e5955SDavid van Moolenbroek.It Sy "not in table"
409*483e5955SDavid van MoolenbroekA delete operation was attempted for an entry which
410*483e5955SDavid van Moolenbroekwasn't present in the tables.
411*483e5955SDavid van Moolenbroek.It Sy "routing table overflow"
412*483e5955SDavid van MoolenbroekAn add operation was attempted, but the system was
413*483e5955SDavid van Moolenbroeklow on resources and was unable to allocate memory
414*483e5955SDavid van Moolenbroekto create the new entry.
415*483e5955SDavid van Moolenbroek.It Sy "Permission denied"
416*483e5955SDavid van MoolenbroekThe attempted operation is privileged.
417*483e5955SDavid van MoolenbroekOnly root may modify the routing tables.
418*483e5955SDavid van MoolenbroekThese privileges are enforced by the kernel.
419*483e5955SDavid van Moolenbroek.El
420*483e5955SDavid van Moolenbroek.Sh SEE ALSO
421*483e5955SDavid van Moolenbroek.Xr mpls 4 ,
422*483e5955SDavid van Moolenbroek.Xr netintro 4 ,
423*483e5955SDavid van Moolenbroek.Xr route 4 ,
424*483e5955SDavid van Moolenbroek.Xr routed 8 ,
425*483e5955SDavid van Moolenbroek.Xr sysctl 8
426*483e5955SDavid van Moolenbroek.\" .Xr XNSrouted 8
427*483e5955SDavid van Moolenbroek.Sh HISTORY
428*483e5955SDavid van MoolenbroekThe
429*483e5955SDavid van Moolenbroek.Nm
430*483e5955SDavid van Moolenbroekcommand appeared in
431*483e5955SDavid van Moolenbroek.Bx 4.2 .
432*483e5955SDavid van MoolenbroekIPv6 support was added by WIDE/KAME project.
433*483e5955SDavid van Moolenbroek.Sh BUGS
434*483e5955SDavid van MoolenbroekThe first paragraph may have slightly exaggerated
435*483e5955SDavid van Moolenbroek.Xr routed 8 Ns 's
436*483e5955SDavid van Moolenbroekabilities.
437*483e5955SDavid van Moolenbroek.Pp
438*483e5955SDavid van MoolenbroekSome uses of the
439*483e5955SDavid van Moolenbroek.Fl ifa
440*483e5955SDavid van Moolenbroekor
441*483e5955SDavid van Moolenbroek.Fl ifp
442*483e5955SDavid van Moolenbroekmodifiers with the add command will incorrectly fail with a
443*483e5955SDavid van Moolenbroek.Dq Network is unreachable
444*483e5955SDavid van Moolenbroekmessage if there is no default route.
445*483e5955SDavid van MoolenbroekSee case
446*483e5955SDavid van Moolenbroek.Dv RTM_ADD
447*483e5955SDavid van Moolenbroekin
448*483e5955SDavid van Moolenbroek.Pa sys/net/rtsock.c:route_output
449*483e5955SDavid van Moolenbroekfor details.
450