summaryrefslogtreecommitdiff
path: root/src/udev
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2018-05-09 11:59:18 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2018-05-09 11:59:18 +0900
commite90d037411a1ef03196daf0bc97005776ae46aeb (patch)
treedfae495d427d5046211e27e2b4d01334343e90b2 /src/udev
parenta7533e3e483cd922d6c6314c395be38666884b21 (diff)
downloadsystemd-e90d037411a1ef03196daf0bc97005776ae46aeb.tar.gz
network,udev: make MACAddress= in [Match] section take multiple MAC addresses
Diffstat (limited to 'src/udev')
-rw-r--r--src/udev/net/link-config-gperf.gperf2
-rw-r--r--src/udev/net/link-config.c2
-rw-r--r--src/udev/net/link-config.h3
3 files changed, 4 insertions, 3 deletions
diff --git a/src/udev/net/link-config-gperf.gperf b/src/udev/net/link-config-gperf.gperf
index dee305f325..b984c1befc 100644
--- a/src/udev/net/link-config-gperf.gperf
+++ b/src/udev/net/link-config-gperf.gperf
@@ -19,7 +19,7 @@ struct ConfigPerfItem;
%struct-type
%includes
%%
-Match.MACAddress, config_parse_hwaddr, 0, offsetof(link_config, match_mac)
+Match.MACAddress, config_parse_hwaddrs, 0, offsetof(link_config, match_mac)
Match.OriginalName, config_parse_ifnames, 0, offsetof(link_config, match_name)
Match.Path, config_parse_strv, 0, offsetof(link_config, match_path)
Match.Driver, config_parse_strv, 0, offsetof(link_config, match_driver)
diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
index e33eae5421..2f7aa2f8d9 100644
--- a/src/udev/net/link-config.c
+++ b/src/udev/net/link-config.c
@@ -57,7 +57,7 @@ static void link_config_free(link_config *link) {
free(link->filename);
- free(link->match_mac);
+ set_free_free(link->match_mac);
strv_free(link->match_path);
strv_free(link->match_driver);
strv_free(link->match_type);
diff --git a/src/udev/net/link-config.h b/src/udev/net/link-config.h
index bedb80ea43..cbc532e340 100644
--- a/src/udev/net/link-config.h
+++ b/src/udev/net/link-config.h
@@ -12,6 +12,7 @@
#include "condition.h"
#include "ethtool-util.h"
#include "list.h"
+#include "set.h"
typedef struct link_config_ctx link_config_ctx;
typedef struct link_config link_config;
@@ -38,7 +39,7 @@ typedef enum NamePolicy {
struct link_config {
char *filename;
- struct ether_addr *match_mac;
+ Set *match_mac;
char **match_path;
char **match_driver;
char **match_type;