Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Feb 2013 19:34:12 -0800
From:      Neel Natu <neelnatu@gmail.com>
To:        Marat Bakeev <hawara@hawara.com>
Cc:        freebsd-virtualization@freebsd.org
Subject:   Re: vtnet cannot allocate interrupts
Message-ID:  <CAFgRE9EaDcbOAdn_x8FPkcT=eB=vGQsQJGBmonYKGuza60PCog@mail.gmail.com>
In-Reply-To: <511A0CDB.7090309@Hawara.com>
References:  <5118E47B.9020807@Hawara.com> <1399173350.4891.1360607669873.JavaMail.root@daemoninthecloset.org> <51193EED.2070004@hawara.com> <CAFgRE9FYxg5p7wODZCYELFokruNNKzrqsbqC%2BZMDuTZSdP8gaA@mail.gmail.com> <511A0CDB.7090309@Hawara.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Marat,

On Tue, Feb 12, 2013 at 1:35 AM, Marat Bakeev <hawara@hawara.com> wrote:
> On 12/02/2013 05:21, Neel Natu wrote:
>> Hi Marat,
>>
>> On Mon, Feb 11, 2013 at 10:56 AM, Marat Bakeev <hawara@hawara.com> wrote=
:
>>> 11.02.2013 22:34, Bryan Venteicher =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
>>>
>>>> Recent bhyve changed to use MSIX instead of MSI. I wonder if that
>>>> is causing this. If you do:
>>>>
>>>> $ BHYVE_USE_MSI=3Dtrue bhyve ...
>>>>
>>>> does it work?
>>>>
>>> No, it won`t work, but it seems i had msix disabled in loader.conf, as =
in
>>> example from here - http://www.emulsoft.com/bhyve-ufs.txt.
>>> I enabled msix, and the vtnet device is now loading fine.
>>>
>> Glad to hear.
>>
>>> Do I need other options in loader.conf, like these?:
>>>
>>> smbios.bios.vendor=3D"BHYVE"
>>> console=3D"userboot"
>>> hw.pci.honor_msi_blacklist=3D"0"
>>>
>> No, you don't need these anymore.
>>
>> Here is a simple set of instructions that should get you started:
>> http://people.freebsd.org/~neel/bhyve/bhyve_instructions.txt
>>
>> They do not have all the bells-and-whistles as some of the other
>> HOWTOs but it should get you a working VM in a short amount of time.
>>
>> best
>> Neel
>
>
> It seems it`s not really working :( I only tested 10-current guest, and
> only that it boots with vtnet device.
> The vtnet device appears, but i can`t get it to work - no packets come
> inside the guest.
>
> 10-CURRENT guest:
>
> root@vm2:~ # uname -a
> FreeBSD vm2 10.0-CURRENT FreeBSD 10.0-CURRENT #0: Sat Dec  8 18:14:15
> PST 2012     root@bhyve:/usr/obj/usr/src/sys/GENERIC  amd64
> root@vm2:~ # ifconfig
> vtnet0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
> metric 0 mtu 1500
>         options=3D80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
>         ether 00:a0:98:e0:a7:44
>         inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
>         inet6 fe80::2a0:98ff:fee0:a744%vtnet0 prefixlen 64 scopeid 0x1
>         nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         media: Ethernet 1000baseT <full-duplex>
>         status: active
>
> Host system:
> [root@spark /usr/src]# ifconfig
> em0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric =
0
> mtu 1500
>
> options=3D42098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWTSO>
>         ether 08:60:6e:44:5f:17
>         inet x.x.x.2 netmask 0xffffffe0 broadcast x.x.x..31
>         inet6 fe80::a60:6eff:fe44:5f17%em0 prefixlen 64 scopeid 0x1
>         inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
>         nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         media: Ethernet autoselect (1000baseT <full-duplex>)
>         status: active
>
> bridge0: flags=3D8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
>         ether 02:f3:6c:99:4a:00
>         nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
>         maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
>         root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0
>         member: tap3 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                 ifmaxaddr 0 port 4 priority 128 path cost 2000000
>         member: em0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                 ifmaxaddr 0 port 1 priority 128 path cost 20000

'bridge0' needs to be 'up'. Try doing 'ifconfig bridge0 up' and that
should get the packets flowing to the guest.

best
Neel

> tap3: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric
> 0 mtu 1500
>         options=3D80000<LINKSTATE>
>         ether 00:bd:8c:3f:30:03
>         nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         media: Ethernet autoselect
>         status: active
>         Opened by PID 63225
>
> [root@spark /usr/src]# ping 192.168.0.2
> PING 192.168.0.2 (192.168.0.2): 56 data bytes
> ping: sendto: Host is down
> ping: sendto: Host is down
> ping: sendto: Host is down
> ping: sendto: Host is down
>
> root@vm2:~ # ping 192.168.0.1
> PING 192.168.0.1 (192.168.0.1): 56 data bytes
> load: 0.00  cmd: ping 702 [select] 16.51r 0.00u 0.00s 0% 9888k
> 0/17 packets received (0.0%)
>
>
>
> After enabling msix - 9.1 guest won`t boot at all, it cannot attach vtblk=
:
>
> virtio_pci0: <VirtIO PCI Network adapter> port 0x2000-0x201f mem
> 0x40000000-0x40001fff at device 1.0 on pci0
> vtnet0: <VirtIO Networking Adapter> on virtio_pci0
> virtio_pci0: host features: 0x18020 <Status,MrgRxBuf,MacAddress>
> virtio_pci0: negotiated features: 0x18020 <Status,MrgRxBuf,MacAddress>
> virtio_pci0: cannot allocate interrupts
> vtnet0: cannot allocate virtqueues
> device_attach: vtnet0 attach returned 6
> virtio_pci1: <VirtIO PCI Block adapter> port 0x2040-0x207f at device 2.0
> on pci0
> vtblk0: <VirtIO Block Adapter> on virtio_pci1
> virtio_pci1: host features: 0x10000004 <RingIndirect,MaxNumSegs>
> virtio_pci1: negotiated features: 0x10000004 <RingIndirect,MaxNumSegs>
> virtio_pci1: cannot allocate interrupts
> vtblk0: cannot allocate virtqueue
> device_attach: vtblk0 attach returned 6
>
> If I run 9.1 with BHYVE_USE_MSI - vtblk works, but no vtnet device



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFgRE9EaDcbOAdn_x8FPkcT=eB=vGQsQJGBmonYKGuza60PCog>