On 2/10/2016 12:42 PM, Eric van Gyzen wrote:
> Author: vangyzen Date: Sun Oct  2 01:42:45 2016 New Revision: 306577 
> URL: https://svnweb.freebsd.org/changeset/base/306577
> 
> Log: Add GARP retransmit capability
> 
> A single gratuitous ARP (GARP) is always transmitted when an IPv4 
> address is added to an interface, and that is usually sufficient. 
> However, in some circumstances, such as when a shared address is 
> passed between cluster nodes, this single GARP may occasionally be 
> dropped or lost.  This can lead to neighbors on the network link 
> working with a stale ARP cache and sending packets destined for that
> address to the node that previously owned the address, which may not
> respond.
> 
> To avoid this situation, GARP retransmissions can be enabled by
> setting the net.link.ether.inet.garp_rexmit_count sysctl to a value
> greater than zero.  The setting represents the maximum number of
> retransmissions. The interval between retransmissions is calculated
> using an exponential backoff algorithm, doubling each time, so the
> retransmission intervals are: {1, 2, 4, 8, 16, ...} (seconds).
> 
> Due to the exponential backoff algorithm used for the interval 
> between GARP retransmissions, the maximum number of retransmissions 
> is limited to 16 for sanity.  This limit corresponds to a maximum 
> interval between retransmissions of 2^16 seconds ~= 18 hours. 
> Increasing this limit is possible, but sending out GARPs spaced days
> apart would be of little use.
> 

Thanks for this David & Eric

I presume this is (or would be) quite complementary to D4111 [1]
(Gratuitous ARP's for lagg(4) failover) when it lands? I'm thinking
particularly given the various states upstream switch ports can have
during topology changes.

[1] https://reviews.freebsd.org/D4111

./koobs


_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to