ipv4: loopback device: ignore value changes after device is upped
authorJiri Pirko <jiri@resnulli.us>
Tue, 7 Jan 2014 14:55:45 +0000 (15:55 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Jan 2014 20:55:17 +0000 (15:55 -0500)
When lo is brought up, new ifa is created. Then, devconf and neigh values
bitfield should be set so later changes of default values would not
affect lo values.

Note that the same behaviour is in ipv6. Also note that this is likely
not an issue in many distros (for example Fedora 19) because userspace
sets address to lo manually before bringing it up.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/devinet.c

index 0feebd5de295e1ee17ce74935346c3408f87617e..9809f7b69728cb335e0963c92ea4c9522842849f 100644 (file)
@@ -1385,6 +1385,8 @@ static int inetdev_event(struct notifier_block *this, unsigned long event,
                                memcpy(ifa->ifa_label, dev->name, IFNAMSIZ);
                                set_ifa_lifetime(ifa, INFINITY_LIFE_TIME,
                                                 INFINITY_LIFE_TIME);
+                               ipv4_devconf_setall(in_dev);
+                               neigh_parms_data_state_setall(in_dev->arp_parms);
                                inet_insert_ifa(ifa);
                        }
                }