vtnet cannot allocate interrupts

Neel Natu neelnatu at gmail.com
Wed Feb 13 03:34:13 UTC 2013


Hi Marat,

On Tue, Feb 12, 2013 at 1:35 AM, Marat Bakeev <hawara at 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 at hawara.com> wrote:
>>> 11.02.2013 22:34, Bryan Venteicher пишет:
>>>
>>>> Recent bhyve changed to use MSIX instead of MSI. I wonder if that
>>>> is causing this. If you do:
>>>>
>>>> $ BHYVE_USE_MSI=true 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="BHYVE"
>>> console="userboot"
>>> hw.pci.honor_msi_blacklist="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 at vm2:~ # uname -a
> FreeBSD vm2 10.0-CURRENT FreeBSD 10.0-CURRENT #0: Sat Dec  8 18:14:15
> PST 2012     root at bhyve:/usr/obj/usr/src/sys/GENERIC  amd64
> root at vm2:~ # ifconfig
> vtnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
> metric 0 mtu 1500
>         options=80028<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=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         media: Ethernet 1000baseT <full-duplex>
>         status: active
>
> Host system:
> [root at spark /usr/src]# ifconfig
> em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
> mtu 1500
>
> options=42098<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=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         media: Ethernet autoselect (1000baseT <full-duplex>)
>         status: active
>
> bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
>         ether 02:f3:6c:99:4a:00
>         nd6 options=29<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=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                 ifmaxaddr 0 port 4 priority 128 path cost 2000000
>         member: em0 flags=143<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=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric
> 0 mtu 1500
>         options=80000<LINKSTATE>
>         ether 00:bd:8c:3f:30:03
>         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         media: Ethernet autoselect
>         status: active
>         Opened by PID 63225
>
> [root at 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 at 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


More information about the freebsd-virtualization mailing list