1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-21 02:50:18 +03:00

check ifindex > 0 instead of subsystem == "net"

This commit is contained in:
Kay Sievers 2010-12-14 11:27:02 +01:00
parent 14996e80d4
commit ff0e1f4e5d
3 changed files with 5 additions and 3 deletions

View File

@ -1287,7 +1287,7 @@ const char *udev_device_get_id_filename(struct udev_device *udev_device)
major(udev_device_get_devnum(udev_device)),
minor(udev_device_get_devnum(udev_device))) < 0)
udev_device->id_filename = NULL;
} else if (strcmp(udev_device_get_subsystem(udev_device), "net") == 0) {
} else if (udev_device_get_ifindex(udev_device) > 0) {
/* use netdev ifindex -- n3 */
if (asprintf(&udev_device->id_filename, "n%u", udev_device_get_ifindex(udev_device)) < 0)
udev_device->id_filename = NULL;
@ -1582,6 +1582,8 @@ int udev_device_set_watch_handle(struct udev_device *udev_device, int handle)
int udev_device_get_ifindex(struct udev_device *udev_device)
{
if (!udev_device->info_loaded)
udev_device_read_uevent_file(udev_device);
return udev_device->ifindex;
}

View File

@ -564,7 +564,7 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules)
udev_rules_apply_to_event(rules, event);
/* rename a new network interface, if needed */
if (strcmp(udev_device_get_subsystem(dev), "net") == 0 && strcmp(udev_device_get_action(dev), "add") == 0 &&
if (udev_device_get_ifindex(dev) > 0 && strcmp(udev_device_get_action(dev), "add") == 0 &&
event->name != NULL && strcmp(event->name, udev_device_get_sysname(dev)) != 0) {
char syspath[UTIL_PATH_SIZE];
char *pos;

View File

@ -2080,7 +2080,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
can_set_name = ((strcmp(udev_device_get_action(event->dev), "remove") != 0) &&
(major(udev_device_get_devnum(event->dev)) > 0 ||
strcmp(udev_device_get_subsystem(event->dev), "net") == 0));
udev_device_get_ifindex(event->dev) > 0));
/* loop through token list, match, run actions or forward to next rule */
cur = &rules->tokens[0];