diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2007-08-02 23:54:10 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2007-08-02 23:54:10 +0200 |
commit | 56a8a8836d5d3955939c9cd0060d5ebdf00ddfc5 (patch) | |
tree | 2e33a80b312ee7f91a4f1b45d677b1fc385c5cb8 | |
parent | dcfa2acce30c0574bcec761b72cad4141da78e1b (diff) |
write changed network interface names to the kernel log
-rw-r--r-- | udev_device.c | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/udev_device.c b/udev_device.c index bbf7963afc..23ba313db3 100644 --- a/udev_device.c +++ b/udev_device.c @@ -78,6 +78,26 @@ dev_t udev_device_get_devt(struct udevice *udev) return makedev(0, 0); } +static void kernel_log(struct ifreq ifr) +{ + int klog; + FILE *f; + + klog = open("/dev/kmsg", O_WRONLY); + if (klog < 0) + return; + + f = fdopen(klog, "w"); + if (f == NULL) { + close(klog); + return; + } + + fprintf(f, "<6>udev: renamed network interface %s to %s\n", + ifr.ifr_name, ifr.ifr_newname); + fclose(f); +} + static int rename_netif(struct udevice *udev) { int sk; @@ -98,7 +118,9 @@ static int rename_netif(struct udevice *udev) strlcpy(ifr.ifr_name, udev->dev->kernel, IFNAMSIZ); strlcpy(ifr.ifr_newname, udev->name, IFNAMSIZ); retval = ioctl(sk, SIOCSIFNAME, &ifr); - if (retval != 0) { + if (retval == 0) + kernel_log(ifr); + else { int loop; /* see if the destination interface name already exists */ @@ -122,8 +144,10 @@ static int rename_netif(struct udevice *udev) loop = 30 * 20; while (loop--) { retval = ioctl(sk, SIOCSIFNAME, &ifr); - if (retval == 0) + if (retval == 0) { + kernel_log(ifr); break; + } if (errno != EEXIST) { err("error changing net interface name %s to %s: %s", |