IP-ADDRESS(8)             (20 Dec 2011)             IP-ADDRESS(8)

          ip-address - protocol address management

          ip [ OPTIONS ] address  { COMMAND | help }

          ip address { add | change | IFADDR dev IFNAME [ LIFETIME ] [
                  CONFFLAG-LIST ]

          ip address del IFADDR dev IFNAME [ mngtmpaddr ]

          ip address { save | flush } [ IFNAME ] [  scope SCOPE-ID ] [
                   metric METRIC ] [  to PREFIX ] [ FLAG-LIST ] [
                  label PATTERN ] [ up ]

          ip address [ show [ dev IFNAME ] [  scope SCOPE-ID ] [  to
                  PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [  master
                  DEVICE ] [  type TYPE ] [  vrf NAME ] [  up ] ]

          ip address { showdump | restore }

          IFADDR := PREFIX | ADDR peer PREFIX [  broadcast ADDR ] [
                  anycast ADDR ] [  label LABEL ] [  scope SCOPE-ID ]

          SCOPE-ID :=  [ host | link | global NUMBER ]

          FLAG-LIST := [ FLAG-LIST ] FLAG

          FLAG := [ [-]permanent | [-]dynamic | [-]secondary |
                  [-]primary | [-]tentative | [-]deprecated |
                  [-]dadfailed | [-]temporary | CONFFLAG-LIST ]


          CONFFLAG :=  [ home | mngtmpaddr | nodad

          LIFETIME := [  valid_lft LFT ] [ preferred_lft LFT ]

          LFT := [  forever | SECONDS ]

          TYPE := [  bridge | bridge_slave | bond | bond_slave | can |
                  dummy | hsr | ifb | ipoib | macvlan | macvtap | vcan
                  | veth | vlan | vxlan | ip6tnl | ipip | sit | gre |
                  gretap | erspan | ip6gre | ip6gretap | ip6erspan |
                  vti | vrf | nlmon | ipvlan | lowpan | geneve |
                  macsec ]


     Page 1                      iproute2            (printed 5/25/22)

     IP-ADDRESS(8)             (20 Dec 2011)             IP-ADDRESS(8)

          The address is a protocol (IPv4 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 alias is
          not quite appropriate for them and we do not use it in this

          The ip address command displays addresses and their proper-
          ties, adds new addresses and deletes old ones.

        ip address add - add new
          dev IFNAME
               the name of the device to add the address to.

          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 ADDRESS may be followed by a slash and a
               decimal number which encodes the network prefix length.

          peer ADDRESS
               the address of the remote endpoint for pointopoint
               interfaces.  Again, the 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

          broadcast ADDRESS
               the broadcast address on the interface.

               It is possible to use the special symbols '+' and '-'
               instead of the broadcast address. In this case, the
               broadcast address is derived by setting/resetting the
               host bits of the interface prefix.

          label LABEL
               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 fol-
               lowed by colon.  The maximum allowed total length of
               label is 15 characters.

     Page 2                      iproute2            (printed 5/25/22)

     IP-ADDRESS(8)             (20 Dec 2011)             IP-ADDRESS(8)

          scope SCOPE_VALUE
               the scope of the area where this address is valid.  The
               available scopes are listed in file
               /etc/iproute2/rt_scopes.  Predefined scope values are:

                       global - the address is globally valid.

                       site - (IPv6 only, deprecated) the address is
                       site local, i.e. it is valid inside this site.

                       link - the address is link local, i.e. it is
                       valid only on this device.

                       host - the address is valid only inside this

          metric NUMBER
               priority of prefix route associated with address.

          valid_lft LFT
               the valid lifetime of this address; see section 5.5.4
               of RFC 4862. When it expires, the address is removed by
               the kernel.  Defaults to forever.

          preferred_lft LFT
               the preferred lifetime of this address; see section
               5.5.4 of RFC 4862. When it expires, the address is no
               longer used for new outgoing connections. Defaults to

          home (IPv6 only) designates this address the "home address"
               as defined in RFC 6275.

               (IPv6 only) make the kernel manage temporary addresses
               created from this one as template on behalf of Privacy
               Extensions (RFC3041). For this to become active, the
               use_tempaddr sysctl setting has to be set to a value
               greater than zero.  The given address needs to have a
               prefix length of 64. This flag allows to use privacy
               extensions in a manually configured network, just like
               if stateless auto-configuration was active.

               (IPv6 only) do not perform Duplicate Address Detection
               (RFC 4862) when adding this address.

     Page 3                      iproute2            (printed 5/25/22)

     IP-ADDRESS(8)             (20 Dec 2011)             IP-ADDRESS(8)

               (IPv6 only) When performing Duplicate Address Detec-
               tion, use the RFC 4429 optimistic variant.

               Do not automatically create a route for the network
               prefix of the added address, and don't search for one
               to delete when removing the address. Changing an
               address to add this flag will remove the automatically
               added prefix route, changing it to remove this flag
               will create the prefix route automatically.

               Joining multicast groups on Ethernet level via ip maddr
               command does not work if connected to an Ethernet
               switch that does IGMP snooping since the switch would
               not replicate multicast packets on ports that did not
               have IGMP reports for the multicast addresses.

               Linux VXLAN interfaces created via ip link add vxlan
               have the group option that enables them to do the
               required join.

               Using the autojoin flag when adding a multicast address
               enables similar functionality for Openvswitch VXLAN
               interfaces as well as other tunneling mechanisms that
               need to receive multicast traffic.

        ip address delete - delete protocol
          Arguments: coincide with the arguments of ip addr add. The
          device name is a required argument. The rest are optional.
          If no arguments are given, the first address is deleted.

        ip address show - look at
          dev IFNAME (default)
               name of device.

          scope SCOPE_VAL
               only list addresses with this scope.

          to PREFIX
               only list addresses matching this prefix.

          label PATTERN
               only list addresses with labels matching the PATTERN.

     Page 4                      iproute2            (printed 5/25/22)

     IP-ADDRESS(8)             (20 Dec 2011)             IP-ADDRESS(8)

               PATTERN is a usual shell style pattern.

          master DEVICE
               only list interfaces enslaved to this master device.

          vrf NAME
               only list interfaces enslaved to this vrf.

          type TYPE
               only list interfaces of the given type.

               Note that the type name is not checked against the list
               of supported types - instead it is sent as-is to the
               kernel. Later it is used to filter the returned inter-
               face list by comparing it with the relevant attribute
               in case the kernel didn't filter already. Therefore any
               string is accepted, but may lead to empty output.

          up   only list running interfaces.

          dynamic and permanent
               (IPv6 only) only list addresses installed due to state-
               less address configuration or only list permanent (not
               dynamic) addresses. These two flags are inverses of
               each other, so -dynamic is equal to permanent and
               -permanent is equal to dynamic.

               (IPv6 only) only list addresses which have not yet
               passed duplicate address detection.

               (IPv6 only) only list addresses which are not in the
               process of duplicate address detection currently.

               (IPv6 only) only list deprecated addresses.

               (IPv6 only) only list addresses not being deprecated.


     Page 5                      iproute2            (printed 5/25/22)

     IP-ADDRESS(8)             (20 Dec 2011)             IP-ADDRESS(8)

               (IPv6 only) only list addresses which have failed
               duplicate address detection.

               (IPv6 only) only list addresses which have not failed
               duplicate address detection.

          temporary or secondary
               List temporary IPv6 or secondary IPv4 addresses only.
               The Linux kernel shares a single bit for those, so they
               are actually aliases for each other although the mean-
               ing differs depending on address family.

          -temporary or -secondary
               These flags are aliases for primary.

               List only primary addresses, in IPv6 exclude temporary
               ones. This flag is the inverse of temporary and

               This is an alias for temporary or secondary.

        ip address flush - flush protocol
          This command flushes the protocol addresses selected by some

          This command has the same arguments as show except that type
          and master selectors are not supported.  Another difference
          is that it does not run when no arguments are given.

          Warning: This command and other flush commands are unforgiv-
          ing. They will cruelly purge all the addresses.

          With the -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, ip address flush also dumps all the deleted
          addresses in the format described in the previous subsec-

     Page 6                      iproute2            (printed 5/25/22)

     IP-ADDRESS(8)             (20 Dec 2011)             IP-ADDRESS(8)

          ip address show
              Shows IPv4 and IPv6 addresses assigned to all network
              interfaces. The 'show' subcommand can be omitted.

          ip address show up
              Same as above except that only addresses assigned to
              active network interfaces are shown.

          ip address show dev eth0
              Shows IPv4 and IPv6 addresses assigned to network inter-
              face eth0.

          ip address add 2001:0db8:85a3::0370:7334/64 dev eth1
              Adds an IPv6 address to network interface eth1.

          ip address delete 2001:0db8:85a3::0370:7334/64 dev eth1
              Delete the IPv6 address added above.

          ip address flush dev eth4 scope global
              Removes all global IPv4 and IPv6 addresses from device
              eth4. Without 'scope global' it would remove all
              addresses including IPv6 link-local ones.


          Original Manpage by Michail Litvak <mci@owl.openwall.com>

     Page 7                      iproute2            (printed 5/25/22)