net-match: fix Driver= match

It should match on the driver of the parent device.
This commit is contained in:
Tom Gundersen 2014-02-18 22:06:49 +01:00
parent 11a7f22939
commit 9b1c2626ce
5 changed files with 6 additions and 5 deletions

1
TODO
View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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'",

View File

@ -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",