diff options
author | Tom Gundersen <teg@jklm.no> | 2014-02-18 22:06:49 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-02-18 22:34:26 +0100 |
commit | 9b1c2626cef16722603bded9bb52033aba34dd74 (patch) | |
tree | f0fd71d1ef7144ca0aefe7aa139cc8958963e691 | |
parent | 11a7f22939d21558df919cab44b8fbe36ab5dae0 (diff) |
net-match: fix Driver= match
It should match on the driver of the parent device.
-rw-r--r-- | TODO | 1 | ||||
-rw-r--r-- | man/systemd-networkd.service.xml | 3 | ||||
-rw-r--r-- | man/udev.xml | 3 | ||||
-rw-r--r-- | src/network/networkd-network.c | 2 | ||||
-rw-r--r-- | src/udev/net/link-config.c | 2 |
5 files changed, 6 insertions, 5 deletions
@@ -639,7 +639,6 @@ Features: - Make sure ID_PATH is always exported and complete for network devices where possible, so we can safely rely on Path= matching - - Check if Driver= is broken, or just my driver (bcma) * sd-rtnl: - add support for exiting containers without reading them fully first diff --git a/man/systemd-networkd.service.xml b/man/systemd-networkd.service.xml index 9c7ca83438..04fedc56d0 100644 --- a/man/systemd-networkd.service.xml +++ b/man/systemd-networkd.service.xml @@ -165,7 +165,8 @@ <term><varname>Driver</varname></term> <listitem> <para>The driver currently bound to the device, as - exposed by the udev property <literal>DRIVER</literal>. + exposed by the udev property <literal>DRIVER</literal> + of its parent device. </para> </listitem> </varlistentry> diff --git a/man/udev.xml b/man/udev.xml index 54a2dd33dd..eab5d25f0a 100644 --- a/man/udev.xml +++ b/man/udev.xml @@ -805,7 +805,8 @@ <varlistentry> <term><varname>Driver</varname></term> <listitem> - <para>The driver currently bound to the device, as exposed by the udev property <literal>DRIVER</literal>.</para> + <para>The driver currently bound to the device, as exposed by the + udev property <literal>DRIVER</literal> of its parent device.</para> </listitem> </varlistentry> <varlistentry> diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 48131c1f09..a470c22e3d 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -178,7 +178,7 @@ int network_get(Manager *manager, struct udev_device *device, Network **ret) { network->match_name, udev_device_get_sysattr_value(device, "address"), udev_device_get_property_value(device, "ID_PATH"), - udev_device_get_driver(device), + udev_device_get_driver(udev_device_get_parent(device)), udev_device_get_devtype(device), udev_device_get_sysname(device))) { log_debug("%s: found matching network '%s'", diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index bd97cd8cf8..3afaff10c8 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -244,7 +244,7 @@ int link_config_get(link_config_ctx *ctx, struct udev_device *device, link_confi 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_driver(udev_device_get_parent(device)), udev_device_get_devtype(device), NULL)) { log_debug("Config file %s applies to device %s", |