summaryrefslogtreecommitdiff
path: root/src/udev
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2014-02-21 14:51:19 +0100
committerTom Gundersen <teg@jklm.no>2014-02-21 16:05:02 +0100
commitedbb03e95a3c31bf719d5c6c46eec14d0bcb9c8f (patch)
tree5f9756ff846f5ed38cea48e5f5060376ed11b769 /src/udev
parent7a243b22041595a0c7e0dffb3ef5e2158dde933f (diff)
.network/.netdev/.link: allow to match on architecture
Diffstat (limited to 'src/udev')
-rw-r--r--src/udev/net/link-config-gperf.gperf1
-rw-r--r--src/udev/net/link-config.c6
-rw-r--r--src/udev/net/link-config.h1
3 files changed, 5 insertions, 3 deletions
diff --git a/src/udev/net/link-config-gperf.gperf b/src/udev/net/link-config-gperf.gperf
index ffc1b27a1d..277ceb5386 100644
--- a/src/udev/net/link-config-gperf.gperf
+++ b/src/udev/net/link-config-gperf.gperf
@@ -23,6 +23,7 @@ Match.Type, config_parse_string, 0,
Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(link_config, match_host)
Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(link_config, match_virt)
Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(link_config, match_kernel)
+Match.Architecture, config_parse_net_condition, CONDITION_ARCHITECTURE, offsetof(link_config, match_arch)
Link.Description, config_parse_string, 0, offsetof(link_config, description)
Link.MACAddressPolicy, config_parse_mac_policy, 0, offsetof(link_config, mac_policy)
Link.MACAddress, config_parse_hwaddr, 0, offsetof(link_config, mac)
diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
index 15bea4f4ca..e8389c9be0 100644
--- a/src/udev/net/link-config.c
+++ b/src/udev/net/link-config.c
@@ -240,9 +240,9 @@ int link_config_get(link_config_ctx *ctx, struct udev_device *device, link_confi
LIST_FOREACH(links, link, ctx->links) {
- if (net_match_config(link->match_mac, link->match_path,
- link->match_driver, link->match_type, NULL,
- link->match_host, link->match_virt, link->match_kernel,
+ if (net_match_config(link->match_mac, link->match_path, link->match_driver,
+ link->match_type, NULL, link->match_host,
+ link->match_virt, link->match_kernel, link->match_arch,
udev_device_get_sysattr_value(device, "address"),
udev_device_get_property_value(device, "ID_PATH"),
udev_device_get_driver(udev_device_get_parent(device)),
diff --git a/src/udev/net/link-config.h b/src/udev/net/link-config.h
index 0dc156d401..9d2eaff37c 100644
--- a/src/udev/net/link-config.h
+++ b/src/udev/net/link-config.h
@@ -58,6 +58,7 @@ struct link_config {
Condition *match_host;
Condition *match_virt;
Condition *match_kernel;
+ Condition *match_arch;
char *description;
struct ether_addr *mac;