mirror of
				https://git.proxmox.com/git/mirror_iproute2
				synced 2025-11-04 02:11:27 +00:00 
			
		
		
		
	Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
		
			
				
	
	
		
			1885 lines
		
	
	
		
			41 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			1885 lines
		
	
	
		
			41 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH IP 8 "17 January 2002" "iproute2" "Linux"
 | 
						|
.SH NAME
 | 
						|
ip \- show / manipulate routing, devices, policy routing and tunnels
 | 
						|
.SH SYNOPSIS
 | 
						|
 | 
						|
.ad l
 | 
						|
.in +8
 | 
						|
.ti -8
 | 
						|
.B ip
 | 
						|
.RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
 | 
						|
.BR help " }"
 | 
						|
.sp
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR OBJECT " := { "
 | 
						|
.BR link " | " addr " | " addrlabel " | " route " | " rule " | " neigh " | "\
 | 
						|
 tunnel " | " maddr " | "  mroute " | " monitor " }"
 | 
						|
.sp
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR OPTIONS " := { " 
 | 
						|
\fB\-V\fR[\fIersion\fR] |
 | 
						|
\fB\-s\fR[\fItatistics\fR] |
 | 
						|
\fB\-r\fR[\fIesolve\fR] |
 | 
						|
\fB\-f\fR[\fIamily\fR] {
 | 
						|
.BR inet " | " inet6 " | " ipx " | " dnet " | " link " } | "
 | 
						|
\fB\-o\fR[\fIneline\fR] }
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BI "ip link set " DEVICE
 | 
						|
.RB "{ " up " | " down " | " arp " { " on " | " off " } |"
 | 
						|
.br
 | 
						|
.BR promisc " { " on " | " off " } |"
 | 
						|
.br
 | 
						|
.BR allmulticast " { " on " | " off " } |"
 | 
						|
.br
 | 
						|
.BR dynamic " { " on " | " off " } |"
 | 
						|
.br
 | 
						|
.BR multicast " { " on " | " off " } |"
 | 
						|
.br
 | 
						|
.B  txqueuelen
 | 
						|
.IR PACKETS " |"
 | 
						|
.br
 | 
						|
.B  name
 | 
						|
.IR NEWNAME " |"
 | 
						|
.br
 | 
						|
.B  address
 | 
						|
.IR LLADDR " |"
 | 
						|
.B  broadcast 
 | 
						|
.IR LLADDR " |"
 | 
						|
.br
 | 
						|
.B  mtu
 | 
						|
.IR MTU " }"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.B ip link show
 | 
						|
.RI "[ " DEVICE " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip addr" " { " add " | " del " } " 
 | 
						|
.IB IFADDR " dev " STRING
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip addr" " { " show " | " flush " } [ " dev
 | 
						|
.IR STRING " ] [ "
 | 
						|
.B  scope
 | 
						|
.IR SCOPE-ID " ] [ "
 | 
						|
.B  to 
 | 
						|
.IR PREFIX " ] [ " FLAG-LIST " ] [ "
 | 
						|
.B  label
 | 
						|
.IR PATTERN " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR IFADDR " := " PREFIX " | " ADDR
 | 
						|
.B  peer
 | 
						|
.IR PREFIX " [ "
 | 
						|
.B  broadcast
 | 
						|
.IR ADDR " ] [ "
 | 
						|
.B  anycast
 | 
						|
.IR ADDR " ] [ "
 | 
						|
.B  label
 | 
						|
.IR STRING " ] [ "
 | 
						|
.B  scope
 | 
						|
.IR SCOPE-ID " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR SCOPE-ID " := "
 | 
						|
.RB "[ " host " | " link " | " global " | "
 | 
						|
.IR NUMBER " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR FLAG-LIST " := [ "  FLAG-LIST " ] " FLAG
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR FLAG " := "
 | 
						|
.RB "[ " permanent " | " dynamic " | " secondary " | " primary " | "\
 | 
						|
tentative " | " deprecated " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip addrlabel" " { " add " | " del " } " prefix 
 | 
						|
.BR PREFIX " [ "
 | 
						|
.B dev
 | 
						|
.IR DEV " ] [ "
 | 
						|
.B label
 | 
						|
.IR NUMBER " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip addrlabel" " { " list " | " flush " }"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip route" " { "
 | 
						|
.BR list " | " flush " } "
 | 
						|
.I  SELECTOR
 | 
						|
 | 
						|
.ti -8
 | 
						|
.B  ip route get 
 | 
						|
.IR ADDRESS " [ "
 | 
						|
.BI from " ADDRESS " iif " STRING"
 | 
						|
.RB " ] [ " oif 
 | 
						|
.IR STRING " ] [ "
 | 
						|
.B  tos
 | 
						|
.IR TOS " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip route" " { " add " | " del " | " change " | " append " | "\
 | 
						|
replace " | " monitor " } "
 | 
						|
.I  ROUTE
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR SELECTOR " := "
 | 
						|
.RB "[ " root
 | 
						|
.IR PREFIX " ] [ "
 | 
						|
.B  match
 | 
						|
.IR PREFIX " ] [ "
 | 
						|
.B  exact
 | 
						|
.IR PREFIX " ] [ "
 | 
						|
.B  table
 | 
						|
.IR TABLE_ID " ] [ "
 | 
						|
.B  proto
 | 
						|
.IR RTPROTO " ] [ "
 | 
						|
.B  type
 | 
						|
.IR TYPE " ] [ "
 | 
						|
.B  scope
 | 
						|
.IR SCOPE " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR ROUTE " := " NODE_SPEC " [ " INFO_SPEC " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR NODE_SPEC " := [ " TYPE " ] " PREFIX " ["
 | 
						|
.B  tos
 | 
						|
.IR TOS " ] [ "
 | 
						|
.B  table
 | 
						|
.IR TABLE_ID " ] [ "
 | 
						|
.B  proto
 | 
						|
.IR RTPROTO " ] [ "
 | 
						|
.B  scope
 | 
						|
.IR SCOPE " ] [ "
 | 
						|
.B  metric
 | 
						|
.IR METRIC " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR INFO_SPEC " := " "NH OPTIONS FLAGS" " ["
 | 
						|
.B  nexthop
 | 
						|
.IR NH " ] ..."
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR NH " := [ "
 | 
						|
.B  via
 | 
						|
.IR ADDRESS " ] [ "
 | 
						|
.B  dev
 | 
						|
.IR STRING " ] [ "
 | 
						|
.B  weight
 | 
						|
.IR NUMBER " ] " NHFLAGS
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR OPTIONS " := " FLAGS " [ "
 | 
						|
.B  mtu
 | 
						|
.IR NUMBER " ] [ "
 | 
						|
.B  advmss
 | 
						|
.IR NUMBER " ] [ "
 | 
						|
.B  rtt
 | 
						|
.IR TIME " ] [ "
 | 
						|
.B  rttvar
 | 
						|
.IR TIME " ] [ "
 | 
						|
.B  window
 | 
						|
.IR NUMBER " ] [ "
 | 
						|
.B  cwnd
 | 
						|
.IR NUMBER " ] [ "
 | 
						|
.B  ssthresh
 | 
						|
.IR REALM " ] [ "
 | 
						|
.B  realms
 | 
						|
.IR REALM " ] [ "
 | 
						|
.B  rto_min
 | 
						|
.IR TIME " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR TYPE " := [ "
 | 
						|
.BR unicast " | " local " | " broadcast " | " multicast " | "\
 | 
						|
throw " | " unreachable " | " prohibit " | " blackhole " | " nat " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR TABLE_ID " := [ "
 | 
						|
.BR local "| " main " | " default " | " all " |"
 | 
						|
.IR NUMBER " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR SCOPE " := [ "
 | 
						|
.BR host " | " link " | " global " |"
 | 
						|
.IR NUMBER " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR FLAGS " := [ "
 | 
						|
.BR equalize " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR NHFLAGS " := [ "
 | 
						|
.BR onlink " | " pervasive " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR RTPROTO " := [ "
 | 
						|
.BR kernel " | " boot " | " static " |"
 | 
						|
.IR NUMBER " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.B  ip rule
 | 
						|
.RB " [ " list " | " add " | " del " | " flush " ]"
 | 
						|
.I  SELECTOR ACTION
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR SELECTOR " := [ "
 | 
						|
.B  from
 | 
						|
.IR PREFIX " ] [ "
 | 
						|
.B  to
 | 
						|
.IR PREFIX " ] [ "
 | 
						|
.B  tos
 | 
						|
.IR TOS " ] [ "
 | 
						|
.B  fwmark
 | 
						|
.IR FWMARK[/MASK] " ] [ "
 | 
						|
.B  dev
 | 
						|
.IR STRING " ] [ "
 | 
						|
.B  pref
 | 
						|
.IR NUMBER " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR ACTION " := [ "
 | 
						|
.B  table
 | 
						|
.IR TABLE_ID " ] [ "
 | 
						|
.B  nat
 | 
						|
.IR ADDRESS " ] [ "
 | 
						|
.BR prohibit " | " reject " | " unreachable " ] [ " realms
 | 
						|
.RI "[" SRCREALM "/]" DSTREALM " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR TABLE_ID " := [ "
 | 
						|
.BR local " | " main " | " default " |"
 | 
						|
.IR NUMBER " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip neigh" " { " add " | " del " | " change " | " replace " } { "
 | 
						|
.IR ADDR " [ "
 | 
						|
.B  lladdr
 | 
						|
.IR LLADDR " ] [ "
 | 
						|
.BR nud " { " permanent " | " noarp " | " stale " | " reachable " } ] | " proxy
 | 
						|
.IR ADDR " } [ "
 | 
						|
.B  dev
 | 
						|
.IR DEV " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip neigh" " { " show " | " flush " } [ " to
 | 
						|
.IR PREFIX " ] [ "
 | 
						|
.B  dev
 | 
						|
.IR DEV " ] [ "
 | 
						|
.B  nud
 | 
						|
.IR STATE " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip tunnel" " { " add " | " change " | " del " | " show " }"
 | 
						|
.RI "[ " NAME " ]"
 | 
						|
.br
 | 
						|
.RB "[ " mode " { " ipip " | " gre " | " sit " } ]"
 | 
						|
.br
 | 
						|
.RB "[ " remote
 | 
						|
.IR ADDR " ] [ "
 | 
						|
.B  local
 | 
						|
.IR ADDR " ]"
 | 
						|
.br
 | 
						|
.RB "[ [" i "|" o "]" seq " ] [ [" i "|" o "]" key
 | 
						|
.IR KEY " ] [ "
 | 
						|
.RB "[" i "|" o "]" csum " ] ]"
 | 
						|
.br
 | 
						|
.RB "[ " ttl
 | 
						|
.IR TTL " ] [ "
 | 
						|
.B  tos
 | 
						|
.IR TOS " ] [ "
 | 
						|
.RB "[" no "]" pmtudisc " ]"
 | 
						|
.br
 | 
						|
.RB "[ " dev
 | 
						|
.IR PHYS_DEV " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR ADDR " := { " IP_ADDRESS " |"
 | 
						|
.BR any " }"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR TOS " := { " NUMBER " |"
 | 
						|
.BR inherit " }"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR TTL " := { " 1 ".." 255 " | "
 | 
						|
.BR inherit " }"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR KEY " := { " DOTTED_QUAD " | " NUMBER " }"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR TIME " := " NUMBER "[s|ms|us|ns|j]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip maddr" " [ " add " | " del " ]"
 | 
						|
.IB MULTIADDR " dev " STRING
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip maddr show" " [ " dev
 | 
						|
.IR STRING " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip mroute show" " ["
 | 
						|
.IR PREFIX " ] [ "
 | 
						|
.B  from
 | 
						|
.IR PREFIX " ] [ "
 | 
						|
.B  iif
 | 
						|
.IR DEVICE " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.BR "ip monitor" " [ " all " |"
 | 
						|
.IR LISTofOBJECTS " ]"
 | 
						|
.in -8
 | 
						|
.ad b
 | 
						|
 | 
						|
.SH OPTIONS
 | 
						|
 | 
						|
.TP
 | 
						|
.BR "\-V" , " -Version"
 | 
						|
print the version of the
 | 
						|
.B ip
 | 
						|
utility and exit.
 | 
						|
 | 
						|
.TP
 | 
						|
.BR "\-s" , " \-stats", " \-statistics"
 | 
						|
output more information.  If the option
 | 
						|
appears twice or more, the amount of information increases.
 | 
						|
As a rule, the information is statistics or some time values.
 | 
						|
 | 
						|
.TP
 | 
						|
.BR "\-f" , " \-family"
 | 
						|
followed by protocol family identifier:
 | 
						|
.BR "inet" , " inet6"
 | 
						|
or
 | 
						|
.B link
 | 
						|
,enforce the protocol family to use.  If the option is not present,
 | 
						|
the protocol family is guessed from other arguments.  If the rest 
 | 
						|
of the command line does not give enough information to guess the
 | 
						|
family,
 | 
						|
.B ip
 | 
						|
falls back to the default one, usually
 | 
						|
.B inet
 | 
						|
or
 | 
						|
.BR "any" .
 | 
						|
.B link
 | 
						|
is a special family identifier meaning that no networking protocol
 | 
						|
is involved.
 | 
						|
 | 
						|
.TP
 | 
						|
.B \-4
 | 
						|
shortcut for
 | 
						|
.BR "-family inet" .
 | 
						|
 | 
						|
.TP
 | 
						|
.B \-6
 | 
						|
shortcut for
 | 
						|
.BR "\-family inet6" .
 | 
						|
 | 
						|
.TP
 | 
						|
.B \-0
 | 
						|
shortcut for
 | 
						|
.BR "\-family link" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BR "\-o" , " \-oneline"
 | 
						|
output each record on a single line, replacing line feeds
 | 
						|
with the
 | 
						|
.B '\e\'
 | 
						|
character. This is convenient when you want to count records 
 | 
						|
with
 | 
						|
.BR wc (1)
 | 
						|
 or to
 | 
						|
.BR grep (1)
 | 
						|
the output.
 | 
						|
 | 
						|
.TP
 | 
						|
.BR "\-r" , " \-resolve"
 | 
						|
use the system's name resolver to print DNS names instead of
 | 
						|
host addresses.
 | 
						|
 | 
						|
.SH IP - COMMAND SYNTAX
 | 
						|
 | 
						|
.SS
 | 
						|
.I OBJECT
 | 
						|
 | 
						|
.TP
 | 
						|
.B link
 | 
						|
- network device.
 | 
						|
 | 
						|
.TP
 | 
						|
.B address
 | 
						|
- protocol (IP or IPv6) address on a device.
 | 
						|
 | 
						|
.TP
 | 
						|
.B addrlabel
 | 
						|
- label configuration for protocol address selection.
 | 
						|
 | 
						|
.TP
 | 
						|
.B neighbour
 | 
						|
- ARP or NDISC cache entry.
 | 
						|
 | 
						|
.TP
 | 
						|
.B route
 | 
						|
- routing table entry.
 | 
						|
 | 
						|
.TP
 | 
						|
.B rule
 | 
						|
- rule in routing policy database.
 | 
						|
 | 
						|
.TP
 | 
						|
.B maddress
 | 
						|
- multicast address.
 | 
						|
 | 
						|
.TP
 | 
						|
.B mroute
 | 
						|
- multicast routing cache entry.
 | 
						|
 | 
						|
.TP
 | 
						|
.B tunnel
 | 
						|
- tunnel over IP.
 | 
						|
 | 
						|
.PP
 | 
						|
The names of all objects may be written in full or
 | 
						|
abbreviated form, f.e.
 | 
						|
.B address
 | 
						|
is abbreviated as
 | 
						|
.B addr
 | 
						|
or just
 | 
						|
.B a.
 | 
						|
 | 
						|
.SS
 | 
						|
.I COMMAND
 | 
						|
 | 
						|
Specifies the action to perform on the object.
 | 
						|
The set of possible actions depends on the object type.
 | 
						|
As a rule, it is possible to
 | 
						|
.BR "add" , " delete"
 | 
						|
and
 | 
						|
.B show
 | 
						|
(or
 | 
						|
.B list
 | 
						|
) objects, but some objects do not allow all of these operations
 | 
						|
or have some additional commands.  The
 | 
						|
.B help
 | 
						|
command is available for all objects.  It prints
 | 
						|
out a list of available commands and argument syntax conventions.
 | 
						|
.sp
 | 
						|
If no command is given, some default command is assumed.
 | 
						|
Usually it is
 | 
						|
.B list
 | 
						|
or, if the objects of this class cannot be listed,
 | 
						|
.BR "help" .
 | 
						|
 | 
						|
.SH ip link - network device configuration
 | 
						|
 | 
						|
.B link
 | 
						|
is a network device and the corresponding commands
 | 
						|
display and change the state of devices.
 | 
						|
 | 
						|
.SS ip link set - change device attributes
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME " (default)
 | 
						|
.I NAME
 | 
						|
specifies network device to operate on.
 | 
						|
 | 
						|
.TP
 | 
						|
.BR up " and " down
 | 
						|
change the state of the device to
 | 
						|
.B UP
 | 
						|
or
 | 
						|
.BR "DOWN" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BR "arp on " or " arp off"
 | 
						|
change the
 | 
						|
.B NOARP
 | 
						|
flag on the device.
 | 
						|
 | 
						|
.TP
 | 
						|
.BR "multicast on " or " multicast off"
 | 
						|
change the
 | 
						|
.B MULTICAST
 | 
						|
flag on the device.
 | 
						|
 | 
						|
.TP
 | 
						|
.BR "dynamic on " or " dynamic off"
 | 
						|
change the
 | 
						|
.B DYNAMIC
 | 
						|
flag on the device.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI name " NAME"
 | 
						|
change the name of the device.  This operation is not
 | 
						|
recommended if the device is running or has some addresses
 | 
						|
already configured.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI txqueuelen " NUMBER"
 | 
						|
.TP 
 | 
						|
.BI txqlen " NUMBER"
 | 
						|
change the transmit queue length of the device.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI mtu " NUMBER"
 | 
						|
change the 
 | 
						|
.I MTU
 | 
						|
of the device.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI address " LLADDRESS"
 | 
						|
change the station address of the interface.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI broadcast " LLADDRESS"
 | 
						|
.TP
 | 
						|
.BI brd " LLADDRESS"
 | 
						|
.TP
 | 
						|
.BI peer " LLADDRESS"
 | 
						|
change the link layer broadcast address or the peer address when
 | 
						|
the interface is
 | 
						|
.IR "POINTOPOINT" .
 | 
						|
 | 
						|
.PP
 | 
						|
.B Warning:
 | 
						|
If multiple parameter changes are requested,
 | 
						|
.B ip
 | 
						|
aborts immediately after any of the changes have failed.
 | 
						|
This is the only case when
 | 
						|
.B ip
 | 
						|
can move the system to an unpredictable state.  The solution
 | 
						|
is to avoid changing several parameters with one
 | 
						|
.B ip link set
 | 
						|
call.
 | 
						|
 | 
						|
.SS  ip link show - display device attributes
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME " (default)
 | 
						|
.I NAME
 | 
						|
specifies the network device to show.
 | 
						|
If this argument is omitted all devices are listed.
 | 
						|
 | 
						|
.TP
 | 
						|
.B up
 | 
						|
only display running interfaces.
 | 
						|
 | 
						|
.SH ip address - protocol address management.
 | 
						|
 | 
						|
The
 | 
						|
.B address
 | 
						|
is a protocol (IP or IPv6) address attached
 | 
						|
to a network device.  Each device must have at least one address
 | 
						|
to use the corresponding protocol.  It is possible to have several
 | 
						|
different addresses attached to one device.  These addresses are not
 | 
						|
discriminated, so that the term
 | 
						|
.B alias
 | 
						|
is not quite appropriate for them and we do not use it in this document.
 | 
						|
.sp
 | 
						|
The
 | 
						|
.B ip addr
 | 
						|
command displays addresses and their properties, adds new addresses
 | 
						|
and deletes old ones.
 | 
						|
 | 
						|
.SS ip address add - add new protocol address.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME"
 | 
						|
the name of the device to add the address to.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI local " ADDRESS " (default)
 | 
						|
the address of the interface. The format of the address depends
 | 
						|
on the protocol. It is a dotted quad for IP and a sequence of
 | 
						|
hexadecimal halfwords separated by colons for IPv6.  The
 | 
						|
.I ADDRESS
 | 
						|
may be followed by a slash and a decimal number which encodes
 | 
						|
the network prefix length.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI peer " ADDRESS"
 | 
						|
the address of the remote endpoint for pointopoint interfaces.
 | 
						|
Again, the
 | 
						|
.I ADDRESS
 | 
						|
may be followed by a slash and a decimal number, encoding the network
 | 
						|
prefix length.  If a peer address is specified, the local address
 | 
						|
cannot have a prefix length.  The network prefix is associated
 | 
						|
with the peer rather than with the local address.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI broadcast " ADDRESS"
 | 
						|
the broadcast address on the interface.
 | 
						|
.sp
 | 
						|
It is possible to use the special symbols
 | 
						|
.B '+'
 | 
						|
and
 | 
						|
.B '-'
 | 
						|
instead of the broadcast address.  In this case, the broadcast address
 | 
						|
is derived by setting/resetting the host bits of the interface prefix.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI label " NAME"
 | 
						|
Each address may be tagged with a label string.
 | 
						|
In order to preserve compatibility with Linux-2.0 net aliases,
 | 
						|
this string must coincide with the name of the device or must be prefixed
 | 
						|
with the device name followed by colon.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI scope " SCOPE_VALUE"
 | 
						|
the scope of the area where this address is valid.
 | 
						|
The available scopes are listed in file
 | 
						|
.BR "/etc/iproute2/rt_scopes" .
 | 
						|
Predefined scope values are:
 | 
						|
 | 
						|
.in +8
 | 
						|
.B global
 | 
						|
- the address is globally valid.
 | 
						|
.sp
 | 
						|
.B site
 | 
						|
- (IPv6 only) the address is site local, i.e. it is
 | 
						|
valid inside this site.
 | 
						|
.sp
 | 
						|
.B link
 | 
						|
- the address is link local, i.e. it is valid only on this device.
 | 
						|
.sp
 | 
						|
.B host
 | 
						|
- the address is valid only inside this host.
 | 
						|
.in -8
 | 
						|
 | 
						|
.SS ip address delete - delete protocol address
 | 
						|
.B Arguments:
 | 
						|
coincide with the arguments of
 | 
						|
.B ip addr add.
 | 
						|
The device name is a required argument.  The rest are optional.
 | 
						|
If no arguments are given, the first address is deleted.
 | 
						|
 | 
						|
.SS ip address show - look at protocol addresses
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME " (default)
 | 
						|
name of device.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI scope " SCOPE_VAL"
 | 
						|
only list addresses with this scope.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI to " PREFIX"
 | 
						|
only list addresses matching this prefix.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI label " PATTERN"
 | 
						|
only list addresses with labels matching the
 | 
						|
.IR "PATTERN" .
 | 
						|
.I PATTERN
 | 
						|
is a usual shell style pattern.
 | 
						|
 | 
						|
.TP
 | 
						|
.BR dynamic " and " permanent
 | 
						|
(IPv6 only) only list addresses installed due to stateless
 | 
						|
address configuration or only list permanent (not dynamic)
 | 
						|
addresses.
 | 
						|
 | 
						|
.TP
 | 
						|
.B tentative
 | 
						|
(IPv6 only) only list addresses which did not pass duplicate
 | 
						|
address detection.
 | 
						|
 | 
						|
.TP
 | 
						|
.B deprecated
 | 
						|
(IPv6 only) only list deprecated addresses.
 | 
						|
 | 
						|
.TP
 | 
						|
.BR primary " and " secondary
 | 
						|
only list primary (or secondary) addresses.
 | 
						|
 | 
						|
.SS ip address flush - flush protocol addresses
 | 
						|
This command flushes the protocol addresses selected by some criteria.
 | 
						|
 | 
						|
.PP
 | 
						|
This command has the same arguments as
 | 
						|
.B show.
 | 
						|
The difference is that it does not run when no arguments are given.
 | 
						|
 | 
						|
.PP
 | 
						|
.B Warning:
 | 
						|
This command (and other
 | 
						|
.B flush
 | 
						|
commands described below) is pretty dangerous.  If you make a mistake,
 | 
						|
it will not forgive it, but will cruelly purge all the addresses.
 | 
						|
 | 
						|
.PP
 | 
						|
With the
 | 
						|
.B -statistics
 | 
						|
option, the command becomes verbose. It prints out the number of deleted
 | 
						|
addresses and the number of rounds made to flush the address list.  If
 | 
						|
this option is given twice,
 | 
						|
.B ip addr flush
 | 
						|
also dumps all the deleted addresses in the format described in the
 | 
						|
previous subsection.
 | 
						|
 | 
						|
.SH ip addrlabel - protocol address label management.
 | 
						|
 | 
						|
IPv6 address label is used for address selection
 | 
						|
described in RFC 3484.  Precedence is managed by userspace,
 | 
						|
and only label is stored in kernel.
 | 
						|
 | 
						|
.SS ip addrlabel add - add an address label
 | 
						|
the command adds an address label entry to the kernel.
 | 
						|
.TP
 | 
						|
.BI prefix " PREFIX"
 | 
						|
.TP
 | 
						|
.BI dev " DEV"
 | 
						|
the outgoing interface.
 | 
						|
.TP
 | 
						|
.BI label " NUMBER"
 | 
						|
the label for the prefix.
 | 
						|
0xffffffff is reserved.
 | 
						|
.SS ip addrlabel del - delete an address label
 | 
						|
the command deletes an address label entry in the kernel.
 | 
						|
.B Arguments:
 | 
						|
coincide with the arguments of
 | 
						|
.B ip addrlabel add
 | 
						|
but label is not required.
 | 
						|
.SS ip addrlabel list - list address labels
 | 
						|
the command show contents of address labels.
 | 
						|
.SS ip addrlabel flush - flush address labels
 | 
						|
the commoand flushes the contents of address labels and it does not restore default settings.
 | 
						|
.SH ip neighbour - neighbour/arp tables management.
 | 
						|
 | 
						|
.B neighbour
 | 
						|
objects establish bindings between protocol addresses and
 | 
						|
link layer addresses for hosts sharing the same link.
 | 
						|
Neighbour entries are organized into tables. The IPv4 neighbour table
 | 
						|
is known by another name - the ARP table.
 | 
						|
 | 
						|
.P
 | 
						|
The corresponding commands display neighbour bindings
 | 
						|
and their properties, add new neighbour entries and delete old ones.
 | 
						|
 | 
						|
.SS ip neighbour add - add a new neighbour entry
 | 
						|
.SS ip neighbour change - change an existing entry
 | 
						|
.SS ip neighbour replace - add a new entry or change an existing one
 | 
						|
 | 
						|
These commands create new neighbour records or update existing ones.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI to " ADDRESS " (default)
 | 
						|
the protocol address of the neighbour. It is either an IPv4 or IPv6 address.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME"
 | 
						|
the interface to which this neighbour is attached.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI lladdr " LLADDRESS"
 | 
						|
the link layer address of the neighbour.
 | 
						|
.I LLADDRESS
 | 
						|
can also be
 | 
						|
.BR "null" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BI nud " NUD_STATE"
 | 
						|
the state of the neighbour entry.
 | 
						|
.B nud
 | 
						|
is an abbreviation for 'Neigh bour Unreachability Detection'.
 | 
						|
The state can take one of the following values:
 | 
						|
 | 
						|
.in +8
 | 
						|
.B permanent
 | 
						|
- the neighbour entry is valid forever and can be only
 | 
						|
be removed administratively.
 | 
						|
.sp
 | 
						|
 | 
						|
.B noarp
 | 
						|
- the neighbour entry is valid. No attempts to validate
 | 
						|
this entry will be made but it can be removed when its lifetime expires.
 | 
						|
.sp
 | 
						|
 | 
						|
.B reachable
 | 
						|
- the neighbour entry is valid until the reachability
 | 
						|
timeout expires.
 | 
						|
.sp
 | 
						|
 | 
						|
.B stale
 | 
						|
- the neighbour entry is valid but suspicious.
 | 
						|
This option to
 | 
						|
.B ip neigh
 | 
						|
does not change the neighbour state if it was valid and the address
 | 
						|
is not changed by this command.
 | 
						|
.in -8
 | 
						|
 | 
						|
.SS ip neighbour delete - delete a neighbour entry
 | 
						|
This command invalidates a neighbour entry.
 | 
						|
 | 
						|
.PP
 | 
						|
The arguments are the same as with
 | 
						|
.BR "ip neigh add" ,
 | 
						|
except that
 | 
						|
.B lladdr
 | 
						|
and
 | 
						|
.B nud
 | 
						|
are ignored.
 | 
						|
 | 
						|
.PP
 | 
						|
.B Warning:
 | 
						|
Attempts to delete or manually change a
 | 
						|
.B noarp
 | 
						|
entry created by the kernel may result in unpredictable behaviour.
 | 
						|
Particularly, the kernel may try to resolve this address even
 | 
						|
on a
 | 
						|
.B NOARP
 | 
						|
interface or if the address is multicast or broadcast.
 | 
						|
 | 
						|
.SS ip neighbour show - list neighbour entries
 | 
						|
 | 
						|
This commands displays neighbour tables.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI to " ADDRESS " (default)
 | 
						|
the prefix selecting the neighbours to list.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME"
 | 
						|
only list the neighbours attached to this device.
 | 
						|
 | 
						|
.TP
 | 
						|
.B unused
 | 
						|
only list neighbours which are not currently in use.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI nud " NUD_STATE"
 | 
						|
only list neighbour entries in this state.
 | 
						|
.I NUD_STATE
 | 
						|
takes values listed below or the special value
 | 
						|
.B all
 | 
						|
which means all states.  This option may occur more than once.
 | 
						|
If this option is absent,
 | 
						|
.B ip
 | 
						|
lists all entries except for
 | 
						|
.B none
 | 
						|
and
 | 
						|
.BR "noarp" .
 | 
						|
 | 
						|
.SS ip neighbour flush - flush neighbour entries
 | 
						|
This command flushes neighbour tables, selecting
 | 
						|
entries to flush by some criteria.
 | 
						|
 | 
						|
.PP
 | 
						|
This command has the same arguments as
 | 
						|
.B show.
 | 
						|
The differences are that it does not run when no arguments are given,
 | 
						|
and that the default neighbour states to be flushed do not include
 | 
						|
.B permanent
 | 
						|
and
 | 
						|
.BR "noarp" .
 | 
						|
 | 
						|
.PP
 | 
						|
With the
 | 
						|
.B -statistics
 | 
						|
option, the command becomes verbose.  It prints out the number of
 | 
						|
deleted neighbours and the number of rounds made to flush the
 | 
						|
neighbour table.  If the option is given
 | 
						|
twice,
 | 
						|
.B ip neigh flush
 | 
						|
also dumps all the deleted neighbours.
 | 
						|
 | 
						|
.SH ip route - routing table management
 | 
						|
Manipulate route entries in the kernel routing tables keep
 | 
						|
information about paths to other networked nodes.
 | 
						|
.sp
 | 
						|
.B Route types:
 | 
						|
 | 
						|
.in +8
 | 
						|
.B unicast
 | 
						|
- the route entry describes real paths to the destinations covered
 | 
						|
by the route prefix.
 | 
						|
 | 
						|
.sp
 | 
						|
.B unreachable
 | 
						|
- these destinations are unreachable.  Packets are discarded and the
 | 
						|
ICMP message
 | 
						|
.I host unreachable
 | 
						|
is generated.
 | 
						|
The local senders get an
 | 
						|
.I EHOSTUNREACH
 | 
						|
error.
 | 
						|
 | 
						|
.sp
 | 
						|
.B blackhole
 | 
						|
- these destinations are unreachable.  Packets are discarded silently.
 | 
						|
The local senders get an
 | 
						|
.I EINVAL
 | 
						|
error.
 | 
						|
 | 
						|
.sp
 | 
						|
.B prohibit
 | 
						|
- these destinations are unreachable.  Packets are discarded and the
 | 
						|
ICMP message
 | 
						|
.I communication administratively prohibited
 | 
						|
is generated.  The local senders get an
 | 
						|
.I EACCES
 | 
						|
error.
 | 
						|
 | 
						|
.sp
 | 
						|
.B local
 | 
						|
- the destinations are assigned to this host.  The packets are looped
 | 
						|
back and delivered locally.
 | 
						|
 | 
						|
.sp
 | 
						|
.B broadcast
 | 
						|
- the destinations are broadcast addresses.  The packets are sent as
 | 
						|
link broadcasts.
 | 
						|
 | 
						|
.sp
 | 
						|
.B throw
 | 
						|
- a special control route used together with policy rules. If such a
 | 
						|
route is selected, lookup in this table is terminated pretending that
 | 
						|
no route was found.  Without policy routing it is equivalent to the
 | 
						|
absence of the route in the routing table.  The packets are dropped
 | 
						|
and the ICMP message
 | 
						|
.I net unreachable
 | 
						|
is generated.  The local senders get an
 | 
						|
.I ENETUNREACH
 | 
						|
error.
 | 
						|
 | 
						|
.sp
 | 
						|
.B nat
 | 
						|
- a special NAT route.  Destinations covered by the prefix
 | 
						|
are considered to be dummy (or external) addresses which require translation
 | 
						|
to real (or internal) ones before forwarding.  The addresses to translate to
 | 
						|
are selected with the attribute
 | 
						|
.B Warning:
 | 
						|
Route NAT is no longer supported in Linux 2.6.
 | 
						|
 | 
						|
 | 
						|
.BR "via" .
 | 
						|
.sp
 | 
						|
.B anycast
 | 
						|
.RI "- " "not implemented"
 | 
						|
the destinations are
 | 
						|
.I anycast
 | 
						|
addresses assigned to this host.  They are mainly equivalent
 | 
						|
to
 | 
						|
.B local
 | 
						|
with one difference: such addresses are invalid when used
 | 
						|
as the source address of any packet.
 | 
						|
 | 
						|
.sp
 | 
						|
.B multicast
 | 
						|
- a special type used for multicast routing.  It is not present in
 | 
						|
normal routing tables.
 | 
						|
.in -8
 | 
						|
 | 
						|
.P
 | 
						|
.B Route tables:
 | 
						|
Linux-2.x can pack routes into several routing
 | 
						|
tables identified by a number in the range from 1 to 255 or by
 | 
						|
name from the file
 | 
						|
.B /etc/iproute2/rt_tables
 | 
						|
. By default all normal routes are inserted into the
 | 
						|
.B main
 | 
						|
table (ID 254) and the kernel only uses this table when calculating routes.
 | 
						|
 | 
						|
.sp
 | 
						|
Actually, one other table always exists, which is invisible but
 | 
						|
even more important.  It is the
 | 
						|
.B local
 | 
						|
table (ID 255).  This table
 | 
						|
consists of routes for local and broadcast addresses.  The kernel maintains
 | 
						|
this table automatically and the administrator usually need not modify it
 | 
						|
or even look at it.
 | 
						|
 | 
						|
The multiple routing tables enter the game when
 | 
						|
.I policy routing
 | 
						|
is used.
 | 
						|
 | 
						|
.SS ip route add - add new route
 | 
						|
.SS ip route change - change route
 | 
						|
.SS ip route replace - change or add new one
 | 
						|
 | 
						|
.TP
 | 
						|
.BI to " TYPE PREFIX " (default)
 | 
						|
the destination prefix of the route.  If
 | 
						|
.I TYPE
 | 
						|
is omitted,
 | 
						|
.B ip
 | 
						|
assumes type
 | 
						|
.BR "unicast" .
 | 
						|
Other values of
 | 
						|
.I TYPE
 | 
						|
are listed above.
 | 
						|
.I PREFIX
 | 
						|
is an IP or IPv6 address optionally followed by a slash and the
 | 
						|
prefix length.  If the length of the prefix is missing,
 | 
						|
.B ip
 | 
						|
assumes a full-length host route.  There is also a special
 | 
						|
.I PREFIX
 | 
						|
.B default
 | 
						|
- which is equivalent to IP
 | 
						|
.B 0/0
 | 
						|
or to IPv6
 | 
						|
.BR "::/0" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BI tos " TOS"
 | 
						|
.TP
 | 
						|
.BI dsfield " TOS"
 | 
						|
the Type Of Service (TOS) key.  This key has no associated mask and
 | 
						|
the longest match is understood as: First, compare the TOS
 | 
						|
of the route and of the packet.  If they are not equal, then the packet
 | 
						|
may still match a route with a zero TOS.
 | 
						|
.I TOS
 | 
						|
is either an 8 bit hexadecimal number or an identifier
 | 
						|
from
 | 
						|
.BR "/etc/iproute2/rt_dsfield" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BI metric " NUMBER"
 | 
						|
.TP
 | 
						|
.BI preference " NUMBER"
 | 
						|
the preference value of the route.
 | 
						|
.I NUMBER
 | 
						|
is an arbitrary 32bit number.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI table " TABLEID"
 | 
						|
the table to add this route to.
 | 
						|
.I TABLEID
 | 
						|
may be a number or a string from the file
 | 
						|
.BR "/etc/iproute2/rt_tables" .
 | 
						|
If this parameter is omitted,
 | 
						|
.B ip
 | 
						|
assumes the
 | 
						|
.B main
 | 
						|
table, with the exception of
 | 
						|
.BR local " , " broadcast " and " nat
 | 
						|
routes, which are put into the
 | 
						|
.B local
 | 
						|
table by default.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME"
 | 
						|
the output device name.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI via " ADDRESS"
 | 
						|
the address of the nexthop router.  Actually, the sense of this field
 | 
						|
depends on the route type.  For normal
 | 
						|
.B unicast
 | 
						|
routes it is either the true next hop router or, if it is a direct
 | 
						|
route installed in BSD compatibility mode, it can be a local address
 | 
						|
of the interface.  For NAT routes it is the first address of the block
 | 
						|
of translated IP destinations.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI src " ADDRESS"
 | 
						|
the source address to prefer when sending to the destinations
 | 
						|
covered by the route prefix.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI realm " REALMID"
 | 
						|
the realm to which this route is assigned.
 | 
						|
.I REALMID
 | 
						|
may be a number or a string from the file
 | 
						|
.BR "/etc/iproute2/rt_realms" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BI mtu " MTU"
 | 
						|
.TP
 | 
						|
.BI "mtu lock" " MTU"
 | 
						|
the MTU along the path to the destination.  If the modifier
 | 
						|
.B lock
 | 
						|
is not used, the MTU may be updated by the kernel due to
 | 
						|
Path MTU Discovery.  If the modifier
 | 
						|
.B lock
 | 
						|
is used, no path MTU discovery will be tried, all packets
 | 
						|
will be sent without the DF bit in IPv4 case or fragmented
 | 
						|
to MTU for IPv6.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI window " NUMBER"
 | 
						|
the maximal window for TCP to advertise to these destinations,
 | 
						|
measured in bytes.  It limits maximal data bursts that our TCP
 | 
						|
peers are allowed to send to us.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI rtt " TIME"
 | 
						|
the initial RTT ('Round Trip Time') estimate. If no suffix is
 | 
						|
specified the units are raw values passed directly to the
 | 
						|
routing code to maintain compatability with previous releases.
 | 
						|
Otherwise if a suffix of s, sec or secs is used to specify
 | 
						|
seconds; ms, msec or msecs to specify milliseconds; us, usec 
 | 
						|
or usecs to specify microseconds; ns, nsec or nsecs to specify 
 | 
						|
nanoseconds; j, hz or jiffies to specify jiffies, the value is 
 | 
						|
converted to what the routing code expects.
 | 
						|
 | 
						|
 | 
						|
.TP
 | 
						|
.BI rttvar " TIME " "(2.3.15+ only)"
 | 
						|
the initial RTT variance estimate. Values are specified as with 
 | 
						|
.BI rtt
 | 
						|
above.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI rto_min " TIME " "(2.6.23+ only)"
 | 
						|
the minimum TCP Retransmission TimeOut to use when communicating with this
 | 
						|
destination.  Values are specified as with
 | 
						|
.BI rtt
 | 
						|
above.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI ssthresh " NUMBER " "(2.3.15+ only)"
 | 
						|
an estimate for the initial slow start threshold.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI cwnd " NUMBER " "(2.3.15+ only)"
 | 
						|
the clamp for congestion window.  It is ignored if the
 | 
						|
.B lock
 | 
						|
flag is not used.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI advmss " NUMBER " "(2.3.15+ only)"
 | 
						|
the MSS ('Maximal Segment Size') to advertise to these
 | 
						|
destinations when establishing TCP connections.  If it is not given,
 | 
						|
Linux uses a default value calculated from the first hop device MTU.
 | 
						|
(If the path to these destination is asymmetric, this guess may be wrong.)
 | 
						|
 | 
						|
.TP
 | 
						|
.BI reordering " NUMBER " "(2.3.15+ only)"
 | 
						|
Maximal reordering on the path to this destination.
 | 
						|
If it is not given, Linux uses the value selected with
 | 
						|
.B sysctl
 | 
						|
variable
 | 
						|
.BR "net/ipv4/tcp_reordering" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BI nexthop " NEXTHOP"
 | 
						|
the nexthop of a multipath route.
 | 
						|
.I NEXTHOP
 | 
						|
is a complex value with its own syntax similar to the top level
 | 
						|
argument lists:
 | 
						|
 | 
						|
.in +8
 | 
						|
.BI via " ADDRESS"
 | 
						|
- is the nexthop router.
 | 
						|
.sp
 | 
						|
 | 
						|
.BI dev " NAME"
 | 
						|
- is the output device.
 | 
						|
.sp
 | 
						|
 | 
						|
.BI weight " NUMBER"
 | 
						|
- is a weight for this element of a multipath
 | 
						|
route reflecting its relative bandwidth or quality.
 | 
						|
.in -8
 | 
						|
 | 
						|
.TP
 | 
						|
.BI scope " SCOPE_VAL"
 | 
						|
the scope of the destinations covered by the route prefix.
 | 
						|
.I SCOPE_VAL
 | 
						|
may be a number or a string from the file
 | 
						|
.BR "/etc/iproute2/rt_scopes" .
 | 
						|
If this parameter is omitted,
 | 
						|
.B ip
 | 
						|
assumes scope
 | 
						|
.B global
 | 
						|
for all gatewayed
 | 
						|
.B unicast
 | 
						|
routes, scope
 | 
						|
.B link
 | 
						|
for direct
 | 
						|
.BR unicast " and " broadcast
 | 
						|
routes and scope
 | 
						|
.BR host " for " local
 | 
						|
routes.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI protocol " RTPROTO"
 | 
						|
the routing protocol identifier of this route.
 | 
						|
.I RTPROTO
 | 
						|
may be a number or a string from the file
 | 
						|
.BR "/etc/iproute2/rt_protos" .
 | 
						|
If the routing protocol ID is not given,
 | 
						|
.B ip assumes protocol
 | 
						|
.B boot
 | 
						|
(i.e. it assumes the route was added by someone who doesn't
 | 
						|
understand what they are doing).  Several protocol values have
 | 
						|
a fixed interpretation.
 | 
						|
Namely:
 | 
						|
 | 
						|
.in +8
 | 
						|
.B redirect
 | 
						|
- the route was installed due to an ICMP redirect.
 | 
						|
.sp
 | 
						|
 | 
						|
.B kernel
 | 
						|
- the route was installed by the kernel during autoconfiguration.
 | 
						|
.sp
 | 
						|
 | 
						|
.B boot
 | 
						|
- the route was installed during the bootup sequence.
 | 
						|
If a routing daemon starts, it will purge all of them.
 | 
						|
.sp
 | 
						|
 | 
						|
.B static
 | 
						|
- the route was installed by the administrator
 | 
						|
to override dynamic routing. Routing daemon will respect them
 | 
						|
and, probably, even advertise them to its peers.
 | 
						|
.sp
 | 
						|
 | 
						|
.B ra
 | 
						|
- the route was installed by Router Discovery protocol.
 | 
						|
.in -8
 | 
						|
 | 
						|
.sp
 | 
						|
The rest of the values are not reserved and the administrator is free
 | 
						|
to assign (or not to assign) protocol tags.
 | 
						|
 | 
						|
.TP
 | 
						|
.B onlink
 | 
						|
pretend that the nexthop is directly attached to this link,
 | 
						|
even if it does not match any interface prefix.
 | 
						|
 | 
						|
.TP
 | 
						|
.B equalize
 | 
						|
allow packet by packet randomization on multipath routes.
 | 
						|
Without this modifier, the route will be frozen to one selected
 | 
						|
nexthop, so that load splitting will only occur on per-flow base.
 | 
						|
.B equalize
 | 
						|
only works if the kernel is patched.
 | 
						|
 | 
						|
.SS ip route delete - delete route
 | 
						|
 | 
						|
.B ip route del
 | 
						|
has the same arguments as
 | 
						|
.BR "ip route add" ,
 | 
						|
but their semantics are a bit different.
 | 
						|
 | 
						|
Key values
 | 
						|
.RB "(" to ", " tos ", " preference " and " table ")"
 | 
						|
select the route to delete.  If optional attributes are present,
 | 
						|
.B ip
 | 
						|
verifies that they coincide with the attributes of the route to delete.
 | 
						|
If no route with the given key and attributes was found,
 | 
						|
.B ip route del
 | 
						|
fails.
 | 
						|
 | 
						|
.SS ip route show - list routes
 | 
						|
the command displays the contents of the routing tables or the route(s)
 | 
						|
selected by some criteria.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI to " SELECTOR " (default)
 | 
						|
only select routes from the given range of destinations.
 | 
						|
.I SELECTOR
 | 
						|
consists of an optional modifier
 | 
						|
.RB "(" root ", " match " or " exact ")"
 | 
						|
and a prefix.
 | 
						|
.BI root " PREFIX"
 | 
						|
selects routes with prefixes not shorter than
 | 
						|
.IR PREFIX "."
 | 
						|
F.e.
 | 
						|
.BI root " 0/0"
 | 
						|
selects the entire routing table.
 | 
						|
.BI match " PREFIX"
 | 
						|
selects routes with prefixes not longer than
 | 
						|
.IR PREFIX "."
 | 
						|
F.e.
 | 
						|
.BI match " 10.0/16"
 | 
						|
selects
 | 
						|
.IR 10.0/16 ","
 | 
						|
.IR 10/8 " and " 0/0 ,
 | 
						|
but it does not select
 | 
						|
.IR 10.1/16 " and " 10.0.0/24 .
 | 
						|
And
 | 
						|
.BI exact " PREFIX"
 | 
						|
(or just
 | 
						|
.IR PREFIX ")"
 | 
						|
selects routes with this exact prefix. If neither of these options
 | 
						|
are present,
 | 
						|
.B ip
 | 
						|
assumes
 | 
						|
.BI root " 0/0"
 | 
						|
i.e. it lists the entire table.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI tos " TOS"
 | 
						|
.BI dsfield " TOS"
 | 
						|
only select routes with the given TOS.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI table " TABLEID"
 | 
						|
show the routes from this table(s).  The default setting is to show
 | 
						|
.BR table main "."
 | 
						|
.I TABLEID
 | 
						|
may either be the ID of a real table or one of the special values:
 | 
						|
.sp
 | 
						|
.in +8
 | 
						|
.B all
 | 
						|
- list all of the tables.
 | 
						|
.sp
 | 
						|
.B cache
 | 
						|
- dump the routing cache.
 | 
						|
.in -8
 | 
						|
 | 
						|
.TP
 | 
						|
.B cloned
 | 
						|
.TP
 | 
						|
.B cached
 | 
						|
list cloned routes i.e. routes which were dynamically forked from
 | 
						|
other routes because some route attribute (f.e. MTU) was updated.
 | 
						|
Actually, it is equivalent to
 | 
						|
.BR "table cache" "."
 | 
						|
 | 
						|
.TP
 | 
						|
.BI from " SELECTOR"
 | 
						|
the same syntax as for
 | 
						|
.BR to ","
 | 
						|
but it binds the source address range rather than destinations.
 | 
						|
Note that the
 | 
						|
.B from
 | 
						|
option only works with cloned routes.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI protocol " RTPROTO"
 | 
						|
only list routes of this protocol.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI scope " SCOPE_VAL"
 | 
						|
only list routes with this scope.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI type " TYPE"
 | 
						|
only list routes of this type.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME"
 | 
						|
only list routes going via this device.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI via " PREFIX"
 | 
						|
only list routes going via the nexthop routers selected by
 | 
						|
.IR PREFIX "."
 | 
						|
 | 
						|
.TP
 | 
						|
.BI src " PREFIX"
 | 
						|
only list routes with preferred source addresses selected
 | 
						|
by
 | 
						|
.IR PREFIX "."
 | 
						|
 | 
						|
.TP
 | 
						|
.BI realm " REALMID"
 | 
						|
.TP
 | 
						|
.BI realms " FROMREALM/TOREALM"
 | 
						|
only list routes with these realms.
 | 
						|
 | 
						|
.SS ip route flush - flush routing tables
 | 
						|
this command flushes routes selected by some criteria.
 | 
						|
 | 
						|
.sp
 | 
						|
The arguments have the same syntax and semantics as the arguments of
 | 
						|
.BR "ip route show" ,
 | 
						|
but routing tables are not listed but purged.  The only difference is
 | 
						|
the default action:
 | 
						|
.B show
 | 
						|
dumps all the IP main routing table but
 | 
						|
.B flush
 | 
						|
prints the helper page.
 | 
						|
 | 
						|
.sp
 | 
						|
With the
 | 
						|
.B -statistics
 | 
						|
option, the command becomes verbose. It prints out the number of
 | 
						|
deleted routes and the number of rounds made to flush the routing
 | 
						|
table. If the option is given
 | 
						|
twice,
 | 
						|
.B ip route flush
 | 
						|
also dumps all the deleted routes in the format described in the
 | 
						|
previous subsection.
 | 
						|
 | 
						|
.SS ip route get - get a single route
 | 
						|
this command gets a single route to a destination and prints its
 | 
						|
contents exactly as the kernel sees it.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI to " ADDRESS " (default)
 | 
						|
the destination address.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI from " ADDRESS"
 | 
						|
the source address.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI tos " TOS"
 | 
						|
.TP
 | 
						|
.BI dsfield " TOS"
 | 
						|
the Type Of Service.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI iif " NAME"
 | 
						|
the device from which this packet is expected to arrive.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI oif " NAME"
 | 
						|
force the output device on which this packet will be routed.
 | 
						|
 | 
						|
.TP
 | 
						|
.B connected
 | 
						|
if no source address 
 | 
						|
.RB "(option " from ")"
 | 
						|
was given, relookup the route with the source set to the preferred
 | 
						|
address received from the first lookup.
 | 
						|
If policy routing is used, it may be a different route.
 | 
						|
 | 
						|
.P
 | 
						|
Note that this operation is not equivalent to
 | 
						|
.BR "ip route show" .
 | 
						|
.B show
 | 
						|
shows existing routes.
 | 
						|
.B get
 | 
						|
resolves them and creates new clones if necessary.  Essentially,
 | 
						|
.B get
 | 
						|
is equivalent to sending a packet along this path.
 | 
						|
If the
 | 
						|
.B iif
 | 
						|
argument is not given, the kernel creates a route
 | 
						|
to output packets towards the requested destination.
 | 
						|
This is equivalent to pinging the destination
 | 
						|
with a subsequent
 | 
						|
.BR "ip route ls cache" ,
 | 
						|
however, no packets are actually sent.  With the
 | 
						|
.B iif
 | 
						|
argument, the kernel pretends that a packet arrived from this interface
 | 
						|
and searches for a path to forward the packet.
 | 
						|
 | 
						|
.SH ip rule - routing policy database management
 | 
						|
 | 
						|
.BR "Rule" s
 | 
						|
in the routing policy database control the route selection algorithm.
 | 
						|
 | 
						|
.P
 | 
						|
Classic routing algorithms used in the Internet make routing decisions
 | 
						|
based only on the destination address of packets (and in theory,
 | 
						|
but not in practice, on the TOS field).
 | 
						|
 | 
						|
.P
 | 
						|
In some circumstances we want to route packets differently depending not only
 | 
						|
on destination addresses, but also on other packet fields: source address,
 | 
						|
IP protocol, transport protocol ports or even packet payload.
 | 
						|
This task is called 'policy routing'.
 | 
						|
 | 
						|
.P
 | 
						|
To solve this task, the conventional destination based routing table, ordered
 | 
						|
according to the longest match rule, is replaced with a 'routing policy
 | 
						|
database' (or RPDB), which selects routes by executing some set of rules.
 | 
						|
 | 
						|
.P
 | 
						|
Each policy routing rule consists of a
 | 
						|
.B selector
 | 
						|
and an
 | 
						|
.B action predicate.
 | 
						|
The RPDB is scanned in the order of increasing priority. The selector
 | 
						|
of each rule is applied to {source address, destination address, incoming
 | 
						|
interface, tos, fwmark} and, if the selector matches the packet,
 | 
						|
the action is performed.  The action predicate may return with success.
 | 
						|
In this case, it will either give a route or failure indication
 | 
						|
and the RPDB lookup is terminated. Otherwise, the RPDB program
 | 
						|
continues on the next rule.
 | 
						|
 | 
						|
.P
 | 
						|
Semantically, natural action is to select the nexthop and the output device.
 | 
						|
 | 
						|
.P
 | 
						|
At startup time the kernel configures the default RPDB consisting of three
 | 
						|
rules:
 | 
						|
 | 
						|
.TP
 | 
						|
1.
 | 
						|
Priority: 0, Selector: match anything, Action: lookup routing
 | 
						|
table
 | 
						|
.B local
 | 
						|
(ID 255).
 | 
						|
The
 | 
						|
.B local
 | 
						|
table is a special routing table containing
 | 
						|
high priority control routes for local and broadcast addresses.
 | 
						|
.sp
 | 
						|
Rule 0 is special. It cannot be deleted or overridden.
 | 
						|
 | 
						|
.TP
 | 
						|
2.
 | 
						|
Priority: 32766, Selector: match anything, Action: lookup routing
 | 
						|
table
 | 
						|
.B main
 | 
						|
(ID 254).
 | 
						|
The
 | 
						|
.B main
 | 
						|
table is the normal routing table containing all non-policy
 | 
						|
routes. This rule may be deleted and/or overridden with other
 | 
						|
ones by the administrator.
 | 
						|
 | 
						|
.TP
 | 
						|
3.
 | 
						|
Priority: 32767, Selector: match anything, Action: lookup routing
 | 
						|
table
 | 
						|
.B default
 | 
						|
(ID 253).
 | 
						|
The
 | 
						|
.B default
 | 
						|
table is empty.  It is reserved for some post-processing if no previous
 | 
						|
default rules selected the packet.
 | 
						|
This rule may also be deleted.
 | 
						|
 | 
						|
.P
 | 
						|
Each RPDB entry has additional
 | 
						|
attributes.  F.e. each rule has a pointer to some routing
 | 
						|
table.  NAT and masquerading rules have an attribute to select new IP
 | 
						|
address to translate/masquerade.  Besides that, rules have some
 | 
						|
optional attributes, which routes have, namely
 | 
						|
.BR "realms" .
 | 
						|
These values do not override those contained in the routing tables.  They
 | 
						|
are only used if the route did not select any attributes.
 | 
						|
 | 
						|
.sp
 | 
						|
The RPDB may contain rules of the following types:
 | 
						|
 | 
						|
.in +8
 | 
						|
.B unicast
 | 
						|
- the rule prescribes to return the route found
 | 
						|
in the routing table referenced by the rule.
 | 
						|
 | 
						|
.B blackhole
 | 
						|
- the rule prescribes to silently drop the packet.
 | 
						|
 | 
						|
.B unreachable
 | 
						|
- the rule prescribes to generate a 'Network is unreachable' error.
 | 
						|
 | 
						|
.B prohibit
 | 
						|
- the rule prescribes to generate 'Communication is administratively
 | 
						|
prohibited' error.
 | 
						|
 | 
						|
.B nat
 | 
						|
- the rule prescribes to translate the source address
 | 
						|
of the IP packet into some other value.
 | 
						|
.in -8
 | 
						|
 | 
						|
.SS ip rule add - insert a new rule
 | 
						|
.SS ip rule delete - delete a rule
 | 
						|
 | 
						|
.TP
 | 
						|
.BI type " TYPE " (default)
 | 
						|
the type of this rule.  The list of valid types was given in the previous
 | 
						|
subsection.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI from " PREFIX"
 | 
						|
select the source prefix to match.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI to " PREFIX"
 | 
						|
select the destination prefix to match.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI iif " NAME"
 | 
						|
select the incoming device to match.  If the interface is loopback,
 | 
						|
the rule only matches packets originating from this host.  This means
 | 
						|
that you may create separate routing tables for forwarded and local
 | 
						|
packets and, hence, completely segregate them.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI tos " TOS"
 | 
						|
.TP
 | 
						|
.BI dsfield " TOS"
 | 
						|
select the TOS value to match.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI fwmark " MARK"
 | 
						|
select the
 | 
						|
.B fwmark
 | 
						|
value to match.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI priority " PREFERENCE"
 | 
						|
the priority of this rule.  Each rule should have an explicitly
 | 
						|
set
 | 
						|
.I unique
 | 
						|
priority value.
 | 
						|
The options preference and order are synonyms with priority.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI table " TABLEID"
 | 
						|
the routing table identifier to lookup if the rule selector matches.
 | 
						|
It is also possible to use lookup instead of table.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI realms " FROM/TO"
 | 
						|
Realms to select if the rule matched and the routing table lookup
 | 
						|
succeeded.  Realm 
 | 
						|
.I TO
 | 
						|
is only used if the route did not select any realm.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI nat " ADDRESS"
 | 
						|
The base of the IP address block to translate (for source addresses).
 | 
						|
The 
 | 
						|
.I ADDRESS
 | 
						|
may be either the start of the block of NAT addresses (selected by NAT
 | 
						|
routes) or a local host address (or even zero).
 | 
						|
In the last case the router does not translate the packets, but
 | 
						|
masquerades them to this address.
 | 
						|
Using map-to instead of nat means the same thing.
 | 
						|
 | 
						|
.B Warning:
 | 
						|
Changes to the RPDB made with these commands do not become active
 | 
						|
immediately.  It is assumed that after a script finishes a batch of
 | 
						|
updates, it flushes the routing cache with
 | 
						|
.BR "ip route flush cache" .
 | 
						|
 | 
						|
.SS ip rule flush - also dumps all the deleted rules.
 | 
						|
This command has no arguments.
 | 
						|
 | 
						|
.SS ip rule show - list rules
 | 
						|
This command has no arguments.
 | 
						|
The options list or lst are synonyms with show.
 | 
						|
 | 
						|
.SH ip maddress - multicast addresses management
 | 
						|
 | 
						|
.B maddress
 | 
						|
objects are multicast addresses.
 | 
						|
 | 
						|
.SS ip maddress show - list multicast addresses
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME " (default)
 | 
						|
the device name.
 | 
						|
 | 
						|
.SS ip maddress add - add a multicast address
 | 
						|
.SS ip maddress delete - delete a multicast address
 | 
						|
these commands attach/detach a static link layer multicast address
 | 
						|
to listen on the interface.
 | 
						|
Note that it is impossible to join protocol multicast groups
 | 
						|
statically.  This command only manages link layer addresses.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI address " LLADDRESS " (default)
 | 
						|
the link layer multicast address.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME"
 | 
						|
the device to join/leave this multicast address.
 | 
						|
 | 
						|
.SH ip mroute - multicast routing cache management
 | 
						|
.B mroute
 | 
						|
objects are multicast routing cache entries created by a user level
 | 
						|
mrouting daemon (f.e.
 | 
						|
.B pimd
 | 
						|
or
 | 
						|
.B mrouted
 | 
						|
).
 | 
						|
 | 
						|
Due to the limitations of the current interface to the multicast routing
 | 
						|
engine, it is impossible to change
 | 
						|
.B mroute
 | 
						|
objects administratively, so we may only display them.  This limitation
 | 
						|
will be removed in the future.
 | 
						|
 | 
						|
.SS ip mroute show - list mroute cache entries
 | 
						|
 | 
						|
.TP
 | 
						|
.BI to " PREFIX " (default)
 | 
						|
the prefix selecting the destination multicast addresses to list.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI iif " NAME"
 | 
						|
the interface on which multicast packets are received.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI from " PREFIX"
 | 
						|
the prefix selecting the IP source addresses of the multicast route.
 | 
						|
 | 
						|
.SH ip tunnel - tunnel configuration
 | 
						|
.B tunnel
 | 
						|
objects are tunnels, encapsulating packets in IPv4 packets and then
 | 
						|
sending them over the IP infrastructure.
 | 
						|
 | 
						|
.SS ip tunnel add - add a new tunnel
 | 
						|
.SS ip tunnel change - change an existing tunnel
 | 
						|
.SS ip tunnel delete - destroy a tunnel
 | 
						|
 | 
						|
.TP
 | 
						|
.BI name " NAME " (default)
 | 
						|
select the tunnel device name.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI mode " MODE"
 | 
						|
set the tunnel mode.  Three modes are currently available:
 | 
						|
.BR ipip ", " sit " and " gre "."
 | 
						|
 | 
						|
.TP
 | 
						|
.BI remote " ADDRESS"
 | 
						|
set the remote endpoint of the tunnel.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI local " ADDRESS"
 | 
						|
set the fixed local address for tunneled packets.
 | 
						|
It must be an address on another interface of this host.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI ttl " N"
 | 
						|
set a fixed TTL 
 | 
						|
.I N
 | 
						|
on tunneled packets.
 | 
						|
.I N
 | 
						|
is a number in the range 1--255. 0 is a special value
 | 
						|
meaning that packets inherit the TTL value. 
 | 
						|
The default value is:
 | 
						|
.BR "inherit" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BI tos " T"
 | 
						|
.TP
 | 
						|
.BI dsfield " T"
 | 
						|
set a fixed TOS
 | 
						|
.I T
 | 
						|
on tunneled packets.
 | 
						|
The default value is:
 | 
						|
.BR "inherit" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BI dev " NAME" 
 | 
						|
bind the tunnel to the device
 | 
						|
.I NAME
 | 
						|
so that tunneled packets will only be routed via this device and will
 | 
						|
not be able to escape to another device when the route to endpoint
 | 
						|
changes.
 | 
						|
 | 
						|
.TP
 | 
						|
.B nopmtudisc
 | 
						|
disable Path MTU Discovery on this tunnel.
 | 
						|
It is enabled by default.  Note that a fixed ttl is incompatible
 | 
						|
with this option: tunnelling with a fixed ttl always makes pmtu
 | 
						|
discovery.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI key " K"
 | 
						|
.TP
 | 
						|
.BI ikey " K"
 | 
						|
.TP
 | 
						|
.BI okey " K"
 | 
						|
.RB ( " only GRE tunnels " )
 | 
						|
use keyed GRE with key
 | 
						|
.IR K ". " K
 | 
						|
is either a number or an IP address-like dotted quad.
 | 
						|
The
 | 
						|
.B key
 | 
						|
parameter sets the key to use in both directions.
 | 
						|
The
 | 
						|
.BR ikey " and " okey
 | 
						|
parameters set different keys for input and output.
 | 
						|
   
 | 
						|
.TP
 | 
						|
.BR csum ", " icsum ", " ocsum
 | 
						|
.RB ( " only GRE tunnels " )
 | 
						|
generate/require checksums for tunneled packets.
 | 
						|
The 
 | 
						|
.B ocsum
 | 
						|
flag calculates checksums for outgoing packets.
 | 
						|
The
 | 
						|
.B icsum
 | 
						|
flag requires that all input packets have the correct
 | 
						|
checksum.  The
 | 
						|
.B csum
 | 
						|
flag is equivalent to the combination
 | 
						|
.BR "icsum ocsum" .
 | 
						|
 | 
						|
.TP
 | 
						|
.BR seq ", " iseq ", " oseq
 | 
						|
.RB ( " only GRE tunnels " )
 | 
						|
serialize packets.
 | 
						|
The
 | 
						|
.B oseq
 | 
						|
flag enables sequencing of outgoing packets.
 | 
						|
The
 | 
						|
.B iseq
 | 
						|
flag requires that all input packets are serialized.
 | 
						|
The
 | 
						|
.B  seq
 | 
						|
flag is equivalent to the combination 
 | 
						|
.BR "iseq oseq" .
 | 
						|
.B It isn't work. Don't use it.
 | 
						|
 | 
						|
.SS ip tunnel show - list tunnels
 | 
						|
This command has no arguments.
 | 
						|
 | 
						|
.SH ip monitor and rtmon - state monitoring
 | 
						|
 | 
						|
The
 | 
						|
.B ip
 | 
						|
utility can monitor the state of devices, addresses
 | 
						|
and routes continuously.  This option has a slightly different format.
 | 
						|
Namely, the
 | 
						|
.B monitor
 | 
						|
command is the first in the command line and then the object list follows:
 | 
						|
 | 
						|
.BR "ip monitor" " [ " all " |"
 | 
						|
.IR LISTofOBJECTS " ]"
 | 
						|
 | 
						|
.I OBJECT-LIST
 | 
						|
is the list of object types that we want to monitor.
 | 
						|
It may contain
 | 
						|
.BR link ", " address " and " route "."
 | 
						|
If no
 | 
						|
.B file
 | 
						|
argument is given,
 | 
						|
.B ip
 | 
						|
opens RTNETLINK, listens on it and dumps state changes in the format
 | 
						|
described in previous sections.
 | 
						|
 | 
						|
.P
 | 
						|
If a file name is given, it does not listen on RTNETLINK,
 | 
						|
but opens the file containing RTNETLINK messages saved in binary format
 | 
						|
and dumps them.  Such a history file can be generated with the
 | 
						|
.B rtmon
 | 
						|
utility.  This utility has a command line syntax similar to
 | 
						|
.BR "ip monitor" .
 | 
						|
Ideally,
 | 
						|
.B rtmon
 | 
						|
should be started before the first network configuration command
 | 
						|
is issued. F.e. if you insert:
 | 
						|
.sp
 | 
						|
.in +8
 | 
						|
rtmon file /var/log/rtmon.log
 | 
						|
.in -8
 | 
						|
.sp
 | 
						|
in a startup script, you will be able to view the full history
 | 
						|
later.
 | 
						|
 | 
						|
.P
 | 
						|
Certainly, it is possible to start
 | 
						|
.B rtmon
 | 
						|
at any time.
 | 
						|
It prepends the history with the state snapshot dumped at the moment
 | 
						|
of starting.
 | 
						|
 | 
						|
.SH HISTORY
 | 
						|
.B ip
 | 
						|
was written by Alexey N. Kuznetsov and added in Linux 2.2.
 | 
						|
.SH SEE ALSO
 | 
						|
.BR tc (8)
 | 
						|
.br
 | 
						|
.RB "IP Command reference " ip-cref.ps
 | 
						|
.br
 | 
						|
.RB "IP tunnels " ip-cref.ps
 | 
						|
.br
 | 
						|
.RB "User documentation at " http://lartc.org/ ", but please direct bugreports and patches to: " <netdev@vger.kernel.org>
 | 
						|
 | 
						|
.SH AUTHOR
 | 
						|
Original Manpage  by Michail Litvak <mci@owl.openwall.com>
 |