+ def attachExternalSAP(self, sap_name, sap_ip):
+ # create SAP as OVS internal interface
+ sap_intf = self.switch.attachInternalIntf(sap_name, sap_ip)
+
+ # add this as a link to the DCnetwork graph, so it is available for routing
+ attr_dict2 = {'src_port_id': sap_name, 'src_port_nr': None,
+ 'src_port_name': sap_name,
+ 'dst_port_id': self.switch.ports[sap_intf], 'dst_port_nr': self.switch.ports[sap_intf],
+ 'dst_port_name': sap_intf.name}
+ self.net.DCNetwork_graph.add_edge(sap_name, self.switch.name, attr_dict=attr_dict2)
+
+ attr_dict2 = {'dst_port_id': sap_name, 'dst_port_nr': None,
+ 'dst_port_name': sap_name,
+ 'src_port_id': self.switch.ports[sap_intf], 'src_port_nr': self.switch.ports[sap_intf],
+ 'src_port_name': sap_intf.name}
+ self.net.DCNetwork_graph.add_edge(self.switch.name, sap_name, attr_dict=attr_dict2)
+
+