ip-neighbour(8) — Linux manual page


IP-NEIGHBOUR(8)                   Linux                  IP-NEIGHBOUR(8)

NAME         top

       ip-neighbour - neighbour/arp tables management.

SYNOPSIS         top

       ip [ OPTIONS ] neigh  { COMMAND | help }

       ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR
               ] [ nud STATE ] | proxy ADDR } [ dev DEV ] [ router ] [
               use ] [ managed ] [ extern_learn ]

       ip neigh { show | flush } [ proxy ] [ to PREFIX ] [ dev DEV ] [
               nud STATE ] [ vrf NAME ] [ nomaster ]

       ip neigh get ADDR dev DEV

       STATE := { permanent | noarp | stale | reachable | none |
               incomplete | delay | probe | failed }

DESCRIPTION         top

       The ip neigh command manipulates neighbour objects that 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 also known by another
       name - the ARP table.

       The corresponding commands display neighbour bindings and their
       properties, add new neighbour entries and delete old ones.

       ip neighbour add
              add a new neighbour entry

       ip neighbour change
              change an existing entry

       ip neighbour replace
              add a new entry or change an existing one

              These commands create new neighbour records or update
              existing ones.

              to ADDRESS (default)
                     the protocol address of the neighbour. It is either
                     an IPv4 or IPv6 address.

              dev NAME
                     the interface to which this neighbour is attached.

              proxy  indicates whether we are proxying for this
                     neighbour entry

              router indicates whether neighbour is a router

              use    this neigh entry is in "use". This option can be
                     used to indicate to the kernel that a controller is
                     using this dynamic entry. If the entry does not
                     exist, the kernel will resolve it. If it exists, an
                     attempt to refresh the neighbor entry will be

                     this neigh entry is "managed". This option can be
                     used to indicate to the kernel that a controller is
                     using this dynamic entry. In contrast to "use", if
                     the entry does not exist, the kernel will resolve
                     it and periodically attempt to auto-refresh the
                     neighbor entry such that it remains in resolved
                     state when possible.

                     this neigh entry was learned externally. This
                     option can be used to indicate to the kernel that
                     this is a controller learnt dynamic entry.  Kernel
                     will not gc such an entry.

              lladdr LLADDRESS
                     the link layer address of the neighbour.  LLADDRESS
                     can also be null.

              nud STATE
                     the state of the neighbour entry.  nud is an
                     abbreviation for 'Neighbour Unreachability
                     Detection'.  The state can take one of the
                     following values:

                            the neighbour entry is valid forever and can
                            be only be removed administratively.

                     noarp  the neighbour entry is valid. No attempts to
                            validate this entry will be made but it can
                            be removed when its lifetime expires.

                            the neighbour entry is valid until the
                            reachability timeout expires.

                     stale  the neighbour entry is valid but suspicious.
                            This option to ip neigh does not change the
                            neighbour state if it was valid and the
                            address is not changed by this command.

                     none   this is a pseudo state used when initially
                            creating a neighbour entry or after trying
                            to remove it before it becomes free to do

                            the neighbour entry has not (yet) been

                     delay  neighbor entry validation is currently

                     probe  neighbor is being probed.

                     failed max number of probes exceeded without
                            success, neighbor validation has ultimately

       ip neighbour delete
              delete a neighbour entry

              The arguments are the same as with ip neigh add, except
              that lladdr and nud are ignored.

              Warning: Attempts to delete or manually change a noarp
              entry created by the kernel may result in unpredictable
              behaviour.  Particularly, the kernel may try to resolve
              this address even on a NOARP interface or if the address
              is multicast or broadcast.

       ip neighbour show
              list neighbour entries

              to ADDRESS (default)
                     the prefix selecting the neighbours to list.

              dev NAME
                     only list the neighbours attached to this device.

              vrf NAME
                     only list the neighbours for given VRF.

                     only list neighbours attached to an interface with
                     no master.

              proxy  list neighbour proxies.

              unused only list neighbours which are not currently in

              nud STATE
                     only list neighbour entries in this state.
                     NUD_STATE takes values listed below or the special
                     value all which means all states. This option may
                     occur more than once.  If this option is absent, ip
                     lists all entries except for none and noarp.

       ip neighbour flush
              flush neighbour entries
              This command has the same arguments as 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 permanent and noarp.

              With the -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, ip neigh flush also dumps all the
              deleted neighbours.

       ip neigh get
              lookup a neighbour entry to a destination given a device

              proxy  indicates whether we should lookup a proxy
                     neighbour entry

              to ADDRESS (default)
                     the prefix selecting the neighbour to query.

              dev NAME
                     get neighbour entry attached to this device.

EXAMPLES         top

       ip neighbour
              Shows the current neighbour table in kernel.

       ip neigh flush dev eth0
              Removes entries in the neighbour table on device eth0.

       ip neigh get dev eth0
              Performs a neighbour lookup in the kernel and returns a
              neighbour entry.

SEE ALSO         top


AUTHOR         top

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

COLOPHON         top

       This page is part of the iproute2 (utilities for controlling
       TCP/IP networking and traffic) project.  Information about the
       project can be found at 
       If you have a bug report for this manual page, send it to
       netdev@vger.kernel.org, shemminger@osdl.org.  This page was
       obtained from the project's upstream Git repository
       ⟨https://git.kernel.org/pub/scm/network/iproute2/iproute2.git⟩ on
       2024-06-14.  (At that time, the date of the most recent commit
       that was found in the repository was 2024-06-11.)  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to man-pages@man7.org

iproute2                       20 Dec 2011               IP-NEIGHBOUR(8)

Pages that refer to this page: ip(8)