Beispiel #1
0
 def __parse_to_ports(self, ports):
     port_list = ports["portNames"].split(',')
     dpid_ports = list()
     for port in port_list: 
         dpid_port = Port()
         match = re.match(r'[\s]*(.*)\((.*)\)', port)
         dpid_port.set_name(match.group(1))
         dpid_port.set_num(match.group(2))
         dpid_ports.append(dpid_port)
     return dpid_ports
Beispiel #2
0
    def __parse_to_links(self, links):
        dpid_links = list()
        for link in links:
            src_dpid = DPID()
            src_port = Port()
            src_port.set_num(link[1])
            src_dpid.add_port(src_port)
            src_dpid.set_datapath(link[0])
            src_dpid.set_component_id(self.__generate_dpid_component_id(src_dpid))
            src_dpid.set_component_manager_id(self.__generate_component_manager_id(src_dpid))            
 
            dst_dpid = DPID()
            dst_port = Port()
            dst_port.set_num(link[3])
            dst_dpid.add_port(dst_port)
            dst_dpid.set_datapath(link[2])
            dst_dpid.set_component_id(self.__generate_dpid_component_id(dst_dpid))
            dst_dpid.set_component_manager_id(self.__generate_component_manager_id(dst_dpid))

            link = Link()
            link.set_src_dpid(src_dpid)
            link.set_dst_dpid(dst_dpid)
            link.set_src_port(src_port)
            link.set_dst_port(dst_port)
            link.set_type("Link")
            link.set_component_id(self.__generate_link_component_id(link))
            dpid_links.append(link)
        
        return dpid_links
Beispiel #3
0
 def __flowvisor_fs_to_instance(self, fs_dict):
     flowspace = FlowSpace()
     group = Group()
     for datapath in fs_dict.keys():
         dpid = DPID()
         dpid.datapath = datapath
         for port in fs_dict[datapath]["ports"]: 
             of_port = Port()
             of_port.set_num(port)
             dpid.add_port(of_port)
         group.add_dpid(dpid)
         for match in fs_dict[datapath]["matches"]:
             of_match = Match()
             if match.has_key("dl_vlan"):
                 of_match.add_dl_vlan(match["dl_vlan"])
                 group.add_match(of_match)
     flowspace.set_group(group) 
     return flowspace
Beispiel #4
0
 def __flowvisor_fs_to_instance(self, fs_dict):
     flowspace = FlowSpace()
     group = Group()
     for datapath in fs_dict.keys():
         dpid = DPID()
         dpid.datapath = datapath
         for port in fs_dict[datapath]["ports"]: 
             of_port = Port()
             of_port.set_num(port)
             dpid.add_port(of_port)
         group.add_dpid(dpid)
         for match in fs_dict[datapath]["matches"]:
             of_match = Match()
             if match.has_key("dl_vlan"):
                 of_match.add_dl_vlan(match["dl_vlan"])
                 group.add_match(of_match)
     flowspace.set_group(group) 
     return flowspace
Beispiel #5
0
    def __parse_to_links(self, links):
        dpid_links = list()
        for link in links:
            src_dpid = DPID()
            src_port = Port()
            src_port.set_num(link[1])
            src_dpid.add_port(src_port)
            src_dpid.set_datapath(link[0])
            src_dpid.set_component_id(self.__generate_dpid_component_id(src_dpid))
            src_dpid.set_component_manager_id(self.__generate_component_manager_id(src_dpid))            
 
            dst_dpid = DPID()
            dst_port = Port()
            dst_port.set_num(link[3])
            dst_dpid.add_port(dst_port)
            dst_dpid.set_datapath(link[2])
            dst_dpid.set_component_id(self.__generate_dpid_component_id(dst_dpid))
            dst_dpid.set_component_manager_id(self.__generate_component_manager_id(dst_dpid))

            link = Link()
            link.set_src_dpid(src_dpid)
            link.set_dst_dpid(dst_dpid)
            link.set_src_port(src_port)
            link.set_dst_port(dst_port)
            link.set_type("Link")
            link.set_component_id(self.__generate_link_component_id(link))
            dpid_links.append(link)
        
        return dpid_links
Beispiel #6
0
 def __parse_to_ports(self, ports):
     port_list = ports["portNames"].split(',')
     dpid_ports = list()
     for port in port_list: 
         dpid_port = Port()
         match = re.match(r'[\s]*(.*)\((.*)\)', port)
         dpid_port.set_name(match.group(1))
         dpid_port.set_num(match.group(2))
         dpid_ports.append(dpid_port)
     return dpid_ports