Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Aug 2001 00:26:15 +0100 (BST)
From:      Joshua Goodall <joshua@roughtrade.net>
To:        <freebsd-net@FreeBSD.ORG>
Subject:   Re: Gratuitous ARP (summary)
Message-ID:  <Pine.LNX.4.33.0108282339230.23691-100000@elm.phenome.org>
In-Reply-To: <Pine.LNX.4.10.10108281117590.1887-100000@ruby.ccmr.cornell.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tue, 28 Aug 2001, Mitch Collinsworth wrote:

> It's not clear what Jushua is asking for, but my guess is proxy arp.
> See arp(8), in particular the -s flag.

Then I will clarify and say that what I want is precisely described in
section 4.7 of TCP/IP Illustrated Vol. 1 (Stevens) and looks like this on
a tcpdump:

bloo:~# tcpdump -teli fxp0 arp net 10.1.1 &
tcpdump: listening on fxp0
0:a0:c9:ca:73:5f Broadcast arp 42: arp who-has 10.1.1.1 tell 10.1.1.1

and is primarily used for collision detection and network-local arp-cache
priming, but also has applications in IP address migration (a common
high-availability technique). I should not have described it as an "arp
reply" since it is, of course, an "arp who-has".

However a synthesis of the suggestions from Terry & Ruslan yields what I
wanted:

a) in the case where the address is an alias, re-issuing the
   ifconfig ... alias results in a gratuitous ARP for the alias address
   without losing the subnet route & ARP cache entries. However I use a
   netmask of 255.255.255.255 for all aliases in the same subnet as the
   primary, in line with the ifconfig(8) manual.

b) in the case where the address is the primary address of the interface,
   an ifconfig will cycle the route *and* delete the ARP cache entries for
   the subnet. However, using arping to the interface primary address
   (not broadcast) gives a correctly formatted, non-destructive gratuitous
   ARP.

So I'm happy now.

Curiously, an ifconfig for an alias will generate a gratuitous ARP for
that alias even if the -arp option is supplied. I'm not sure this is
correct behaviour.

Joshua



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.33.0108282339230.23691-100000>