[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] Relax requirement of bridge source device

Daniel P. Berrange wrote:
> On Wed, Nov 19, 2008 at 11:20:08PM -0700, Jim Fehlig wrote:
>> Hi All,
>> I wanted to get folks thoughts on relaxing the requirement for bridge 
>> source device in network interface of domain XML, e.g. allowing
>>    <interface type="bridge">
>>      <mac address="aa:bb:cc:cc:ee:ff"/>
>>    </interface>
>> Currently, virDomainNetDefParseXML() in src/domain_conf.c will fail such 
>> configuration.  Since this is common code between backends I'm not sure 
>> how allowing this config will affect the various virtualizers.
>> Xen's vif-bridge script will try to find a bridge if one is not 
>> specified, which perhaps is dubious behavior, but nonetheless convenient 
>> in migration scenarios where the target host may have a different bridge 
>> name (br1 vs br0 for example).  IIRC, qemu's qemu-ifup script is not as 
>> forgiving in the absence of a bridge name.
> I don't particularly like this idea. While letting it automatically
> pick the bridge devices may happen to work in some cases, it'll 
> quietly go wrong horribly in other scenarios. Xen's vif-bridge 
> has caused real bugs through this behaviour even on a single machine.
> eg, its happily automatically picking br0 for months, then someone
> adds a new completely unrelated bridge to the machin, say br4, and
> the next reboot vif-bridge suddenly decides it prefers br4 for your
> guest.

Yep, have seen this behavior when leaving source unspecified.

>    I think it is not unreasonable in the case of migraiton to
> require that the bridge names are configured the same on source and
> destination machine, and explicitly including bridge names will let
> apps using libvirt query the source & destination host before doing
> migraiton and verify that br0 on the source is configured to use the
> same network as br0 on the destination.

Agreed.  Thanks for the feedback Daniel.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]