[virt-tools-list] [PATCH V2] virt-manager: enable direct interface selection

Cole Robinson crobinso at redhat.com
Sat Apr 9 21:12:44 UTC 2011


On 04/08/2011 04:42 AM, Gerhard Stenzel wrote:
> Resending the fixed version as I could not find it in git.
> 
> The following patch adds support to select direct interfaces
> when defining a virtual machine via virt-manager
> 

Sorry, forgot to actually push the previous fixed up patch. Upstream now:

http://git.fedorahosted.org/git?p=virt-manager.git;a=commit;h=89dbf1e7cf5de47499a5c96c0eac1036c4b4b20f

- Cole

> Signed-off-by: Gerhard Stenzel <gerhard.stenzel at de.ibm.com>
> 
> Index: virt-manager/src/virtManager/uihelpers.py
> ===================================================================
> --- virt-manager.orig/src/virtManager/uihelpers.py
> +++ virt-manager/src/virtManager/uihelpers.py
> @@ -354,7 +354,7 @@ def get_network_selection(net_list, brid
>  
>      return net_type, net_src
>  
> -def populate_network_list(net_list, conn, show_manual_bridge=True):
> +def populate_network_list(net_list, conn, show_direct_interfaces=True):
>      model = net_list.get_model()
>      model.clear()
>  
> @@ -438,8 +438,15 @@ def populate_network_list(net_list, conn
>                  bridge_name = name
>                  brlabel = _("(Empty bridge)")
>          else:
> -            sensitive = False
> -            brlabel = "(%s)" % _("Not bridged")
> +            if (show_direct_interfaces and virtinst.support.check_conn_support(conn.vmm,
> +                         virtinst.support.SUPPORT_CONN_HV_DIRECT_INTERFACE)):
> +                sensitive = True
> +                nettype = VirtualNetworkInterface.TYPE_DIRECT
> +                bridge_name = name
> +                brlabel = ": %s" % _("macvtap")
> +            else:
> +                sensitive = False
> +                brlabel = "(%s)" % _("Not bridged")
>  
>          label = _("Host device %s %s") % (br.get_name(), brlabel)
>          if hasShared and not brIdxLabel:
> @@ -482,11 +489,10 @@ def populate_network_list(net_list, conn
>          model.insert(0, row)
>          default = 0
>  
> -    if show_manual_bridge:
> -        # After all is said and done, add a manual bridge option
> -        manual_row = build_row(None, None, _("Specify shared device name"),
> -                               True, False, manual_bridge=True)
> -        model.append(manual_row)
> +    # After all is said and done, add a manual bridge option
> +    manual_row = build_row(None, None, _("Specify shared device name"),
> +                           True, False, manual_bridge=True)
> +    model.append(manual_row)
>  
>      set_active(default)
>      return return_warn
> @@ -527,6 +533,8 @@ def validate_network(parent, conn, netty
>              netname = devname
>          elif nettype == VirtualNetworkInterface.TYPE_BRIDGE:
>              bridge = devname
> +        elif nettype == VirtualNetworkInterface.TYPE_DIRECT:
> +            bridge = devname
>          elif nettype == VirtualNetworkInterface.TYPE_USER:
>              pass
>  
> Index: virt-manager/src/virtManager/create.py
> ===================================================================
> --- virt-manager.orig/src/virtManager/create.py
> +++ virt-manager/src/virtManager/create.py
> @@ -548,7 +548,7 @@ class vmmCreate(vmmGObjectUI):
>          # Networking
>          net_list        = self.window.get_widget("config-netdev")
>  
> -        do_warn = uihelpers.populate_network_list(net_list, self.conn)
> +        do_warn = uihelpers.populate_network_list(net_list, self.conn, False)
>          self.set_net_warn(self.conn.netdev_error or do_warn,
>                            self.conn.netdev_error, True)
>  
> 
> ===================================================================
> 
> Best regards, 
> 
> Gerhard Stenzel
> -------------------------------------------------------------------------------------
> IBM Deutschland Research & Development GmbH
> Vorsitzender des Aufsichtsrats: Martin Jetter
> Geschaeftsfuehrung: Dirk Wittkopp
> Sitz der Gesellschaft: Boeblingen
> Registergericht: Amtsgericht Stuttgart, HRB 243294




More information about the virt-tools-list mailing list