cvs commit: src/sys/netinet if_ether.c

Andre Oppermann andre at freebsd.org
Fri Nov 11 16:25:13 GMT 2005


Gleb Smirnoff wrote:
> 
> glebius     2005-11-08 12:05:57 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/netinet          if_ether.c
>   Log:
>   Rework ARP retransmission algorythm so that ARP requests are
>   retransmitted without suppression, while there is demand for
>   such ARP entry. As before, retransmission is rate limited to
>   one packet per second. Details:
>     - Remove net.link.ether.inet.host_down_time
>     - Do not set/clear RTF_REJECT flag on route, to
>       avoid rt_check() returning error. We will generate error
>       ourselves.
>     - Return EWOULDBLOCK on first arp_maxtries failed
>       requests , and return EHOSTDOWN/EHOSTUNREACH
>       on further requests.
>     - Retransmit ARP request always, independently from return
>       code. Ratelimit to 1 pps.

I like this.  Before it would report unreachable for some time and
then no longer if the hold down time was over.  Now it continuously
sends it after the initial ARP lookup expired.

-- 
Andre


More information about the cvs-src mailing list