VERR_INTNET_FLT_IF_BUSY problem

Discussions related to using VirtualBox on Solaris hosts.
Post Reply
plk
Posts: 5
Joined: 9. Mar 2011, 11:20
Primary OS: Solaris
VBox Version: OSE other
Guest OSses: WinXP, linux

VERR_INTNET_FLT_IF_BUSY problem

Post by plk »

I have five VMs of various OSes, which started out on VB 3.x and have been progressively upgraded to 4.1.2 with no problems at all. Yesterday, one windows VM died when saving state and corrupted the vmdk and I had to restore from backup. This was ok until I rebooted this VM and then it would not start with

VERR_INTNET_FLT_IF_BUSY

on the bridged interface. All other VMs use the same network interface and are bridged - they have no problems, they all reboot fine and work. Just this one VM refuses now to use the bridged adapter. I have:

* Tried it with NAT, it works
* rebooted the VB host and reinstalled VBOX (in fact, upgraded to 4.1.2 from 4.1.0), made no difference

It's just this one VM which refuses to use the bridged adapter. I have to use bridged, can't use NAT.

Any ideas?
plk
Posts: 5
Joined: 9. Mar 2011, 11:20
Primary OS: Solaris
VBox Version: OSE other
Guest OSses: WinXP, linux

Re: VERR_INTNET_FLT_IF_BUSY problem

Post by plk »

Seems that some setting changed in a Vbox upgrade - I had to add this to the .vbox files:

<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/RestrictAccess" value="0"/>

to allow multiple VMs to use the same bridged adapter. Strange that it worked for so long without this ...
plk
Posts: 5
Joined: 9. Mar 2011, 11:20
Primary OS: Solaris
VBox Version: OSE other
Guest OSses: WinXP, linux

Re: VERR_INTNET_FLT_IF_BUSY problem

Post by plk »

Another note to people who have this issue. In fact I had to use VboxManage to add this setting as in some cases, it was just removed from the .vbox XML file on boot for some reason:

VBoxManage setextradata <vmname> VBoxInternal/Devices/pcnet/0/LUN#0/Config/RestrictAccess 0

I also found that the driver name ("pcnet") above depends on the driver you choose for the network card in the VM setup. It's not obvious to me how to determine this but the PCNET cards are obvious (same name in the GUI) but the Intel cards are not so obvious. I had two VMs with the Intel MT driver and this setting doesn't seem to match them:

VBoxManage setextradata <vmname> VBoxInternal/Devices/e1000/0/LUN#0/Config/RestrictAccess 0

I had to change the driver to the "Intel Pro/1000 T Server" driver to make it match this setting. In two cases of VMs which already had this driver selected, I had to *re*-select it to make this setting match and then the error went away.
Ramshankar
Oracle Corporation
Posts: 793
Joined: 7. Jan 2008, 16:17

Re: VERR_INTNET_FLT_IF_BUSY problem

Post by Ramshankar »

This should only be required for using the network interface for VMs started by different users.
Oracle Corp.
zdinu
Posts: 13
Joined: 14. Feb 2012, 16:51

Re: VERR_INTNET_FLT_IF_BUSY problem

Post by zdinu »

Hello,

I have the same problem. I tried with 3.2.14 and 4.x versions. I'm using Opensolaris 5.11 oi_151a.

The problem occurs only when setting up the VM using VBoxManage CLI. The error does not behaves when using VirtualBox GUI. I can easily start VirtualBox GUI after doing all the manual work with VBoxManage and once I select the VM and hit "save" without doing anything else then once I stop VirtualBox GUI and start the VM using VBoxManage it works.

The problem is that using VBoxManage CLI alone (without doing any work with GUI) it fails with VERR_INTNET_FLT_IF_BUSY.

I tried to add the extra parameter like above post but that didn't fix it.

Also, I noticed that if I do a manual edit using a text editor on the xml config file then that setting is not preserved once I try to run the VM with VBoxManage. For some reason, the xml config reverts back. Is VirtualBox keeping the VM settings in memory or in other configuration file ?

Thank you,
Dinu
zdinu
Posts: 13
Joined: 14. Feb 2012, 16:51

Re: VERR_INTNET_FLT_IF_BUSY problem

Post by zdinu »

I found a fix for the VERR_INTNET_FLT_IF_BUSY problem.

Choosing the bridgeadapter is the key of fixing this.

If you do VBoxManage modifyvm <vm_name> --bridgeadapter1 igb0 is not good.
The good way to do this is to put the whole interface name such as:

VBoxManage modifyvm <vm_name> --bridgeadapter1 "igb0 - Intel 82575 PCI-E Gigabit Ethernet"

Replace the string with the one you find in VirtualBox GUI for the full name of your network adapter.

Still, I'm wondering why doing a manual edit with a text editor on the xml configuration file is not kept but overwritten when the VM is starting.
Ramshankar
Oracle Corporation
Posts: 793
Joined: 7. Jan 2008, 16:17

Re: VERR_INTNET_FLT_IF_BUSY problem

Post by Ramshankar »

:) How strange, I had just fixed this issue on Feb 9th (5 days ago) and it has not yet showed up in OSE public SVN. Yes it's indeed a bug that dates back to 3.2. I bumped into it myself and that lead to investigating and fixing it.

Yes the current workaround is to name all the interfaces the same. The description is optional, i.e. if you have multiple NICs they should all be "igb0" or "igb0 - blah blah" uniformly. One cannot be "igb0" and another "igb0 - ethernet", that wouldn't work. I've fixed this, will probably consider backporting it to 4.1. This issue should also affect Darwin (OS X) hosts as it too has descriptions for NICs.

So you can do:

Code: Select all

VBoxManage modifyvm <vm_name> -- bridgeadapter1 "igb0"
VBoxManage modifyvm <vm_name> -- bridgeadapter2 "igb0"
...
VBoxManage modifyvm <vm_name> -- bridgeadapterX "igb0"
thus skipping the description for now as a workaround.

Anyway good that you found the issue as well and thanks for reporting it, we decided not to backport this fix unless someone complains about it... so now we might just backport it after all.
Oracle Corp.
Ramshankar
Oracle Corporation
Posts: 793
Joined: 7. Jan 2008, 16:17

Re: VERR_INTNET_FLT_IF_BUSY problem

Post by Ramshankar »

zdinu wrote:Still, I'm wondering why doing a manual edit with a text editor on the xml configuration file is not kept but overwritten when the VM is starting.
Never overwrite the XML file when VBoxSVC is running, it'll overwrite it again. In general don't edit the XML file yourself, just use VBoxManage or other VirtualBox frontends that manipulate and synchronize it.
Oracle Corp.
Post Reply