mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
virt-manager: enable direct interface selection
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 <gerhard.stenzel@de.ibm.com>
This commit is contained in:
parent
86f4bdaf1d
commit
89dbf1e7cf
@ -548,7 +548,7 @@ class vmmCreate(vmmGObjectUI):
|
|||||||
# Networking
|
# Networking
|
||||||
net_list = self.window.get_widget("config-netdev")
|
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.set_net_warn(self.conn.netdev_error or do_warn,
|
||||||
self.conn.netdev_error, True)
|
self.conn.netdev_error, True)
|
||||||
|
|
||||||
|
@ -354,7 +354,7 @@ def get_network_selection(net_list, bridge_entry):
|
|||||||
|
|
||||||
return net_type, net_src
|
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 = net_list.get_model()
|
||||||
model.clear()
|
model.clear()
|
||||||
|
|
||||||
@ -438,8 +438,15 @@ def populate_network_list(net_list, conn, show_manual_bridge=True):
|
|||||||
bridge_name = name
|
bridge_name = name
|
||||||
brlabel = _("(Empty bridge)")
|
brlabel = _("(Empty bridge)")
|
||||||
else:
|
else:
|
||||||
sensitive = False
|
if (show_direct_interfaces and virtinst.support.check_conn_support(conn.vmm,
|
||||||
brlabel = "(%s)" % _("Not bridged")
|
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)
|
label = _("Host device %s %s") % (br.get_name(), brlabel)
|
||||||
if hasShared and not brIdxLabel:
|
if hasShared and not brIdxLabel:
|
||||||
@ -482,11 +489,10 @@ def populate_network_list(net_list, conn, show_manual_bridge=True):
|
|||||||
model.insert(0, row)
|
model.insert(0, row)
|
||||||
default = 0
|
default = 0
|
||||||
|
|
||||||
if show_manual_bridge:
|
# After all is said and done, add a manual bridge option
|
||||||
# After all is said and done, add a manual bridge option
|
manual_row = build_row(None, None, _("Specify shared device name"),
|
||||||
manual_row = build_row(None, None, _("Specify shared device name"),
|
True, False, manual_bridge=True)
|
||||||
True, False, manual_bridge=True)
|
model.append(manual_row)
|
||||||
model.append(manual_row)
|
|
||||||
|
|
||||||
set_active(default)
|
set_active(default)
|
||||||
return return_warn
|
return return_warn
|
||||||
@ -527,6 +533,8 @@ def validate_network(parent, conn, nettype, devname, macaddr, model=None):
|
|||||||
netname = devname
|
netname = devname
|
||||||
elif nettype == VirtualNetworkInterface.TYPE_BRIDGE:
|
elif nettype == VirtualNetworkInterface.TYPE_BRIDGE:
|
||||||
bridge = devname
|
bridge = devname
|
||||||
|
elif nettype == VirtualNetworkInterface.TYPE_DIRECT:
|
||||||
|
bridge = devname
|
||||||
elif nettype == VirtualNetworkInterface.TYPE_USER:
|
elif nettype == VirtualNetworkInterface.TYPE_USER:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user