Hi all,

       I am trying  to init lxc by libvirt instead of using lxc tools. I have several questions as following:
       
       software platform: integrating libvirt-0.10.1 to yocto based on sdk1.3
       hardwatre platform: p4080ds

 steps:

root@p4080ds:~#  cat > container.xml <<EOF
<domain type='lxc'>
<name>container</name>
<memory>500000</memory>
<os>
<type>exe</type>
<init>/bin/sh</init>
</os>
<vcpu>1</vcpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/libvirt_lxc</emulator>
<interface type='network'>
<source network='default'/>
</interface>
<console type='pty' />
</devices>
</domain>
<EOF

root@p4080ds:~#  libvirtd -d
 
root@p4080ds:~# virsh --connect lxc:/// define container.xml
Domain container defined from container.xml

root@p4080ds:~# virsh --connect lxc:/// start container
error: Failed to start domain container
error: internal error Network 'default' is not active.

To resolve this issue I change the container.xml to as below:

<domain type='lxc'>
<name>container</name>
<memory>500000</memory>
<os>
<type>exe</type>
<init>/bin/sh</init>
</os>
<vcpu>1</vcpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/libvirt_lxc</emulator>
<interface type='bridge'>
<source network='br0'/>
<mac address='00:11:22:34:34:34'/> (I am not sure it will make difference)
</interface>
<console type='pty' />
</devices>
</domain>

then error infos as below:
root@p4080ds:~# virsh --connect lxc:/// define container.xml
error: Failed to define domain from container.xml
error: internal error No <source> 'bridge' attribute specified with <interface type='bridge'/>


Q1: What an appropriate virtual network is supported by virsh  for error mentioned above? 
        Linux container support several types of network such as veth, vlan, macvlan, phys and how to edit different xml file for different network type?

Q2: There are two kinds of containers , application container and system container.
         If using lxc tools, lxc-execute will establish an application container and  lxc-create with lxc-start will establish a system container.
         So with libvirt how to set up these two kinds of containers? by different xml file or by different virsh cmds?

Q3: If I want to define a rootfs (such as busybox) for container how I edit the relative xml file? anyone has related infos that can be shared?

Q4:Cgroups manage and control  resources using for lxc containers. If use libvirt how to realise the similar resource tuning for containers  based on PowerPC?
       There are limited infos at: https://www.berrange.com/posts/2009/12/03/using-cgroups-with-libvirt-and-lxckvm-guests-in-fedora-12/

Regards,

Yuejuan