- udev_rules_apply_to_event(rules, event);
- if (event->ignore_device) {
- info(event->udev, "device event will be ignored\n");
- goto exit;
- }
- if (event->name == NULL)
- goto exit;
-
- /* look if we want to change the name of the netif */
- if (strcmp(event->name, udev_device_get_sysname(dev)) != 0) {
- char syspath[UTIL_PATH_SIZE];
- char *pos;
-
- err = rename_netif(event);
- if (err != 0)
- goto exit;
- info(event->udev, "renamed netif to '%s'\n", event->name);
-
- /* remember old name */
- udev_device_add_property(dev, "INTERFACE_OLD", udev_device_get_sysname(dev));
-
- /* now change the devpath, because the kernel device name has changed */
- util_strscpy(syspath, sizeof(syspath), udev_device_get_syspath(dev));
- pos = strrchr(syspath, '/');
- if (pos != NULL) {
- pos++;
- util_strscpy(pos, sizeof(syspath) - (pos - syspath), event->name);
- udev_device_set_syspath(event->dev, syspath);
- udev_device_add_property(dev, "INTERFACE", udev_device_get_sysname(dev));
- info(event->udev, "changed devpath to '%s'\n", udev_device_get_devpath(dev));
+ /* no rule, use kernel provided name */
+ if (event->name == NULL) {
+ if (udev_device_get_knodename(dev) != NULL) {
+ event->name = strdup(udev_device_get_knodename(dev));
+ info(event->udev, "no node name set, will use kernel supplied name '%s'\n", event->name);
+ } else {
+ event->name = strdup(udev_device_get_sysname(event->dev));
+ info(event->udev, "no node name set, will use device name '%s'\n", event->name);
+ }