Blame man/man8/ip-neighbour.8

Packit d3f73b
.TH IP\-NEIGHBOUR 8 "20 Dec 2011" "iproute2" "Linux"
Packit d3f73b
.SH "NAME"
Packit d3f73b
ip-neighbour \- neighbour/arp tables management.
Packit d3f73b
.SH "SYNOPSIS"
Packit d3f73b
.sp
Packit d3f73b
.ad l
Packit d3f73b
.in +8
Packit d3f73b
.ti -8
Packit d3f73b
.B ip
Packit d3f73b
.RI "[ " OPTIONS " ]"
Packit d3f73b
.B neigh
Packit d3f73b
.RI " { " COMMAND " | "
Packit d3f73b
.BR help " }"
Packit d3f73b
.sp
Packit d3f73b
Packit d3f73b
.ti -8
Packit d3f73b
.BR "ip neigh" " { " add " | " del " | " change " | " replace " } { "
Packit d3f73b
.IR ADDR " [ "
Packit d3f73b
.B  lladdr
Packit d3f73b
.IR LLADDR " ] [ "
Packit d3f73b
.B nud
Packit d3f73b
.IR STATE " ] |"
Packit d3f73b
.B proxy
Packit d3f73b
.IR ADDR " } [ "
Packit d3f73b
.B  dev
Packit d3f73b
.IR DEV " ] [ "
Packit d3f73b
.BR router " ] [ "
Packit d3f73b
.BR extern_learn " ]"
Packit d3f73b
Packit d3f73b
.ti -8
Packit d3f73b
.BR "ip neigh" " { " show " | " flush " } [ " proxy " ] [ " to
Packit d3f73b
.IR PREFIX " ] [ "
Packit d3f73b
.B  dev
Packit d3f73b
.IR DEV " ] [ "
Packit d3f73b
.B  nud
Packit d3f73b
.IR STATE " ] [ "
Packit d3f73b
.B  vrf
Packit d3f73b
.IR NAME " ] "
Packit d3f73b
Packit d3f73b
.ti -8
Packit d3f73b
.IR STATE " := {"
Packit d3f73b
.BR permanent " | " noarp " | " stale " | " reachable " | " none " |"
Packit d3f73b
.BR incomplete " | " delay " | " probe " | " failed " }"
Packit d3f73b
Packit d3f73b
.SH DESCRIPTION
Packit d3f73b
The
Packit d3f73b
.B ip neigh
Packit d3f73b
command manipulates
Packit d3f73b
.I neighbour
Packit d3f73b
objects that establish bindings between protocol addresses and
Packit d3f73b
link layer addresses for hosts sharing the same link.
Packit d3f73b
Neighbour entries are organized into tables. The IPv4 neighbour table
Packit d3f73b
is also known by another name - the ARP table.
Packit d3f73b
Packit d3f73b
.P
Packit d3f73b
The corresponding commands display neighbour bindings
Packit d3f73b
and their properties, add new neighbour entries and delete old ones.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
ip neighbour add
Packit d3f73b
add a new neighbour entry
Packit d3f73b
.TP
Packit d3f73b
ip neighbour change
Packit d3f73b
change an existing entry
Packit d3f73b
.TP
Packit d3f73b
ip neighbour replace
Packit d3f73b
add a new entry or change an existing one
Packit d3f73b
.RS
Packit d3f73b
.PP
Packit d3f73b
These commands create new neighbour records or update existing ones.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI to " ADDRESS " (default)
Packit d3f73b
the protocol address of the neighbour. It is either an IPv4 or IPv6 address.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI dev " NAME"
Packit d3f73b
the interface to which this neighbour is attached.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI proxy
Packit d3f73b
indicates whether we are proxying for this neigbour entry
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI router
Packit d3f73b
indicates whether neigbour is a router
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI extern_learn
Packit d3f73b
this neigh entry was learned externally. This option can be used to
Packit d3f73b
indicate to the kernel that this is a controller learnt dynamic entry.
Packit d3f73b
Kernel will not gc such an entry.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI lladdr " LLADDRESS"
Packit d3f73b
the link layer address of the neighbour.
Packit d3f73b
.I LLADDRESS
Packit d3f73b
can also be
Packit d3f73b
.BR "null" .
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI nud " STATE"
Packit d3f73b
the state of the neighbour entry.
Packit d3f73b
.B nud
Packit d3f73b
is an abbreviation for 'Neighbour Unreachability Detection'.
Packit d3f73b
The state can take one of the following values:
Packit d3f73b
Packit d3f73b
.RS
Packit d3f73b
.TP
Packit d3f73b
.B permanent
Packit d3f73b
the neighbour entry is valid forever and can be only
Packit d3f73b
be removed administratively.
Packit d3f73b
.TP
Packit d3f73b
.B noarp
Packit d3f73b
the neighbour entry is valid. No attempts to validate
Packit d3f73b
this entry will be made but it can be removed when its lifetime expires.
Packit d3f73b
.TP
Packit d3f73b
.B reachable
Packit d3f73b
the neighbour entry is valid until the reachability
Packit d3f73b
timeout expires.
Packit d3f73b
.TP
Packit d3f73b
.B stale
Packit d3f73b
the neighbour entry is valid but suspicious.
Packit d3f73b
This option to
Packit d3f73b
.B ip neigh
Packit d3f73b
does not change the neighbour state if it was valid and the address
Packit d3f73b
is not changed by this command.
Packit d3f73b
.TP
Packit d3f73b
.B none
Packit d3f73b
this is a pseudo state used when initially creating a neighbour entry or after
Packit d3f73b
trying to remove it before it becomes free to do so.
Packit d3f73b
.TP
Packit d3f73b
.B incomplete
Packit d3f73b
the neighbour entry has not (yet) been validated/resolved.
Packit d3f73b
.TP
Packit d3f73b
.B delay
Packit d3f73b
neighbor entry validation is currently delayed.
Packit d3f73b
.TP
Packit d3f73b
.B probe
Packit d3f73b
neighbor is being probed.
Packit d3f73b
.TP
Packit d3f73b
.B failed
Packit d3f73b
max number of probes exceeded without success, neighbor validation has
Packit d3f73b
ultimately failed.
Packit d3f73b
.RE
Packit d3f73b
.RE
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
ip neighbour delete
Packit d3f73b
delete a neighbour entry
Packit d3f73b
.RS
Packit d3f73b
.PP
Packit d3f73b
The arguments are the same as with
Packit d3f73b
.BR "ip neigh add" ,
Packit d3f73b
except that
Packit d3f73b
.B lladdr
Packit d3f73b
and
Packit d3f73b
.B nud
Packit d3f73b
are ignored.
Packit d3f73b
Packit d3f73b
.PP
Packit d3f73b
.B Warning:
Packit d3f73b
Attempts to delete or manually change a
Packit d3f73b
.B noarp
Packit d3f73b
entry created by the kernel may result in unpredictable behaviour.
Packit d3f73b
Particularly, the kernel may try to resolve this address even
Packit d3f73b
on a
Packit d3f73b
.B NOARP
Packit d3f73b
interface or if the address is multicast or broadcast.
Packit d3f73b
.RE
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
ip neighbour show
Packit d3f73b
list neighbour entries
Packit d3f73b
.RS
Packit d3f73b
.TP
Packit d3f73b
.BI to " ADDRESS " (default)
Packit d3f73b
the prefix selecting the neighbours to list.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI dev " NAME"
Packit d3f73b
only list the neighbours attached to this device.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI vrf " NAME"
Packit d3f73b
only list the neighbours for given VRF.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI proxy
Packit d3f73b
list neighbour proxies.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.B unused
Packit d3f73b
only list neighbours which are not currently in use.
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
.BI nud " STATE"
Packit d3f73b
only list neighbour entries in this state.
Packit d3f73b
.I NUD_STATE
Packit d3f73b
takes values listed below or the special value
Packit d3f73b
.B all
Packit d3f73b
which means all states. This option may occur more than once.
Packit d3f73b
If this option is absent,
Packit d3f73b
.B ip
Packit d3f73b
lists all entries except for
Packit d3f73b
.B none
Packit d3f73b
and
Packit d3f73b
.BR "noarp" .
Packit d3f73b
.RE
Packit d3f73b
Packit d3f73b
.TP
Packit d3f73b
ip neighbour flush
Packit d3f73b
flush neighbour entries
Packit d3f73b
.RS
Packit d3f73b
This command has the same arguments as
Packit d3f73b
.B show.
Packit d3f73b
The differences are that it does not run when no arguments are given,
Packit d3f73b
and that the default neighbour states to be flushed do not include
Packit d3f73b
.B permanent
Packit d3f73b
and
Packit d3f73b
.BR "noarp" .
Packit d3f73b
Packit d3f73b
.PP
Packit d3f73b
With the
Packit d3f73b
.B -statistics
Packit d3f73b
option, the command becomes verbose. It prints out the number of
Packit d3f73b
deleted neighbours and the number of rounds made to flush the
Packit d3f73b
neighbour table. If the option is given
Packit d3f73b
twice,
Packit d3f73b
.B ip neigh flush
Packit d3f73b
also dumps all the deleted neighbours.
Packit d3f73b
.RE
Packit d3f73b
Packit d3f73b
.SH EXAMPLES
Packit d3f73b
.PP
Packit d3f73b
ip neighbour
Packit d3f73b
.RS
Packit d3f73b
Shows the current neighbour table in kernel.
Packit d3f73b
.RE
Packit d3f73b
.PP
Packit d3f73b
ip neigh flush dev eth0
Packit d3f73b
.RS
Packit d3f73b
Removes entries in the neighbour table on device eth0.
Packit d3f73b
.RE
Packit d3f73b
Packit d3f73b
.SH SEE ALSO
Packit d3f73b
.br
Packit d3f73b
.BR ip (8)
Packit d3f73b
Packit d3f73b
.SH AUTHOR
Packit d3f73b
Original Manpage by Michail Litvak <mci@owl.openwall.com>