cvs commit: src/sys/netinet if_ether.c
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.
Building FreeBSD since 2.0...
Commit by glebius on RELENG_6 :: src/sys/netinet/if_ether.c:
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:
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