>>>> "Daniel P. Berrange" <berrange@redhat.com> 2015-2-4 下午 23:10 >>>
>On Wed, Feb 04, 2015 at 02:21:18AM -0500, Laine Stump wrote:
>> On 02/03/2015 11:47 AM, Michal Privoznik wrote:
>> > On 02.02.2015 15:08, Lin Ma wrote:
>> >> * Get the live state info of a virtual network through netcf in networkGetXMLDesc.
>> >> * Add --system flag for net-dumpxml to show the live state info.
>> >> * Check the live state info in net-destroy.
>> >> * Add --force flag for net-destroy to forcibly destroy the virtual network.
>> >> * Check the transient interfaces info in iface-unbridge.
>> >>
>> >> ---
>> >> Lin Ma (3):
>> >> bridge_driver: Return the live state info of a given virtual network
>> >> virsh: prevent destroying a in-used network for net-destroy
>> >> virsh: prevent removing a in-used bridge for iface-unbridge
>> >>
>> >> include/libvirt/libvirt-network.h | 1 +
>> >> src/Makefile.am | 3 +
>> >> src/network/bridge_driver.c | 141 ++++++++++++++++++++++++++++++++++-
>> >> src/network/bridge_driver_platform.h | 7 ++
>> >> tests/Makefile.am | 4 +
>> >> tools/virsh-interface.c | 25 ++++++-
>> >> tools/virsh-network.c | 62 ++++++++++++++-
>> >> tools/virsh.pod | 8 +-
>> >> 8 files changed, 241 insertions(+), 10 deletions(-)
>> >>
>> > So I've spent some time thinking about this. I don't really like the
>> > idea of producing completely different XML (it doesn't even have
>> > as its root element!). But I see what you're trying to
>> > achieve. How about putting the bridged interfaces into the network
>> > definition (on request signalized by a flag, of course).
>>
>> I think that if we're going to add the list of connected guest devices
>> to a network's status, that it should just always be there - adding a
>> new flag for every little bit of different status sets a bad precedent
>> and sets us up to have an infinitely increasing number of flags.
>>
>> Like I mentioned in my response to one of the patches, I think this
>> information is better gathered and maintained by the bridge driver as
>> guests connect to / disconnect from a network; this avoids the necessity
>> of dragging netcf into the picture and allows much better information -
>> the name of the domain using each interface can be included.
>
>You know if this checking for guests were done in the virNetworkDestroy
>API implementation in src/network/bridge_driver.c, instead of in
>virsh, then we would not need any of this code for extending the XML
>nor parsing it in virsh. We could simply check the number of connections
>which is something we have directly available internally. So 95% of this
>patch series would go away
:-C I'm sad...... :-), Anyway, Because we keep the original behaviour of
net-destroy, So we keep iface-unbridge no changes as well, Then droping
this patch series makes sense.