# ip

## NAME



           ip - show / manipulate routing, network devices, interfaces and
           tunnels
    


## SYNOPSIS



           **ip**[ _OPTIONS_ ] _OBJECT_ { _COMMAND_ | **help**}
    
           **ip**[ **-force**] **-batch** _filename_
    
           _OBJECT_ := { **address** | **addrlabel** | **fou** | **help** | **ila** | **ioam** | **l2tp** |
                   **link** | **macsec** | **maddress** | **monitor** | **mptcp** | **mroute** |
                   **mrule** | **neighbor** | **neighbour** | **netconf** | **netns** | **nexthop** |
                   **ntable** | **ntbl** | **route** | **rule** | **sr** | **tap** | **tcpmetrics** |
                   **token** | **tunnel** | **tuntap** | **vrf** | **xfrm**}
    
           _OPTIONS_ := { **-V**[_ersion_] | **-h**[_uman-readable_] | **-s**[_tatistics_] |
                   **-d**[_etails_] | **-r**[_esolve_] | **-iec** | **-f**[_amily_] { **inet** | **inet6**
                   | **link**} | **-4** | **-6** | **-B** | **-0** | **-l**[_oops_] { **maximum-addr-**
                   **flush-attempts**} | **-o**[_neline_] | **-rc**[_vbuf_] [**size**] |
                   **-t**[_imestamp_] | **-ts**[_hort_] | **-n**[_etns_] name | **-N**[_umeric_] |
                   **-a**[_ll_] | **-c**[_olor_] | **-br**[_ief_] | **-j**[son] | **-p**[retty] }
    


## OPTIONS



           **-V** , **-Version**
                  Print the version of the **ip** utility and exit.
    
           **-h** , **-human** , **-human-readable**
                  output statistics with human readable values followed by
                  suffix.
    
           **-b** , **-batch** <FILENAME>
                  Read commands from provided file or standard input and
                  invoke them.  First failure will cause termination of ip.
    
           **-force** Don't terminate ip on errors in batch mode.  If there were
                  any errors during execution of the commands, the
                  application return code will be non zero.
    
           **-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.
    
           **-d** , **-details**
                  Output more detailed information.
    
           **-l** , **-loops** <COUNT>
                  Specify maximum number of loops the 'ip address flush'
                  logic will attempt before giving up. The default is 10.
                  Zero (0) means loop until all addresses are removed.
    
           **-f** , **-family** <FAMILY>
                  Specifies the protocol family to use. The protocol family
                  identifier can be one of **inet** , **inet6** , **bridge** , **mpls** or **link**.
                  If this 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,
                  **ip** falls back to the default one, usually **inet** or **any**.
                  **link** is a special family identifier meaning that no
                  networking protocol is involved.
    
           **-4** shortcut for **-family inet**.
    
           **-6** shortcut for **-family inet6**.
    
           **-B** shortcut for **-family bridge**.
    
           **-M** shortcut for **-family mpls**.
    
           **-0** shortcut for **-family link**.
    
           **-o** , **-oneline**
                  output each record on a single line, replacing line feeds
                  with the **'\'** character. This is convenient when you want to
                  count records with wc(1) or to grep(1) the output.
    
           **-r** , **-resolve**
                  use the system's name resolver to print DNS names instead
                  of host addresses.
    
           **-n** , **-netns** <NETNS>
                  switches **ip** to the specified network namespace _NETNS_.
                  Actually it just simplifies executing of:
    
                  **ip netns exec** _NETNS_ **ip**[ _OPTIONS_ ] _OBJECT_ { _COMMAND_ | **help**
                  }
    
                  to
    
                  **ip** -n[etns] _NETNS_ [ _OPTIONS_ ] _OBJECT_ { _COMMAND_ | **help**}
    
           **-N** , **-Numeric**
                  Print the number of protocol, scope, dsfield, etc directly
                  instead of converting it to human readable name.
    
           **-a** , **-all**
                  executes specified command over all objects, it depends if
                  command supports this option.
    
           **-c**[**color**][**=**{**always** |**auto** |**never**}
                  Configure color output. If parameter is omitted or **always** ,
                  color output is enabled regardless of stdout state. If
                  parameter is **auto** , stdout is checked to be a terminal
                  before enabling color output. If parameter is **never** , color
                  output is disabled. If specified multiple times, the last
                  one takes precedence. This flag is ignored if **-json** is also
                  given.
    
                  Used color palette can be influenced by **COLORFGBG**
                  environment variable (see **ENVIRONMENT**).
    
           **-t** , **-timestamp**
                  display current time when using monitor option.
    
           **-ts** , **-tshort**
                  Like **-timestamp** , but use shorter format.
    
           **-rc** , **-rcvbuf** <SIZE>
                  Set the netlink socket receive buffer size, defaults to
                  1MB.
    
           **-iec** print human readable rates in IEC units (e.g. 1Ki = 1024).
    
           **-br** , **-brief**
                  Print only basic information in a tabular format for better
                  readability. This option is currently only supported by **ip**
                  **addr show** , **ip link show** & **ip neigh show** commands.
    
           **-j** , **-json**
                  Output results in JavaScript Object Notation (JSON).
    
           **-p** , **-pretty**
                  The default JSON format is compact and more efficient to
                  parse but hard for most users to read.  This flag adds
                  indentation for readability.
    
           **-echo** Request the kernel to send the applied configuration back.
    


## IP - COMMAND SYNTAX



       _OBJECT_
           **address**
                  - protocol (IP or IPv6) address on a device.
    
           **addrlabel**
                  - label configuration for protocol address selection.
    
           **fou** - Foo-over-UDP receive port configuration.
    
           **ila** - manage identifier locator addresses (ILA).
    
           **ioam** - manage IOAM namespaces and IOAM schemas.
    
           **l2tp** - tunnel ethernet over IP (L2TPv3).
    
           **link** - network device.
    
           **macsec** - MACsec device configuration.
    
           **maddress**
                  - multicast address.
    
           **monitor**
                  - watch for netlink messages.
    
           **mptcp** - manage MPTCP path manager.
    
           **mroute** - multicast routing cache entry.
    
           **mrule** - rule in multicast routing policy database.
    
           **neighbour**
                  - manage ARP or NDISC cache entries.
    
           **netconf**
                  - network configuration monitoring.
    
           **netns** - manage network namespaces.
    
           **nexthop**
                  - manage nexthop objects.
    
           **ntable** - manage the neighbor cache's operation.
    
           **route** - routing table entry.
    
           **rule** - rule in routing policy database.
    
           **sr** - manage IPv6 segment routing.
    
           **stats** - manage and show interface statistics.
    
           **tcp_metrics/tcpmetrics**
                  - manage TCP Metrics.
    
           **token** - manage tokenized interface identifiers.
    
           **tunnel** - tunnel over IP.
    
           **tuntap** - manage TUN/TAP devices.
    
           **vrf** - manage virtual routing and forwarding devices.
    
           **xfrm** - manage IPSec policies.
    
           The names of all objects may be written in full or abbreviated
           form, for example **address** can be abbreviated as **addr** or just **a.**
    
       _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 **add** , **delete** and **show**(or **list**) objects, but some
           objects do not allow all of these operations or have some
           additional commands. The **help** command is available for all
           objects. It prints out a list of available commands and argument
           syntax conventions.
    
           If no command is given, some default command is assumed.  Usually
           it is **list** or, if the objects of this class cannot be listed,
           **help**.
    


## ENVIRONMENT



           **COLORFGBG**
                  If set, it's value is used for detection whether background
                  is dark or light and use contrast colors for it.
    
                  COLORFGBG environment variable usually contains either two
                  or three values separated by semicolons; we want the last
                  value in either case.  If this value is 0-6 or 8, chose
                  colors suitable for dark background:
    
                  COLORFGBG=";0" ip -c a
    


## EXIT STATUS



           Exit status is 0 if command was successful, and 1 if there is a
           syntax error.  If an error was reported by the kernel exit status
           is 2.
    


## EXAMPLES



           ip addr
               Shows addresses assigned to all network interfaces.
    
           ip neigh
               Shows the current neighbour table in kernel.
    
           ip link set x up
               Bring up interface x.
    
           ip link set x down
               Bring down interface x.
    
           ip route
               Show table routes.
    


* * *