libvirt and bhyve problems

Willem Jan Withagen wjw at digiware.nl
Fri Jun 13 16:21:09 UTC 2014


On 2014-06-12 20:33, Craig Rodrigues wrote:
> On Thu, Jun 12, 2014 at 11:28 AM, Craig Rodrigues <rodrigc at freebsd.org> wrote:
>> On Thu, Jun 12, 2014 at 1:00 AM, Roman Bogorodskiy <novel at freebsd.org> wrote:
>>>
>>> http://people.freebsd.org/~novel/misc/libvirt_port_updated.tgz
>>>
>>> With this setup, I'm able to get networking (e.g. virsh net-list works)
>>> and updated the fix for the previous problem. I was able to start a VM
>>> with that setup.
>>
>>
>> I deleted the old port from my system and took your modified port,
>> built it, and installed it.
>>
>> I followed my previous steps in:
>> http://lists.freebsd.org/pipermail/freebsd-virtualization/2014-June/002588.html
>> and got this:
>>
>> 2014-06-12 18:23:54.328+0000: 34485605376: info : libvirt version: 1.2.5
>> 2014-06-12 18:23:54.328+0000: 34485605376: error :
>> dnsmasqCapsRefreshInternal:726 : Cannot check dnsmasq binary dnsmasq:
>> No such file or directory
>> 2014-06-12 18:23:54.328+0000: 34485605376: info :
>> networkReloadFirewallRules:1750 : Reloading iptables rules
>> 2014-06-12 18:23:54.328+0000: 34485605376: info :
>> networkRefreshDaemons:1722 : Refreshing network daemons
>> 2014-06-12 18:23:54.438+0000: 34485605376: error : virExec:417 :
>> Cannot find 'pm-is-supported' in path: No such file or directory
>> 2014-06-12 18:23:54.439+0000: 34485605376: warning :
>> virQEMUCapsInit:948 : Failed to get host power management capabilities
>> 2014-06-12 18:23:54.460+0000: 34485605376: info :
>> virDomainObjListLoadAllConfigs:18249 : Scanning for configs in
>> /usr/local/var/run/libvirt/qemu
>> 2014-06-12 18:23:54.461+0000: 34485605376: info :
>> virDomainObjListLoadAllConfigs:18249 : Scanning for configs in
>> /usr/local/etc/libvirt/qemu
>> 2014-06-12 18:23:54.560+0000: 34485605376: info :
>> virDomainObjListLoadAllConfigs:18249 : Scanning for configs in
>> /usr/local/etc/libvirt/bhyve
>> 2014-06-12 18:23:54.560+0000: 34485605376: info :
>> virDomainObjListLoadAllConfigs:18273 : Loading config file 'bhyve.xml'
>> 2014-06-12 18:24:17.940+0000: 34485598208: error :
>> virNetDevBridgeAddPort:399 : Unable to add bridge tap0 port vnet0:
>> Invalid argument
>> 2014-06-12 18:24:18.056+0000: 34485598208: error : virCommandWait:2426
>> : internal error: Child process (/usr/sbin/bhyvectl --destroy
>> --vm=bhyve) unexpected exit status 255
>>
>>
>> --
>> Craig
>
>
> After the program fails, these are my tap and bridge devices, as shown
> by ifconfig:
>
> bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>          ether 02:29:45:c7:8f:00
>          nd6 options=9<PERFORMNUD,IFDISABLED>
>          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 32768 ifcost 0 port 0
>          member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                  ifmaxaddr 0 port 1 priority 128 path cost 20000
>          member: tap2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                  ifmaxaddr 0 port 7 priority 128 path cost 2000000
>          member: tap1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                  ifmaxaddr 0 port 6 priority 128 path cost 2000000
>          member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                  ifmaxaddr 0 port 5 priority 128 path cost 2000000
> tap0: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
>          options=80000<LINKSTATE>
>          ether 00:bd:53:27:00:00
>          nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>          media: Ethernet autoselect
>          status: no carrier
> tap1: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu
> 1500
>          options=80000<LINKSTATE>
>          ether 00:bd:59:27:00:01
>          nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>          media: Ethernet autoselect
>          status: no carrier
> tap2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
> metric 0 mtu 1500
>          options=80000<LINKSTATE>
>          ether 00:bd:5e:27:00:02
>          nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>          media: Ethernet autoselect
>          status: active
>          Opened by PID 1506
> vnet0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
>          options=80000<LINKSTATE>
>          ether fe:54:00:33:20:8c
>          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
>          media: Ethernet autoselect
>          status: no carrier
>
>
> This is in my /etc/rc.conf for creating bridge and tap devices on bootup:
>
> #####################################################
> # Create tap devices, one tap interface per BHyve VM.
> # Add the tap interfaces to bridge0
> ####################################################
> cloned_interfaces="bridge0 tap0 tap1 tap2"
>
> autobridge_interfaces="bridge0"
> autobridge_bridge0="tap* em0"

I claim to know nothing about libvirt.....

But in my scripts I need to delay using the tap?? interfaces for 1-2 
secs with a sleep. Because otherwise my bhyve VM fails.
Could be the same here?

--WjW




More information about the freebsd-virtualization mailing list