Fix wrong short label for ethernet switch, hub & VPCS

Fix https://github.com/GNS3/gns3-gui/issues/1764
This commit is contained in:
Julien Duponchelle committed 2017-01-09 16:48:42 +01:00
1 parent 2de60ba257
commit 58287b3638
4 files changed
+38 -8

No files matched your search

+10 -2
View File
@@ -558,10 +558,18 @@ class Node:
elif self._node_type == "dynamips":
self._ports = DynamipsPortFactory(self._properties)
return
elif self._node_type in ("cloud", "nat", "ethernet_switch", "ethernet_hub"):
elif self._node_type in ("ethernet_switch", "ethernet_hub"):
# Basic node we don't want to have adapter number
port_number = 0
for port in self._properties["ports_mapping"]:
self._ports.append(PortFactory(port["name"], 0, 0, port_number, "ethernet"))
self._ports.append(PortFactory(port["name"], 0, 0, port_number, "ethernet", short_name="e{}".format(port_number)))
port_number += 1
elif self._node_type in ("vpcs"):
self._ports.append(PortFactory("Ethernet0", 0, 0, 0, "ethernet", short_name="e0"))
elif self._node_type in ("cloud", "nat"):
port_number = 0
for port in self._properties["ports_mapping"]:
self._ports.append(PortFactory(port["name"], 0, 0, port_number, "ethernet", short_name=port["name"]))
port_number += 1
else:
self._ports = StandardPortFactory(self._properties, self._port_by_adapter, self._first_port_name, self._port_name_format, self._port_segment_size)
+5 -2
View File
@@ -21,11 +21,12 @@ class Port:
Base class for port objects.
"""
def __init__(self, name, interface_number, adapter_number, port_number):
def __init__(self, name, interface_number, adapter_number, port_number, short_name=None):
self._interface_number = interface_number
self._adapter_number = adapter_number
self._port_number = port_number
self._name = name
self._short_name = short_name
self._link = None
@property
@@ -63,7 +64,9 @@ class Port:
@property
def short_name(self):
# If port name format has change we use the port name as the short name (1.X behavior)
if not self._name.startswith(self.long_name_type()):
if self._short_name:
return self._short_name
elif not self._name.startswith(self.long_name_type()):
return self._name
return self.short_name_type + "{}/{}".format(self._interface_number, self._port_number)