Re: [RFC] Arp announce (for Xen)

David Miller
2007-03-06T04:35:42Z

From: Stephen Hemminger <shemminger@linux-foundation.org>
Date: Thu, 1 Mar 2007 17:30:30 -0800

> What about implementing the unused arp_announce flag on the inetdevice?
> Something like the following. Totally untested...
>
> Looks like it either was there (and got removed) or was planned but
> never implemented.

This idea is fine. But:

> + case NETDEV_CHANGEADDR:
> + /* Send gratuitous ARP in case of address change or new device */
> + if (IN_DEV_ARP_ANNOUNCE(in_dev))
> + arp_send(ARPOP_REQUEST, ETH_P_ARP,
> + in_dev->ifa_list->ifa_address, dev,
> + in_dev->ifa_list->ifa_address, NULL,
> + dev->dev_addr, NULL);

We'll need to make sure the appropriate 'arp_anounce' address
selection is employed here.

One idea is to change arp_solicit() such that it can be invoked in
this context, or provide a new helper function which will do the
source address selection rules of 'arp_announce' and then invoke
arp_send() as appropriate for us.