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