Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Oct 2016 20:44:13 +1100
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        Eric van Gyzen <vangyzen@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Cc:        Steven Hartland <smh@FreeBSD.org>, Gleb Smirnoff <glebius@freebsd.org>
Subject:   Re: svn commit: r306577 - head/sys/netinet
Message-ID:  <46cdc5d8-75ee-16f6-ee9d-d9c14cb5098e@FreeBSD.org>
In-Reply-To: <201610020142.u921gjsJ016528@repo.freebsd.org>
References:  <201610020142.u921gjsJ016528@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46cdc5d8-75ee-16f6-ee9d-d9c14cb5098e>