- 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)
+ def attachExternalSAP(self, sap_name, sap_net, **params):
+ # create SAP as separate OVS switch with an assigned ip address
+ sap_ip = str(sap_net[1]) + '/' + str(sap_net.prefixlen)
+ sap_switch = self.net.addExtSAP(sap_name, sap_ip, dpid=hex(self._get_next_extSAP_dpid())[2:], **params)
+ sap_switch.start()