kuznet@alisa:~ $ ip neigh ls :: dev lo lladdr 00:00:00:00:00:00 nud noarp fe80::200:cff:fe76:3f85 dev eth0 lladdr 00:00:0c:76:3f:85 router \ nud stale 0.0.0.0 dev lo lladdr 00:00:00:00:00:00 nud noarp 22.214.171.124 dev eth0 lladdr 00:00:0c:76:3f:85 nud reachable 126.96.36.199 dev eth0 lladdr 00:e0:1e:63:39:00 nud stale kuznet@alisa:~ $
The first word of each line is the protocol address of the neighbour. Then the device name follows. The rest of the line describes the contents of the neighbour entry identified by the pair (device, address).
lladdr is the link layer address of the neighbour.
nud is the state of the ``neighbour unreachability detection'' machine
for this entry. The detailed description of the neighbour
state machine can be found in . Here is the full list
of the states with short descriptions:
none-- the state of the neighbour is void.
incomplete-- the neighbour is in the process of resolution.
reachable-- the neighbour is valid and apparently reachable.
stale-- the neighbour is valid, but is probably already unreachable, so the kernel will try to check it at the first transmission.
delay-- a packet has been sent to the stale neighbour and the kernel is waiting for confirmation.
probe-- the delay timer expired but no confirmation was received. The kernel has started to probe the neighbour with ARP/NDISC messages.
failed-- resolution has failed.
noarp-- the neighbour is valid. No attempts to check the entry will be made.
permanent-- it is a
noarpentry, but only the administrator may remove the entry from the neighbour table.
The link layer address is valid in all states except for
IPv6 neighbours can be marked with the additional flag
which means that the neighbour introduced itself as an IPv6 router .