chiark / gitweb /
networkd: manager - refactor link tracking a bit
[elogind.git] / src / network / networkd-netdev.c
index c7bec74aa36fd5a8a875eb259bd30ea53767312b..7962cc6c6a75a36c32503ef6ac634193792e2ab7 100644 (file)
@@ -114,6 +114,8 @@ void netdev_drop(NetDev *netdev) {
 
         netdev->state = NETDEV_STATE_LINGER;
 
+        log_debug_netdev(netdev, "dropped");
+
         netdev_cancel_callbacks(netdev);
 
         netdev_unref(netdev);
@@ -217,8 +219,8 @@ static int netdev_create_handler(sd_rtnl *rtnl, sd_rtnl_message *m, void *userda
         if (r == -EEXIST)
                 log_debug_netdev(netdev, "netdev exists, using existing");
         else if (r < 0) {
-                log_warning_netdev(netdev, "netdev failed: %s", strerror(-r));
-                netdev_enter_failed(netdev);
+                log_warning_netdev(netdev, "netdev could not be greated: %s", strerror(-r));
+                netdev_drop(netdev);
 
                 return 1;
         }