Hello! martin f krafft <[EMAIL PROTECTED]> writes:
> also sprach Emilio Jesús Gallego Arias <[EMAIL PROTECTED]> [2006.01.18.1254 > +0100]: >> As far as I can tell, network interface names are given by the >> kernel and they've nothing to do with udev. >> >> To get a stable naming you should use some package like ifrename. > > ifrename is a hack and needed for 2.4 kernels only these days. udev As it has been pointed by Tomas Hood, udev is the same hack that ifrename of a custom nameif script and it is not race free. Indeed, some of the DEV_NET events are special-cased in half of udev due to not having a device file associated. A netif name is given in the kernel, udev only tries to rename it (as the other tools do): udev_add.c:287 } else if (udev->type == DEV_NET) { /* look if we want to change the name of the netif */ if (strcmp(udev->name, udev->kernel_name) != 0) { retval = rename_net_if(udev); if (retval != 0) goto exit; info("renamed netif to '%s'", udev->name); /* we've changed the name, now fake the devpath, cause the * original kernel name sleeps with the fishes and we don't * get an event from the kernel with the new name */ pos = strrchr(udev->devpath, '/'); if (pos != NULL) { pos[1] = '\0'; strlcat(udev->devpath, udev->name, sizeof(udev->devpath)); strlcpy(udev->kernel_name, udev->name, sizeof(udev->kernel_name)); setenv("DEVPATH", udev->devpath, 1); setenv("INTERFACE", udev->name, 1); } } With the current situation, upstream (kernel) support is needed to do the rename in a successfully way. You could retry the rename, but then you'd get into liveliness issues (you want eth0->eth1 and eth1->eth0, etc...). So I think that using other tools for the job is equally appropriate. I'll stop now as I really have no clue about udev and this has nothing to do with the original post. Regards, sorry for the noise and keep up the good work with Debian, Emilio -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]