Fix port naming for FrameRelay switch

Fix #735
This commit is contained in:
Julien Duponchelle committed 2016-10-26 11:59:16 +02:00
1 parent 048d2c12d0
commit cf3ed5a329
4 files changed
+46 -7

No files matched your search

+8 -2
View File
@@ -500,8 +500,14 @@ class Node:
self._ports.append(PortFactory("ATM{}".format(adapter_number), adapter_number, adapter_number, 0, "atm"))
return
elif self._node_type == "frame_relay_switch":
for adapter_number in range(0, len(self.properties["mappings"])):
self._ports.append(PortFactory("FrameRelay{}".format(adapter_number), adapter_number, adapter_number, 0, "frame_relay"))
frame_relay_port = set()
# Mapping is like {"1:101": "10:202"}
for source, dest in self.properties["mappings"].items():
frame_relay_port.add(int(source.split(":")[0]))
frame_relay_port.add(int(dest.split(":")[0]))
frame_relay_port = sorted(frame_relay_port)
for port in frame_relay_port:
self._ports.append(PortFactory("{}".format(port), 0, 0, port, "frame_relay"))
return
elif self._node_type == "dynamips":
self._ports = DynamipsPortFactory(self.properties)
@@ -34,6 +34,10 @@ class FrameRelayPort(SerialPort):
return "FrameRelay"
@property
def short_name(self):
return "{}".format(self._port_number)
@property
def data_link_types(self):
"""
+5 -1
View File
@@ -48,10 +48,14 @@ class Port:
def link_type(self):
return "ethernet"
@property
def short_name(self):
return self.short_name_type + "{}/{}".format(self._interface_number, self._port_number)
def __json__(self):
return {
"name": self._name,
"short_name": self.short_name_type + "{}/{}".format(self._interface_number, self._port_number),
"short_name": self.short_name,
"data_link_types": self.data_link_types,
"port_number": self._port_number,
"adapter_number": self._adapter_number,