Check out my first novel, midnight's simulacra!

ARP: Difference between revisions

From dankwiki
No edit summary
No edit summary
Line 1: Line 1:
==Linux ARP states==
==Linux ARP states==
These are encoded in the <tt>ndm_state</tt> bitmask of a RTM_NEWNEIGH/RTM_GETNEIGH [[netlink]] message (valid ndm_flags values include NTF_PROXY for proxy ARP entries and NTF_ROUTER for IPv6 routers).
{|class="wikitable" border="1"
{|class="wikitable" border="1"
!state
!state
Line 11: Line 12:
|'''noarp'''
|'''noarp'''
|normal expiration, never verified
|normal expiration, never verified
"A device with no destination cache"
|use resets use counter
|use resets use counter
|-
|-
Line 28: Line 30:
|-
|-
|'''probe'''
|'''probe'''
|need ARP reply for verification
|need ARP reply for verification (reprobing)
|use resets timer and returns to '''reachable'''
|use resets timer and returns to '''reachable'''
timer reissues ARP requests or moves to '''failed'''
timer reissues ARP requests or moves to '''failed'''
Line 38: Line 40:
|-
|-
|'''failed'''
|'''failed'''
|no response received
|no response received / invalid cache entry
|timer governs reissuing of ARP requests
|timer governs reissuing of ARP requests
use resets timer and moves to '''reachable'''
use resets timer and moves to '''reachable'''
Line 45: Line 47:


==See Also==
==See Also==
* Linux's rtnetlink(7) [http://www.kernel.org/doc/man-pages/online/pages/man7/rtnetlink.7.html man page]
* "[http://www.cs.clemson.edu/~westall/853/notes/arpstate.pdf The ARP State Machine]" James Westall's CpSc 853 "[http://www.cs.clemson.edu/~westall/853/ Protocol Implementation]" class notes
* "[http://www.cs.clemson.edu/~westall/853/notes/arpstate.pdf The ARP State Machine]" James Westall's CpSc 853 "[http://www.cs.clemson.edu/~westall/853/ Protocol Implementation]" class notes
* "[http://linux-ip.net/html/ether-arp.html 2.1 Address Resolution Protocol (ARP)]" Martin Brown's "[http://linux-ip.net/html/index.html Guide to IP Layer Network Administration with Linux]"
* "[http://linux-ip.net/html/ether-arp.html 2.1 Address Resolution Protocol (ARP)]" Martin Brown's "[http://linux-ip.net/html/index.html Guide to IP Layer Network Administration with Linux]"

Revision as of 09:19, 19 July 2011

Linux ARP states

These are encoded in the ndm_state bitmask of a RTM_NEWNEIGH/RTM_GETNEIGH netlink message (valid ndm_flags values include NTF_PROXY for proxy ARP entries and NTF_ROUTER for IPv6 routers).

state meaning transitions
permanent never undergoes verification or expiry none (manually configured)
noarp normal expiration, never verified

"A device with no destination cache"

use resets use counter
reachable normal expiration use resets timer
stale still usable, needs verification use resets timer and returns to reachable

timer changes state to delay

delay schedule ARP request, needs verification use resets timer and returns to reachable

timer changes state to probe, issuing ARP request

probe need ARP reply for verification (reprobing) use resets timer and returns to reachable

timer reissues ARP requests or moves to failed

incomplete (new entry) need ARP reply for first use use resets timer and returns to reachable

timer reissues ARP requests or moves to failed

failed no response received / invalid cache entry timer governs reissuing of ARP requests

use resets timer and moves to reachable

See Also