[systemd-commits] src/shared src/udev

Tom Gundersen tomegun at kemper.freedesktop.org
Tue Nov 5 01:36:20 CET 2013


 src/shared/net-util.c      |   34 +++++++++++++++-------------------
 src/shared/net-util.h      |    9 ++++++---
 src/udev/net/link-config.c |    9 +++++++--
 3 files changed, 28 insertions(+), 24 deletions(-)

New commits:
commit b3e013148603aa670bc2c060ac63d48e54d76fc2
Author: Tom Gundersen <teg at jklm.no>
Date:   Tue Nov 5 01:35:26 2013 +0100

    net-util: don't use libudev
    
    Should fix linking with old toolchain.

diff --git a/src/shared/net-util.c b/src/shared/net-util.c
index c4cb333..f853add 100644
--- a/src/shared/net-util.c
+++ b/src/shared/net-util.c
@@ -33,52 +33,48 @@ bool net_match_config(const struct ether_addr *match_mac,
                       const char *match_driver,
                       const char *match_type,
                       const char *match_name,
-                      struct udev_device *device) {
-        const char *property;
-
-        assert(device);
+                      const char *dev_mac,
+                      const char *dev_path,
+                      const char *dev_driver,
+                      const char *dev_type,
+                      const char *dev_name) {
 
         if (match_mac) {
-                property = udev_device_get_sysattr_value(device, "address");
-                if (!property || memcmp(match_mac, ether_aton(property), ETH_ALEN)) {
+                if (!dev_mac || memcmp(match_mac, ether_aton(dev_mac), ETH_ALEN)) {
                         log_debug("Interface MAC address (%s) did not match MACAddress=%s",
-                                  property, ether_ntoa(match_mac));
+                                  dev_mac, ether_ntoa(match_mac));
                         return 0;
                 }
         }
 
         if (match_path) {
-                property = udev_device_get_property_value(device, "ID_PATH");
-                if (!streq_ptr(match_path, property)) {
+                if (!streq_ptr(match_path, dev_path)) {
                         log_debug("Interface persistent path (%s) did not match Path=%s",
-                                  property, match_path);
+                                  dev_path, match_path);
                         return 0;
                 }
         }
 
         if (match_driver) {
-                property = udev_device_get_driver(device);
-                if (!streq_ptr(match_driver, property)) {
+                if (!streq_ptr(match_driver, dev_driver)) {
                         log_debug("Interface device driver (%s) did not match Driver=%s",
-                                  property, match_driver);
+                                  dev_driver, match_driver);
                         return 0;
                 }
         }
 
         if (match_type) {
-                property = udev_device_get_devtype(device);
-                if (!streq_ptr(match_type, property)) {
+                if (!streq_ptr(match_type, dev_type)) {
                         log_debug("Interface type (%s) did not match Type=%s",
-                                  property, match_type);
+                                  dev_type, match_type);
                         return 0;
                 }
         }
 
         if (match_name) {
-                property = udev_device_get_sysname(device);
-                if (!streq_ptr(match_name, property)) {
+                if (!streq_ptr(match_name, dev_name)) {
                         log_debug("Interface name (%s) did not match Name=%s",
-                                  property, match_name);
+                                  dev_name, match_name);
                         return 0;
                 }
         }
diff --git a/src/shared/net-util.h b/src/shared/net-util.h
index 6b79a9c..5498172 100644
--- a/src/shared/net-util.h
+++ b/src/shared/net-util.h
@@ -22,15 +22,18 @@
 #pragma once
 
 #include <netinet/ether.h>
-
-#include "udev.h"
+#include <stdbool.h>
 
 bool net_match_config(const struct ether_addr *match_mac,
                       const char *match_path,
                       const char *match_driver,
                       const char *match_type,
                       const char *match_name,
-                      struct udev_device *device);
+                      const char *dev_mac,
+                      const char *dev_path,
+                      const char *dev_driver,
+                      const char *dev_type,
+                      const char *dev_name);
 
 int config_parse_hwaddr(const char *unit, const char *filename, unsigned line,
                         const char *section, const char *lvalue, int ltype,
diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
index d930afc..9d0f236 100644
--- a/src/udev/net/link-config.c
+++ b/src/udev/net/link-config.c
@@ -245,9 +245,14 @@ int link_config_get(link_config_ctx *ctx, struct udev_device *device, link_confi
         link_config *link;
 
         LIST_FOREACH(links, link, ctx->links) {
+
                 if (net_match_config(link->match_mac, link->match_path,
-                                     link->match_driver, link->match_type,
-                                     NULL, device)) {
+                                     link->match_driver, link->match_type, NULL,
+                                     udev_device_get_sysattr_value(device, "address"),
+                                     udev_device_get_property_value(device, "ID_PATH"),
+                                     udev_device_get_driver(device),
+                                     udev_device_get_devtype(device),
+                                     NULL)) {
                         log_debug("Config file %s applies to device %s",
                                   link->filename,
                                   udev_device_get_sysname(device));



More information about the systemd-commits mailing list