net: add ARP notify option for devices
This adds another inet device option to enable gratuitous ARP when device is brought up or address change. This is handy for clusters or virtualization. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
ead731837d
commit
eefef1cf76
@@ -1075,6 +1075,14 @@ static int inetdev_event(struct notifier_block *this, unsigned long event,
|
||||
}
|
||||
}
|
||||
ip_mc_up(in_dev);
|
||||
/* fall through */
|
||||
case NETDEV_CHANGEADDR:
|
||||
if (IN_DEV_ARP_NOTIFY(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);
|
||||
@@ -1439,6 +1447,7 @@ static struct devinet_sysctl_table {
|
||||
DEVINET_SYSCTL_RW_ENTRY(ARP_ANNOUNCE, "arp_announce"),
|
||||
DEVINET_SYSCTL_RW_ENTRY(ARP_IGNORE, "arp_ignore"),
|
||||
DEVINET_SYSCTL_RW_ENTRY(ARP_ACCEPT, "arp_accept"),
|
||||
DEVINET_SYSCTL_RW_ENTRY(ARP_NOTIFY, "arp_notify"),
|
||||
|
||||
DEVINET_SYSCTL_FLUSHING_ENTRY(NOXFRM, "disable_xfrm"),
|
||||
DEVINET_SYSCTL_FLUSHING_ENTRY(NOPOLICY, "disable_policy"),
|
||||
|
Reference in New Issue
Block a user