cvs commit: src/sys/netinet if_ether.c

Dan Allen danallen46 at airwired.net
Sat Nov 26 00:53:45 GMT 2005


The following change appears to have crashed my network today.  If I  
back up to the revision of src/sys/netinet/if_ether.c prior to this,  
my machine is fine, but otherwise it will not talk to my Netgear  
router's DHCP server properly and in fact it almost does a Denial of  
Service on the router!  Every light on the router is on - the machine  
hangs at boot waiting for a DHCP address, and then it hangs again  
when sshd starts up.

I am not a network guru (more of a compiler guy) but I think this  
change should be investigated or possibly backed out.  If there are  
questions, feel free to email me.

Dan Allen
Building FreeBSD since 2.0...

---

Commit by glebius on RELENG_6 :: src/sys/netinet/if_ether.c:
MFC 1.145:

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.





More information about the freebsd-net mailing list