[RFC] Arp announce (for Xen)

Stephen Hemminger
2007-03-02T01:31:36Z

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.

diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index e10794d..cefc339 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1089,6 +1089,16 @@ static int inetdev_event(struct notifier
}
}
ip_mc_up(in_dev);
+ /* fallthru */
+
+ 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);
+
break;
case NETDEV_DOWN:
ip_mc_down(in_dev);