[libvirt] [PATCH 5/5 v3] Added new option to virsh net-dumpxml called --inactive
Daniel P. Berrange
berrange at redhat.com
Tue Jan 10 11:22:24 UTC 2012
On Wed, Dec 14, 2011 at 10:50:40AM +0000, Shradha Shah wrote:
> The above option helps to differentiate between implicit and explicit interface pools.
> ---
> include/libvirt/libvirt.h.in | 4 ++++
> src/conf/network_conf.c | 10 +++++++---
> src/conf/network_conf.h | 2 +-
> src/network/bridge_driver.c | 4 ++--
> src/test/test_driver.c | 2 +-
> src/vbox/vbox_tmpl.c | 2 +-
> tests/networkxml2xmltest.c | 2 +-
> tools/virsh.c | 13 +++++++++++--
> 8 files changed, 28 insertions(+), 11 deletions(-)
>
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index 2480add..45fe060 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -1783,6 +1783,10 @@ int virNodeGetCellsFreeMemory(virConnectPtr conn,
> * Virtual Networks API
> */
>
> +typedef enum {
> + VIR_NETWORK_XML_INACTIVE = (1 << 0), /* dump inactive network information */
> +} virNetworkXMLFlags;
> +
> /**
> * virNetwork:
> *
> diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
> index 9557e29..37b7454 100644
> --- a/src/conf/network_conf.c
> +++ b/src/conf/network_conf.c
> @@ -1326,7 +1326,7 @@ virPortGroupDefFormat(virBufferPtr buf,
> return 0;
> }
>
> -char *virNetworkDefFormat(const virNetworkDefPtr def)
> +char *virNetworkDefFormat(const virNetworkDefPtr def, unsigned int flags)
> {
> virBuffer buf = VIR_BUFFER_INITIALIZER;
> unsigned char *uuid;
> @@ -1366,6 +1366,9 @@ char *virNetworkDefFormat(const virNetworkDefPtr def)
> }
> }
>
> + if (flags && def->nForwardPfs)
> + goto escape;
You'll want to be explicit about what you're checking here
'(flags & VIR_NETWORK_XML_INACTIVE) && def->nForwardPfs'
so this code doesn't break if we add more flags in the future
> +
> if (def->nForwardIfs) {
And rather than having a goto above, I'd just change
this to
if (def->nForwardIfs &&
!(flags & VIR_NETWORK_XML_INACTIVE) && def->nForwardPfs) {
> for (ii = 0; ii < def->nForwardIfs; ii++) {
> if (def->forwardIfs[ii].dev) {
> @@ -1373,8 +1376,9 @@ char *virNetworkDefFormat(const virNetworkDefPtr def)
> def->forwardIfs[ii].dev);
> }
> }
> - virBufferAddLit(&buf, " </forward>\n");
> }
> + escape:
> + virBufferAddLit(&buf, " </forward>\n");
> }
>
> if (def->forwardType == VIR_NETWORK_FORWARD_NONE ||
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list