[libvirt] [Patch v2 1/3] Add -netdev bridge capabilities

Michal Privoznik mprivozn at redhat.com
Wed Jul 4 15:37:47 UTC 2012


On 29.06.2012 20:08, rmarwah at linux.vnet.ibm.com wrote:
> From: Richa Marwaha <rmarwah at linux.vnet.ibm.com>
> 
> This patch adds the capability in libvirt to check if
> -netdev bridge option is supported or not.
> 
> Signed-off-by: Richa Marwaha <rmarwah at linux.vnet.ibm.com>
> Signed-off-by: Corey Bryant<coreyb at linux.vnet.ibm.com>
> ---
> v2
> -This is a new patch that helps libvirt to check if -netdev bridge
> option is supported in the qemu version that is being used to run
> the guest. In v1 we didnot have the capability to check if qemu
> version we are using supported -netdev bridge or not.
> 
>  src/qemu/qemu_capabilities.c |   13 +++++++++----
>  src/qemu/qemu_capabilities.h |    1 +
>  2 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index 1e12a39..b2d7be2 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -166,6 +166,7 @@ VIR_ENUM_IMPL(qemuCaps, QEMU_CAPS_LAST,
>                "hda-micro", /* 95 */
>                "dump-guest-memory",
>                "nec-usb-xhci",
> +              "bridge",
>  
>      );
>  
> @@ -1005,7 +1006,7 @@ qemuCapsComputeCmdFlags(const char *help,
>                          bool check_yajl ATTRIBUTE_UNUSED)
>  {
>      const char *p;
> -    const char *fsdev;
> +    const char *fsdev, *netdev;
>  
>      if (strstr(help, "-no-kqemu"))
>          qemuCapsSet(flags, QEMU_CAPS_KQEMU);
> @@ -1118,13 +1119,17 @@ qemuCapsComputeCmdFlags(const char *help,
>      if (strstr(help, "-smbios type"))
>          qemuCapsSet(flags, QEMU_CAPS_SMBIOS_TYPE);
>  
> -    if (strstr(help, "-netdev")) {
> +    if ((netdev = strstr(help, "-netdev"))) {
>          /* Disable -netdev on 0.12 since although it exists,
>           * the corresponding netdev_add/remove monitor commands
>           * do not, and we need them to be able to do hotplug.
>           * But see below about RHEL build. */
> -        if (version >= 13000)
> -            qemuCapsSet(flags, QEMU_CAPS_NETDEV);
> +        if (version >= 13000) {
> +            if (strstr (netdev, "bridge"))
> +                qemuCapsSet(flags, QEMU_CAPS_NETDEV_BRIDGE);
> +            else
> +                qemuCapsSet(flags, QEMU_CAPS_NETDEV);
> +        }
>      }

I think we want both capabilities set as QEMU_CAPS_NETDEV is used later
in the code. Moreover, QEMU_CAPS_NETDEV_BRIDGE is just refined version
of QEMU_CAPS_NETDEV. That is, if QEMU_CAPS_NETDEV_BRIDGE is set,
QEMU_CAPS_NETDEV must be supported as well.

>  
>      if (strstr(help, "-sdl"))
> diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
> index 83c135b..458a73e 100644
> --- a/src/qemu/qemu_capabilities.h
> +++ b/src/qemu/qemu_capabilities.h
> @@ -133,6 +133,7 @@ enum qemuCapsFlags {
>      QEMU_CAPS_HDA_MICRO          = 95, /* -device hda-micro */
>      QEMU_CAPS_DUMP_GUEST_MEMORY  = 96, /* dump-guest-memory command */
>      QEMU_CAPS_NEC_USB_XHCI       = 97, /* -device nec-usb-xhci */
> +    QEMU_CAPS_NETDEV_BRIDGE      = 98, /* bridge helper support */
>  
>      QEMU_CAPS_LAST,                   /* this must always be the last item */
>  };
> 

You forgot to add yourself to AUTHORS:

diff --git a/AUTHORS b/AUTHORS
index 0e179a9..f59550e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -247,6 +247,7 @@ Patches have also been contributed by:
   Viktor Mihajlovski   <mihajlov at linux.vnet.ibm.com>
   Thang Pham           <thang.pham at us.ibm.com>
   Eiichi Tsukata       <eiichi.tsukata.xh at hitachi.com>
+  Richa Marwaha        <rmarwah at linux.vnet.ibm.com>

   [....send patches to get your name here....]

And don't forget to update tests/qemuhelptest.c as well.

Michal




More information about the libvir-list mailing list