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 0feebd5..9809f7b 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);
                        }
                }