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:
parent
14996e80d4
commit
ff0e1f4e5d
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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];
|
||||
|
Loading…
x
Reference in New Issue
Block a user