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