public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: unregister_netdevice: waiting for eth0 to become free
@ 2006-11-03 20:31 devzero
  2006-11-03 21:04 ` Stephen Hemminger
  0 siblings, 1 reply; 8+ messages in thread
From: devzero @ 2006-11-03 20:31 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: greearb, jesper.juhl, linux-kernel, linux-net, yoshfuji

>Vmware has there own pseudo ethernet device and unless you have the source for it.
>It would be hard to tell if it correctly manages itself.

VMware is able to emulate three different network card types:

- AMD Am79C970A - PCnet LANCE PCI Ethernet Controller (linux pcnet32 driver)
- Intel E1000 (e1000 driver)
- VMXNET - VMware PCI Ethernet Adapter (vmxnet, vmware`s own driver)

so there are 3 different drivers being used inside the guest OS for networking virtual machines.

rumours tell, that the vmxnet driver is sort of a mess, but i have seen the unregister_netdevice problem with pcnet32 AND with vmxnet - and all of the vmware readme`s are telling:

"In many Linux distributions, if IPv6 is enabled, VMware Tools cannot be configured with vmware-config-tools.pl after installation. In this case, VMware Tools is unable to set the network device correctly for the virtual machine, and displays a message similar to
Unloading pcnet32 module
unregister_netdevice: waiting for eth0 to become free"

so - this is the native linux driver for pcnet32 which fails get unloaded _before_ the driver being replaced by the vmware specific one and the virtual nic being switched to the VMXNET adapter.....

anyway - i got that problem while shutting down a VM, not while installing vmware tools.

btw - just came across this posting from jesper juhl:
http://marc.theaimsgroup.com/?l=linux-kernel&m=115703768804826&w=2

roland




> -----Ursprüngliche Nachricht-----
> Von: Stephen Hemminger <shemminger@osdl.org>
> Gesendet: 03.11.06 20:57:54
> An: "roland" <devzero@web.de>
> CC: <yoshfuji@linux-ipv6.org>, <linux-net@vger.kernel.org>,   <linux-kernel@vger.kernel.org>
> Betreff: Re: unregister_netdevice: waiting for eth0 to become free


> On Fri, 3 Nov 2006 20:53:09 +0100
> "roland" <devzero@web.de> wrote:
> 
> > > The ipv6 module cannot be unloaded once it has been
> > > loaded.
> > 
> > sorry,  i thought i could rmmod evey module which was insmod/modprobe'd 
> > before and i didn`t know that there are exceptions
> > 
> > > I'm not sure what is happened with vmware.
> > 
> > i think this is not completely related to vmware - but maybe this is being 
> > triggered more often by vmware ?
> > http://www.google.de/search?hl=de&q=%22unregister_netdevice%3A+waiting+for+eth0+to+become+free
> > 
> > it`s really strange, but after taking a look,  vmware seems to recommend 
> > disabling ipv6 for _every_ linux based guest OS in general:
> > http://pubs.vmware.com/guestnotes/wwhelp/wwhimpl/common/html/wwhelp.htm?context=gos_ww5_output&file=choose_install_guest_os.html
> > 
> > since there are already running millions of  linux based VMs in this world, 
> > i think this isn`t very good "promotion" for ipv6, if vmware recommending 
> > disabling it.
> > ok, there are not that much people already needing ipv6 NOW, but the later 
> > they are running it and the later outstanding bugs being fixed, the harder 
> > it will be to convert from ipv4 to ipv6....
> > 
> > roland
> > 
> > 
> 
> Vmware has there own pseudo ethernet device and unless you have the source for it.
> It would be hard to tell if it correctly manages itself.
> 
> 
> -- 
> Stephen Hemminger <shemminger@osdl.org>


______________________________________________________________________
XXL-Speicher, PC-Virenschutz, Spartarife & mehr: Nur im WEB.DE Club!		
Jetzt gratis testen! http://freemail.web.de/home/landingpad/?mc=021130


^ permalink raw reply	[flat|nested] 8+ messages in thread
* unregister_netdevice: waiting for eth0 to become free
@ 2006-11-03 18:18 roland
  2006-11-03 18:47 ` YOSHIFUJI Hideaki / 吉藤英明
  0 siblings, 1 reply; 8+ messages in thread
From: roland @ 2006-11-03 18:18 UTC (permalink / raw)
  To: linux-net; +Cc: linux-kernel

hi list,

I have come across a problem on a SLES8 (2.4 kernel based) system today.

getting "unregister_netdevice: waiting for eth0 to become free" on shutdown 
and the shutdown got stuck at this point. needed to do a hard reset to 
continue.

by some search via google/vmware-forum i found a hint very soon (this was 
for RedHat, but also worked with SLES)

------------------------------------------------
In many Linux distributions, if IPv6 is enabled, VMware Tools cannot be 
configured with vmware-config-tools.pl after installation. In this case,
VMware Tools is unable to set the network device correctly for the virtual 
machine, and displays a message similar to
Unloading pcnet32 module
unregister_netdevice: waiting for eth0 to become free
This message repeats continuously until you reboot the virtual machine. To 
prevent this problem in virtual machines running Linux, disable IPv6 before 
installing VMware Tools.
To disable IPv6 in a virtual machine running Linux:
1 If the file /etc/sysconfig/network contains the line NETWORKING_IPV6=yes, 
change the line to NETWORKING_IPV6=no.

2 In the file /etc/modules.conf, add the following lines:
alias ipv6 off
alias net-pf-10 off

After you disable IPv6, you should be able to install and configure VMware 
Tools successfully.
------------------------------------------------

this solved my shutdown problem.  (network driver wasn`t pcnet32 but vmxnet 
, which is a vmware specific network device)

anyway - i wondered about this "waiting to become free".
this is just a workaround, not a solution.
what if i needed to use ipv6 ?

before i disabled ipv6 (as it is being recommended) , i tried some manual 
steps to disable ipv6, but failed.

don`t have the sles8 here at home, but trying to disable ipv6 "manually" on 
a newer system gives a similar error:

vserver1:~ # rmmod ipv6
ERROR: Module ipv6 is in use by ip6t_REJECT
vserver1:~ # rmmod ip6t_REJECT
ERROR: Module ip6t_REJECT is in use

ok - rmmod telling me, that ip6t_REJECT is in use.

but - what/who is using it ?

i disabled all network services for which lsof had shown that they had an 
ipv6 socket open, i also did "ifconfig sit0 down", which seems to be a ipv6 
related network device, but still having ip6t_REJECT in use.

now my questions:

- how  can i determine what "component" (i.e. one of userspace app, device, 
kernel-thread....whatever) is using a module, so i`m able to unload that 
module ?
- is there sort of "lsof" for kernel modules ?
- what is causing the unregister_netdevice to fail ? is it an older bug 
which has been resolved in later kernels ?

i`m quite sure, that i have seen this issue in the past, more then once and 
not related to vmware.
so, this is why i`m reporting it here and asking for help

regards
roland 


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-11-03 21:42 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-03 20:31 unregister_netdevice: waiting for eth0 to become free devzero
2006-11-03 21:04 ` Stephen Hemminger
2006-11-03 21:43   ` roland
  -- strict thread matches above, loose matches on Subject: below --
2006-11-03 18:18 roland
2006-11-03 18:47 ` YOSHIFUJI Hideaki / 吉藤英明
2006-11-03 19:53   ` roland
2006-11-03 19:58     ` Stephen Hemminger
2006-11-03 20:13     ` YOSHIFUJI Hideaki / 吉藤英明

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox