chiark / gitweb /
remove unused includes
[elogind.git] / src / udev / net / link-config.c
index 812325000da045e51c56e2814307ccdf55e805ce..810a88153c2264fdf2a986bf10219743c09d8252 100644 (file)
@@ -22,7 +22,6 @@
 #include <netinet/ether.h>
 #include <linux/netdevice.h>
 
-#include "sd-id128.h"
 
 #include "missing.h"
 #include "link-config.h"
 #include "path-util.h"
 #include "conf-parser.h"
 #include "conf-files.h"
-#include "fileio.h"
-#include "hashmap.h"
 #include "rtnl-util.h"
 #include "network-internal.h"
-#include "siphash24.h"
 
 struct link_config_ctx {
         LIST_HEAD(link_config, links);
@@ -63,49 +59,41 @@ static const char* const link_dirs[] = {
 #endif
         NULL};
 
-DEFINE_TRIVIAL_CLEANUP_FUNC(link_config_ctx*, link_config_ctx_free);
-#define _cleanup_link_config_ctx_free_ _cleanup_(link_config_ctx_freep)
-
-int link_config_ctx_new(link_config_ctx **ret) {
-        _cleanup_link_config_ctx_free_ link_config_ctx *ctx = NULL;
-
-        if (!ret)
-                return -EINVAL;
-
-        ctx = new0(link_config_ctx, 1);
-        if (!ctx)
-                return -ENOMEM;
-
-        LIST_HEAD_INIT(ctx->links);
-
-        ctx->ethtool_fd = -1;
-
-        ctx->enable_name_policy = true;
-
-        *ret = ctx;
-        ctx = NULL;
+static void link_config_free(link_config *link) {
+        if (!link)
+                return;
 
-        return 0;
+        free(link->filename);
+
+        free(link->match_mac);
+        free(link->match_path);
+        free(link->match_driver);
+        free(link->match_type);
+        free(link->match_name);
+        free(link->match_host);
+        free(link->match_virt);
+        free(link->match_kernel);
+        free(link->match_arch);
+
+        free(link->description);
+        free(link->mac);
+        free(link->name_policy);
+        free(link->name);
+        free(link->alias);
+
+        free(link);
 }
 
+DEFINE_TRIVIAL_CLEANUP_FUNC(link_config*, link_config_free);
+
 static void link_configs_free(link_config_ctx *ctx) {
         link_config *link, *link_next;
 
         if (!ctx)
                 return;
 
-        LIST_FOREACH_SAFE(links, link, link_next, ctx->links) {
-                free(link->filename);
-                free(link->name);
-                free(link->match_path);
-                free(link->match_driver);
-                free(link->match_type);
-                free(link->description);
-                free(link->alias);
-                free(link->name_policy);
-
-                free(link);
-        }
+        LIST_FOREACH_SAFE(links, link, link_next, ctx->links)
+                link_config_free(link);
 }
 
 void link_config_ctx_free(link_config_ctx *ctx) {
@@ -123,8 +111,32 @@ void link_config_ctx_free(link_config_ctx *ctx) {
         return;
 }
 
+DEFINE_TRIVIAL_CLEANUP_FUNC(link_config_ctx*, link_config_ctx_free);
+
+int link_config_ctx_new(link_config_ctx **ret) {
+        _cleanup_(link_config_ctx_freep) link_config_ctx *ctx = NULL;
+
+        if (!ret)
+                return -EINVAL;
+
+        ctx = new0(link_config_ctx, 1);
+        if (!ctx)
+                return -ENOMEM;
+
+        LIST_HEAD_INIT(ctx->links);
+
+        ctx->ethtool_fd = -1;
+
+        ctx->enable_name_policy = true;
+
+        *ret = ctx;
+        ctx = NULL;
+
+        return 0;
+}
+
 static int load_link(link_config_ctx *ctx, const char *filename) {
-        _cleanup_free_ link_config *link = NULL;
+        _cleanup_(link_config_freep) link_config *link = NULL;
         _cleanup_fclose_ FILE *file = NULL;
         int r;
 
@@ -246,7 +258,7 @@ int link_config_get(link_config_ctx *ctx, struct udev_device *device,
                                         (void)safe_atou8(attr_value, &name_assign_type);
 
                                 if (name_assign_type == NET_NAME_ENUM) {
-                                        log_warning("Config file %s applies to device based on potentially unstable interface name '%s'",
+                                        log_warning("Config file %s applies to device based on potentially unpredictable interface name '%s'",
                                                   link->filename, udev_device_get_sysname(device));
                                         *ret = link;
 
@@ -254,22 +266,17 @@ int link_config_get(link_config_ctx *ctx, struct udev_device *device,
                                 } else if (name_assign_type == NET_NAME_RENAMED) {
                                         log_warning("Config file %s matches device based on renamed interface name '%s', ignoring",
                                                   link->filename, udev_device_get_sysname(device));
-                                } else {
-                                        log_debug("Config file %s applies to device %s",
-                                                  link->filename, udev_device_get_sysname(device));
 
-                                        *ret = link;
-
-                                        return 0;
+                                        continue;
                                 }
-                        } else {
-                                log_debug("Config file %s applies to device %s",
-                                          link->filename,  udev_device_get_sysname(device));
+                        }
 
-                                *ret = link;
+                        log_debug("Config file %s applies to device %s",
+                                  link->filename,  udev_device_get_sysname(device));
 
-                                return 0;
-                        }
+                        *ret = link;
+
+                        return 0;
                 }
         }
 
@@ -427,9 +434,10 @@ int link_config_apply(link_config_ctx *ctx, link_config *config,
                 case MACPOLICY_PERSISTENT:
                         if (mac_is_random(device)) {
                                 r = get_mac(device, false, &generated_mac);
-                                if (r == -ENOENT)
+                                if (r == -ENOENT) {
+                                        log_warning_errno(r, "Could not generate persistent MAC address for %s: %m", old_name);
                                         break;
-                                else if (r < 0)
+                                else if (r < 0)
                                         return r;
                                 mac = &generated_mac;
                         }
@@ -437,9 +445,10 @@ int link_config_apply(link_config_ctx *ctx, link_config *config,
                 case MACPOLICY_RANDOM:
                         if (!mac_is_random(device)) {
                                 r = get_mac(device, true, &generated_mac);
-                                if (r == -ENOENT)
+                                if (r == -ENOENT) {
+                                        log_warning_errno(r, "Could not generate random MAC address for %s: %m", old_name);
                                         break;
-                                else if (r < 0)
+                                else if (r < 0)
                                         return r;
                                 mac = &generated_mac;
                         }