summaryrefslogtreecommitdiff
path: root/net/ipv4/arp.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-07-19 11:34:42 +0400
committerIngo Molnar <mingo@kernel.org>2013-07-19 11:34:42 +0400
commite43fff2b98b4e99b189c086a9cf740b19eaf3538 (patch)
tree658a5f73d5806fe47856547b17cbd23592856c62 /net/ipv4/arp.c
parent67516844625f45f0ce148a01c27bf41f591872b2 (diff)
parentecb2cf1a6b63825a258ff4fe0d7f3070fbe4676b (diff)
downloadlinux-e43fff2b98b4e99b189c086a9cf740b19eaf3538.tar.xz
Merge branch 'linus' into perf/core
Merge in a v3.11-rc1-ish branch to go from v3.10 based development to a v3.11 based one. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/ipv4/arp.c')
-rw-r--r--net/ipv4/arp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index 247ec1951c35..4429b013f269 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -1234,13 +1234,19 @@ out:
static int arp_netdev_event(struct notifier_block *this, unsigned long event,
void *ptr)
{
- struct net_device *dev = ptr;
+ struct net_device *dev = netdev_notifier_info_to_dev(ptr);
+ struct netdev_notifier_change_info *change_info;
switch (event) {
case NETDEV_CHANGEADDR:
neigh_changeaddr(&arp_tbl, dev);
rt_cache_flush(dev_net(dev));
break;
+ case NETDEV_CHANGE:
+ change_info = ptr;
+ if (change_info->flags_changed & IFF_NOARP)
+ neigh_changeaddr(&arp_tbl, dev);
+ break;
default:
break;
}