The following patch adds support to select direct interfaces when defining a virtual machine via virt-manager. Also remove the unused show_manual_bridge.
Signed-off-by: Gerhard Stenzel <[email protected]> Index: virt-manager/src/virtManager/uihelpers.py =================================================================== --- virt-manager.orig/src/virtManager/uihelpers.py +++ virt-manager/src/virtManager/uihelpers.py @@ -356,7 +356,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() @@ -440,8 +440,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: @@ -484,12 +491,6 @@ 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) - set_active(default) return return_warn @@ -530,6 +531,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 @@ -549,7 +549,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 _______________________________________________ virt-tools-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/virt-tools-list
