interface: do not set l3_dev along with main_dev anymore
[project/netifd.git] / interface.c
index c861b7d..f474246 100644 (file)
@@ -581,6 +581,9 @@ interface_proto_cb(struct interface_proto_state *state, enum interface_proto_eve
                        return;
                }
 
+               if (!iface->l3_dev.dev)
+                       interface_set_l3_dev(iface, iface->main_dev.dev);
+
                interface_ip_set_enabled(&iface->config_ip, true);
                system_flush_routes();
                iface->state = IFS_UP;
@@ -772,15 +775,11 @@ interface_set_l3_dev(struct interface *iface, struct device *dev)
 void
 interface_set_main_dev(struct interface *iface, struct device *dev)
 {
-       bool set_l3 = (!dev || iface->main_dev.dev == iface->l3_dev.dev);
        bool claimed = iface->l3_dev.claimed;
 
        if (iface->main_dev.dev == dev)
                return;
 
-       if (set_l3)
-               interface_set_l3_dev(iface, dev);
-
        device_add_user(&iface->main_dev, dev);
        if (!dev) {
                interface_set_link_state(iface, false);