[libvirt] xml format for openvz driver

Evgeniy Sokolov evg at openvz.org
Thu Jul 24 07:48:16 UTC 2008


I just want to summarize
XML for OpenVZ will looks like

<domain type='openvz'>
         <name>209</name>
         <uuid>8dea22b31d52d8f32516782e98ab8fa0</uuid>
         <devices>
                 <filesystem type="template">
                         <source name="fedora-core-5-i386" />
                         <quota type="size" max="10000"/>
                         <quota type="inodes" max="200000"/>
                 </filesystem>

                 <interface type='bridge'> //for bridge
	                <source bridge='eth10'/>
                         <mac address='00:16:3e:5d:c7:9e'/>
                 </interface>

                 <interface type='bridge'> //for NAT
	                 <source bridge='eth11'/>
	                 <target type='network'>
                                  <source network='default'/>
                          </target>
                 </interface>

                 <interface type='network'> //for phisical device
	                 <host class='network' dev='eth1'/>
                 </interface>

                 <interface type='route'> //for routing network
	                 <mac address='00:16:3e:34:21:9e'/>
                          <ip address="192.168.122.1" />
                          <ip address="192.168.122.15" />
                 </interface>

         </devices>
</domain>

Please, correct if it is necessary.

> On Wed, Jul 23, 2008 at 01:33:25PM +0400, Evgeniy Sokolov wrote:
>>> On Tue, Jul 22, 2008 at 08:41:36PM +0400, Evgeniy Sokolov wrote:
>>>>>> For tag domain/devices/interface:
>>>>>> How to describe, if want to add ip addresses for routing network?
>>>>> We'll probably want todo something based on <interface type='ethernet'
>>>>> which is a generic catch all config.
>>>>>
>>>>> Does OpenVZ support bridging, or NAT for containers ?
>>>> bridging is supported.
>>>> NAT can be configured via iptables.
>>> If it supports bridging that is sufficient. The libvirt networking
>>> APIs, allow us to implement NAT for any VM in terms of the generic
>>> bridge support. Basically libvirt creates a bridge device 'virbr0'
>>> and sets up NAT rules for that device. A guest VM simply needs to
>>> be connected to virbr0, and then NAT automagically works for it.
>> Do I correctly undertand? For NAT we shoud use tag "interface" with type
>> "bridge" and
>> <target dev="virbr0" />
> 
> No, you'd have something like
> 
> 
>    <target type='network'>
>       <source network='default'/>
>    </target>
> 
> And inside your driver you will call  virNetworkLookupByName(...)
> and then virNetworkGetBridge() to find the actual bridge device name.
> Take a look at the QEMU driver 's qemudNetworkIfaceConnect() method
> and how it deals with VIR_DOMAIN_NET_TYPE_NETWORK vs the alternative
> VIR_DOMAIN_NET_TYPE_BRIDGE
> 
> Regards,
> Daniel




More information about the libvir-list mailing list