after the upgrade to udev 114 my eth0 doens't exist anymore, but eth1 does. after each reboot the previous eth* is replaced by eth+1 !! it's seem that the udev rule 75-persistent-net-generator.rules addes a new ligne in 70-persistent-net.rules Reproducible: Always Steps to Reproduce: 1. reboot 2. eth0 doens't load but eth1 does 3. rebbot 4. eth0 or eth1 doens't load but eth2 does .... Actual Results: the 70-persistent-net.rules : # net device () SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:0c:29:91:64:a8", NAME="eth0" # net device () SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:0c:29:91:64:a8", NAME="eth1" # net device () SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:0c:29:91:64:a8", NAME="eth2" Expected Results: the 70-persistent-net.rules : # net device () SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:0c:29:91:64:a8", NAME="eth0" if you suppress 75-persistent-net-generator.rules and 70-persistent-net.rules all is workig well with MY configuration.
Created attachment 128213 [details] my definition of my vm I'm using the vmwxet driver, as my VMs are tested in a vmware server 1.0.3 but in production they are running on a vmwre esx.
Portage 2.1.2.11 (default-linux/x86/2007.0/server, gcc-4.1.2, glibc-2.5-r4, 2.6.22-gentoo-r2 i686) ================================================================= System uname: 2.6.22-gentoo-r2 i686 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System release 1.12.9 Timestamp of tree: Wed, 15 Aug 2007 16:50:01 +0000 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r6 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://mir1.ovh.net/gentoo-distfiles/ http://pandemonium.tiscali.de/pub/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/" LANG="fr_FR.UTF-8" LC_ALL="fr_FR.UTF-8" LINGUAS="fr" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/vmware" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="berkdb bitmap-fonts cli cracklib crypt cups dri fortran gdbm gpm iconv isdnlog ldap logrotate mailwrapper midi mudflap mysql ncurses nls nptl nptlonly oci8-instant-client openmp pam pcre perl pppd python readline reflection session snmp spl ssl tcpd truetype truetype-fonts type1-fonts unicode vhosts x86 xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Don't see vmware-server-tools anywhere, is this some overlay? What rules does it install?
It's comming from the vmware overlay it doesn't add any rule (compared to a similar real PC) Regards
Since vmware-server-tools appears to be giving out the same MAC address every time, it would appear that this is a problem with udev, rather than with vmware-server-tools, surely? The only thing I can think of is that it isn't passing back the correct DRIVER and so it's being recreated. However, I'd still hope that udev wouldn't continually recreate identical lines with different names... I'm reassigning this to the udev guys, because I don't think I can help out. Feel free to CC/reassign back to me if it turns out I can in any way... 5:)
base-system != udev
Maybe someone could post the udev rules that vmware-server-tools installs here, as already requested once?
see comment #4. Wmware doesn't add any udev rule.
Yeah, I also guess it must be the problem, that the device has no value set for DRIVERS (meaning missing symlink in sysfs). Can you please attach output of udevinfo -a -p /sys/class/net/eth? Maybe we can use another test instead of DRIVERS="?*" to detect real interfaces / compared to virtual stuff.
Just realized I mis-assigned this bug. Base-system is down as the herd in metadata.xml, perhaps it could be updated to udev-bugs or something similar?
the result is : gentoo-vm-std ~ # udevinfo -a -p /sys/class/net/eth? Udevinfo starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/devices/virtual/net/eth0': KERNEL=="eth0" SUBSYSTEM=="net" DRIVER=="" ATTR{weight}=="0" ATTR{tx_queue_len}=="1000" ATTR{flags}=="0x1003" ATTR{mtu}=="1500" ATTR{operstate}=="unknown" ATTR{dormant}=="0" ATTR{carrier}=="1" ATTR{broadcast}=="ff:ff:ff:ff:ff:ff" ATTR{address}=="00:0c:29:91:64:a8" ATTR{link_mode}=="0" ATTR{type}=="1" ATTR{features}=="0x0" ATTR{ifindex}=="2" ATTR{iflink}=="2" ATTR{addr_len}=="6" looking at parent device '/devices/virtual/net': KERNELS=="net" SUBSYSTEMS=="" DRIVERS=="" looking at parent device '/devices/virtual': KERNELS=="virtual" SUBSYSTEMS=="" DRIVERS==""
As suggested in this mail: http://article.gmane.org/gmane.linux.hotplug.devel/11833 Could you try changing line 30 in /etc/udev/rules.d/75-persistent-net-generator.rules to be like this: DRIVERS=="?*", ENV{NETDEV}!="?*", IMPORT{program}="write_net_rules $attr{address}" The difference is the "==" after DRIVERS. Then delete your 70-persistent-net.rules, and retry.
It seems to work ! It don't generate any 70-persistent-net.rules (After many reboot) Serge
Added udev-114-r2 which contains this fix.
*** Bug 190692 has been marked as a duplicate of this bug. ***