On 10/28/2016 05:30 PM, Michal Privoznik wrote:> On 28.10.2016 14:17, Anton Gorlov wrote:
>> 28.10.2016 23:32, Michal Privoznik пишет:
>>
>>
>> On my host node i using system created bridge. example
>>
>> brctl show br1
>> bridge name bridge id STP enabled interfaces
>> br1 8000.0025907925d3 no eth1
>> vnet0
>> vnet2
>> vnet3
>>
>> vnetN - guest net adapter, It added to bridge at guest's node
started.
>>
>> bridge defined as
>> =>> <network>
>> <name>internal</name>
>> <forward mode="bridge"/>
>> <bridge name="br1"/>
>> </network>
>> =>>
>> But in guest config xml vnet[0-3] nod defined
>> ==>> <interface type='network'>
>> <mac address='52:54:00:b3:b0:47'/>
>> <source network='internal'/>
>> <model type='virtio'/>
>> <address type='pci' domain='0x0000'
bus='0x00' slot='0x03'
>> function='0x0'/>
>> </interface>
>> ==> Sure. As I said - it is allocated at domain start up phase.
Because
> that's when we know what's the next free device (or name that we
can use
> for the device). If you start the domain, with your configuration
> libvirt will create vnetX and plug it into br1. Essentially, target
> device is runtime information, thus not present in config XML.
... but *is* in the status xml (i.e. the output of "visrh dumpxml
$domain" while the domain is running, and also the xml provided on stdin
to the qemu and network hooks when they are called).
(also, what Vincent said in his email - names with the prefix "vnet"
are
assumed to be "leftover" from a previous instance of the domain (for
better or worse) an replaced with an autogenerated name. But if you
supply a name that doesn't start with "vnet", it will be used).