vtnet cannot allocate interrupts

Marat Bakeev hawara at Hawara.com
Tue Feb 12 09:35:27 UTC 2013


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
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