Lines Matching refs:Of
24 This document presents a comprehensive description of the \verb|ip| utility
43 The generic form of an \verb|ip| command is:
47 where \verb|OPTIONS| is a set of optional modifiers affecting the
48 general behaviour of the \verb|ip| utility or changing its output. All options
55 --- print the version of the \verb|ip| utility and exit.
61 appears twice or more, the amount of information increases.
69 the protocol family is guessed from other arguments. If the rest of the command
96 --- use the system's name resolver to print DNS names instead of
122 Again, the names of all objects may be written in full or
127 The set of possible actions depends on the object type.
130 do not allow all of these operations or have some additional commands.
132 out a list of available commands and argument syntax conventions.
135 Usually it is \verb|list| or, if the objects of this class
138 \verb|ARGUMENTS| is a list of arguments to the command.
139 The arguments depend on the command and object. There are two types of arguments:
140 {\em flags\/}, consisting of a single keyword, and {\em parameters\/},
141 consisting of a keyword followed by a value. For convenience,
159 \verb|ip| may fail for one of the following reasons:
191 which may change only some of the device parameters given
196 from the context of the command.
207 one of the following messages may be printed, depending on the command:
229 commands display and change the state of devices.
246 --- change the state of the device to \verb|UP| or \verb|DOWN|.
269 --- change the name of the device. This operation is not
275 --- change the transmit queue length of the device.
279 --- change the MTU of the device.
283 --- change the station address of the interface.
311 \verb|ip| aborts immediately after any of the changes have failed.
320 --- change the station address of the interface \verb|dummy|.
371 the administrator may change the name of any device with
382 the maximal size of data which can be sent as a single packet over this interface.
388 {\em qlen\/} is the default transmit queue length of the device measured
411 This is the most generic type of device and the most complicated one, because
416 is aware of multicasting i.e.\ sending packets to some subset of neighbouring
417 nodes. Broadcasting is a particular case of multicasting, where the multicast
418 group consists of all nodes on the link. It is important to emphasize
419 that software {\em must not\/} interpret the absence of this flag as the inability
422 direct access to all the neighbours and, hence, to any part of them.
423 Certainly, the use of high bandwidth multicast transfers is not recommended
424 on broadcast-only links because of high expense, but it is not strictly
429 and not destined for a multicast group of which we are member. Usually
462 of the addresses and is logically part of the address.
463 The default format of the station address and the broadcast address
465 sequence of hexadecimal bytes separated by colons, but some link
467 of tunnels over IP are printed as dotted-quad IP addresses.
473 about the address of broadcast relay or about the address of the ARP server.
477 \verb|ip maddr ls| in~Sec.\ref{IP-MADDR} (p.\pageref{IP-MADDR} of this
498 \item \verb|bytes| --- the total number of bytes received or transmitted
499 on the interface. This number wraps when the maximal length of the data type
502 \item \verb|packets| --- the total number of packets received or transmitted
504 \item \verb|errors| --- the total number of receiver or transmitter errors.
505 \item \verb|dropped| --- the total number of packets dropped due to lack
506 of resources.
507 \item \verb|overrun| --- the total number of receiver overruns resulting
511 \item \verb|mcast| --- the total number of received multicast packets. This option
513 \item \verb|carrier| --- total number of link media failures f.e.\ because
514 of lost carrier.
515 \item \verb|collsns| --- the total number of collision events
518 \item \verb|compressed| --- the total number of compressed packets. This is
574 \noindent--- the name of the device to add the address to.
578 --- the address of the interface. The format of the address depends
579 on the protocol. It is a dotted quad for IP and a sequence of hexadecimal halfwords
586 --- the address of the remote endpoint for pointopoint interfaces.
598 instead of the broadcast address. In this case, the broadcast address
599 is derived by setting/resetting the host bits of the interface prefix.
612 this string must coincide with the name of the device or must be prefixed
618 --- the scope of the area where this address is valid.
631 Appendix~\ref{ADDR-SEL} (p.\pageref{ADDR-SEL} of this document)
654 \paragraph{Arguments:} coincide with the arguments of \verb|ip addr add|.
687 --- the name of the device.
738 The first two lines coincide with the output of \verb|ip link ls|.
740 as addresses of the protocol family \verb|AF_PACKET|.
742 Then the list of IP and IPv6 addresses follows, accompanied by
753 of outgoing packets (Cf.\ Appendix~\ref{ADDR-SEL}, p.\pageref{ADDR-SEL}.).
756 It is the leader of the group of all secondary addresses. When the leader
802 becomes verbose. It prints out the number of deleted addresses and the number
803 of rounds made to flush the address list. If this option is given
867 --- the protocol address of the neighbour. It is either an IPv4 or IPv6 address.
876 --- the link layer address of the neighbour. \verb|LLADDRESS| can also be
881 --- the state of the neighbour entry. \verb|nud| is an abbreviation for ``Neighbour
882 Unreachability Detection''. The state can take one of the following values:
987 The first word of each line is the protocol address of the neighbour.
988 Then the device name follows. The rest of the line describes the contents of
991 \verb|lladdr| is the link layer address of the neighbour.
993 \verb|nud| is the state of the ``neighbour unreachability detection'' machine
994 for this entry. The detailed description of the neighbour
996 of the states with short descriptions:
999 \item\verb|none| --- the state of the neighbour is void.
1000 \item\verb|incomplete| --- the neighbour is in the process of resolution.
1031 Here \verb|ref| is the number of users of this entry
1032 and \verb|used| is a triplet of time intervals in seconds
1055 becomes verbose. It prints out the number of deleted neighbours and the number
1056 of rounds made to flush the neighbour table. If the option is given
1080 Each route entry has a {\em key\/} consisting of a {\em prefix\/}
1081 (i.e.\ a pair containing a network address and the length of its mask) and,
1083 bits of its destination address are equal to the route prefix at least
1084 up to the prefix length and if the TOS of the route is zero or equal to
1085 the TOS of the packet.
1093 \item If the TOS of some route with the longest prefix is equal to the TOS
1094 of the packet, the routes with different TOS are dropped.
1097 the rest of routes are pruned.
1104 \item If we still have several routes, then the {\em first\/} of them
1108 Note the ambiguity of the last step. Unfortunately, Linux
1109 historically allows such a bizarre situation. The sense of the
1110 word ``first'' depends on the order of route additions and it is practically
1111 impossible to maintain a bundle of such routes in this order.
1125 of the routes is not essential. However, in this case,
1150 of required and optional attributes depend on the route {\em type\/}.
1154 there are other types of routes with different semantics. The
1155 full list of types understood by Linux-2.2 is:
1174 Without policy routing it is equivalent to the absence of the route in the routing
1185 as the source address of any packet.
1198 consists of routes for local and broadcast addresses. The kernel maintains
1222 --- the destination prefix of the route. If \verb|TYPE| is omitted,
1223 \verb|ip| assumes type \verb|unicast|. Other values of \verb|TYPE|
1225 by a slash and the prefix length. If the length of the prefix is missing,
1232 --- the Type Of Service (TOS) key. This key has no associated mask and
1234 of the route and of the packet. If they are not equal, then the packet
1241 --- the preference value of the route. \verb|NUMBER| is an arbitrary 32bit number.
1248 \verb|ip| assumes the \verb|main| table, with the exception of
1258 --- the address of the nexthop router. Actually, the sense of this field depends
1261 it can be a local address of the interface.
1262 For NAT routes it is the first address of the block of translated IP destinations.
1329 --- [2.5.74+ only] Maximum number of hops on the path to this destination.
1343 + by the MSS (''Maximal Segment Size'') of the connection. The default
1348 --- the nexthop of
1353 \item \verb|weight NUMBER| is a weight for this element of a multipath
1359 --- the scope of the destinations covered by the route prefix.
1369 --- the routing protocol identifier of this route.
1381 If a routing daemon starts, it will purge all of them.
1387 The rest of the values are not reserved and the administrator is free
1389 daemons should take care of setting some unique protocol values,
1397 even if it does not match any interface prefix. One application of this
1407 which adds the route to the end of the list. Avoid these
1434 know the addresses of remote endpoints it would be better to use the
1454 verifies that they coincide with the attributes of the route to delete.
1480 \paragraph{Description:} the command displays the contents of the routing tables
1488 --- only select routes from the given range of destinations. \verb|SELECTOR|
1489 consists of an optional modifier (\verb|root|, \verb|match| or \verb|exact|)
1496 selects routes with this exact prefix. If neither of these options
1508 \verb|table| \verb|main|. \verb|TABLEID| may either be the ID of a real table
1509 or one of the special values:
1511 \item \verb|all| --- list all of the tables.
1533 --- only list routes of this protocol.
1542 --- only list routes of this type.
1563 \paragraph{Examples:} Let us count routes of protocol \verb|gated/bgp|
1570 To count the size of the routing cache, we have to use the \verb|-o| option
1571 because cached attributes can take more than one line of output:
1579 \paragraph{Output format:} The output of this command consists
1580 of per route records separated by line feeds.
1582 of more than one line: particularly, this is the case when the route
1598 lifetime. An example of the output is:
1612 see in the section on \verb|ip route get| (p.\pageref{NB-nature-of-strangeness})
1621 and for multicast routes, if this host is a member of the corresponding
1652 of this route will trigger RTNETLINK notification.
1673 \item \verb|users| --- the number of users of this entry.
1675 \item \verb|used| --- the number of lookups of this route since its creation.
1688 as the arguments of \verb|ip route show|, but routing tables are not
1695 becomes verbose. It prints out the number of deleted routes and the number
1696 of rounds made to flush the routing table. If the option is given
1775 --- the Type Of Service.
1828 \label{NB-nature-of-strangeness}
1849 of this group, so that route has no \verb|local| flag and only
1851 The multicast part consists of an additional \verb|Oifs:| list showing
1904 based only on the destination address of packets (and in theory,
1905 but not in practice, on the TOS field). The seminal review of classic
1924 by executing some set of rules. The rules may have lots of keys of different
1926 by the administrator. Linux-2.2 RPDB is a linear list of rules
1939 to mark some classes of packets with \verb|fwmark|. Therefore,
1940 \verb|fwmark| is also included in the set of keys checked by rules.
1942 Each policy routing rule consists of a {\em selector\/} and an {\em action\/}
1943 predicate. The RPDB is scanned in the order of increasing priority. The selector
1944 of each rule is applied to \{source address, destination address, incoming
1957 The ``match \& set'' approach is the simplest case of the Linux one. It is realized
1962 At startup time the kernel configures the default RPDB consisting of three
2004 \paragraph{Rule types:} The RPDB may contain rules of the following
2015 of the IP packet into some other value. More about NAT is
2035 --- the type of this rule. The list of valid types was given in the previous
2063 --- the priority of this rule. Each rule should have an explicitly
2071 the new rule before all old rules of the same priority.
2090 --- The base of the IP address block to translate (for source addresses).
2091 The \verb|ADDRESS| may be either the start of the block of NAT addresses
2102 a script finishes a batch of updates, it flushes the routing cache
2159 \verb|map-to| followed by the start of the block of addresses to map.
2161 The sense of this example is pretty simple. The prefixes
2203 The first line of the output shows the interface index and its name.
2209 of users is shown after the \verb|users| keyword.
2256 instead of a multicast address. Most drivers will ignore such addresses,
2259 local link addresses and, if you loaded the address of another host
2279 Due to the limitations of the current interface to the multicast routing
2306 --- the prefix selecting the IP source addresses of the multicast route.
2324 If the word \verb|unresolved| is there instead of the interface name,
2326 The keyword \verb|oifs| is followed by a list of output interfaces, separated
2332 number of packets and bytes forwarded along this route and
2333 the number of packets that arrived on the wrong interface, if this number is not zero.
2354 \paragraph{See also:} A more informal discussion of tunneling
2380 --- set the remote endpoint of the tunnel.
2385 It must be an address on another interface of this host.
2432 The \verb|oseq| flag enables sequencing of outgoing packets.
2446 \paragraph{Example:} Create a pointopoint IPv6 tunnel with maximal TTL of 32.
2466 Then the tunnel mode follows. The parameters of the tunnel are listed
2485 \item \verb|CsumErrs| --- the total number of packets dropped
2486 because of checksum failures for a GRE tunnel with checksumming enabled.
2487 \item \verb|OutOfSeq| --- the total number of packets dropped
2488 because they arrived out of sequence for a GRE tunnel with
2490 \item \verb|Mcasts| --- the total number of multicast packets
2492 \item \verb|DeadLoop| --- the total number of packets which were not
2494 \item \verb|NoRoute| --- the total number of packets which were not
2496 \item \verb|NoBufs| --- the total number of packets which were not
2504 The \verb|ip| utility can monitor the state of devices, addresses
2512 \verb|OBJECT-LIST| is the list of object types that we want to monitor.
2534 of starting.
2542 per route, we will have to keep lots of information. Even worse, if we
2565 routes manually, also knows their nature. Providing that the number of such
2566 aggregates (we call them {\em realms\/}) is low, the task of full
2574 There is a patch to \verb|gated|, allowing classification of routes
2575 to realms with all the set of policy rules implemented in \verb|gated|:
2580 daemon is not aware of realms), missing realms may be completed
2583 For each packet the kernel calculates a tuple of realms: source realm
2587 \item If the route has a realm, the destination realm of the packet is set to it.
2588 \item If the rule has a source realm, the source realm of the packet is set to it.
2591 \item If at least one of the realms is still unknown, the kernel finds
2592 the reversed route to the source of the packet.
2594 \item If one of the realms is still unknown, swap the realms of reversed
2600 If some of the realms are unknown, they are initialized to zero
2603 The main application of realms is the TC \verb|route| classifier~\cite{TC-CREF},
2619 The realm \verb|russia| consists of routes with ASPATHs not leaving
2627 by any pair of source and destination realms.
2646 ``Cisco IOS Release 12.0 Quality of Service Solutions
2657 \bibitem{IOS-BGP-PP} ``Cisco IOS Release 12.0 Quality of Service Solutions
2694 of the address and never tries to ``improve'' an incorrect user choice,
2699 of automatically reselecting the address on hosts with dynamic dial-out interfaces.
2710 \item Otherwise, the kernel searches through the list of addresses
2719 than the scope of the destination but it prefers addresses
2720 which fall to the same subnet as the nexthop of the route
2721 to the destination. Unlike IPv6, the scopes of IPv4 destinations
2729 \item Otherwise, if the scope of the destination is \verb|link| or \verb|host|,
2743 Routers may answer ARP/NDISC solicitations on behalf of other hosts.
2754 However, this approach fails in the case of IPv6 because the router
2780 If the name of the device is not given, the router will answer solicitations
2790 It always advertises the station address of the interface
2797 of the IP address space into other ones. Linux-2.2 route NAT is supposed
2808 of sessions flawlessly. But it also means that it is {\em static\/}.
2815 is the requirement that the router keep the state of all the TCP connections
2835 Some part of the address space is reserved for dummy addresses
2840 A great advantage of route NAT is that it may be used not
2852 of the translating router. The router answers ARP for it, advertises
2855 this address with 193.233.7.83 which is the address of some real
2857 blocks of addresses, you may use a command like:
2861 This command will map a block of 63 addresses 192.203.80.192-255 to
2878 The exception is when the address is a local address of this
2897 This block of rules causes normal forwarding when
2907 to \verb|fwmark| a class of packets.
2919 The following script gives an example of a fault safe
2920 setup of IP (and IPv6, if it is compiled into the kernel)
2921 in the common case of a node attached to a single broadcast
2937 can be found in the \verb|dhcp.bootp.rarp| subdirectory of
3092 This is a simplistic script replacing one option of \verb|ifconfig|,
3095 sends unsolicited ARP to update the caches of other hosts sharing
3099 I strongly recommend using it {\em instead\/} of \verb|ifconfig| both
3326 \# End of {\bf MAIN()}