コード例 #1
0
def call_undo():
    print ("#####################################################t")
    #SClist1 = "sea,kcy"
    SClist2 = e_SVC.get()

    #SVList = get_service_chain(SClist1) 
    SVK = get_service_chain(SClist2) 
    #SVList = get_key_point(SVList,src,dst)
    SVK = get_key_point(SVK,src,dst)
    #print(SVK) 

    topo_2 = network_topo()
    logic_map_2 = map()

    phy_topy_2 = topy_load()

    phy_nodes_2 = topy_parse_node(phy_topy_2)

    phy_links_2 = topy_parse_links(phy_topy_2)

    # print(phy_nodes) 
    logic_nodes_2 = logic_map_2.getNodes(phy_nodes_2)
    #print(logic_nodes)
    logic_links_2 = logic_map_2.getLinks(phy_links_2)
    #print(logic_links)

  
    topo_2.topo_discover(logic_nodes_2,logic_links_2)

    
    #topo.topo_discover(NodeList,LinkList)

    str_con = e_con.get()
    con_src = str_con.split('-')[0]
    con_dst = str_con.split('-')[1]
    logic_graph_2 = logic_topo_gen (topo_2.get_graph(),con_src,con_dst)
    

    #print(logic_graph.edges())
    opt_path = cal_optimal_path(logic_graph_2,SVK)

   
    #topo.show_topo(topo.get_origin_path(src,dst))
    color_list = ['r'] * 8
    str_prefix = e_prefix.get()

    pathset_2 = path_config(opt_path,phy_nodes_2,phy_links_2,str_prefix)
    
    path_adjust_undo(pathset_2)
コード例 #2
0
ファイル: tk_gui.py プロジェクト: shark803/ODL
def call_undo():
    print ("#####################################################t")
    #SClist1 = "sea,kcy"
    SClist2 = e_SVC.get()

    #SVList = get_service_chain(SClist1) 
    SVK = get_service_chain(SClist2) 
    #SVList = get_key_point(SVList,src,dst)
    SVK = get_key_point(SVK,src,dst)
    #print(SVK) 

    topo_2 = network_topo()
    logic_map_2 = map()

    phy_topy_2 = topy_load()

    phy_nodes_2 = topy_parse_node(phy_topy_2)

    phy_links_2 = topy_parse_links(phy_topy_2)

    # print(phy_nodes) 
    logic_nodes_2 = logic_map_2.getNodes(phy_nodes_2)
    #print(logic_nodes)
    logic_links_2 = logic_map_2.getLinks(phy_links_2)
    #print(logic_links)

  
    topo_2.topo_discover(logic_nodes_2,logic_links_2)

    
    #topo.topo_discover(NodeList,LinkList)

    str_con = e_con.get()
    con_src = str_con.split('-')[0]
    con_dst = str_con.split('-')[1]
    logic_graph_2 = logic_topo_gen (topo_2.get_graph(),con_src,con_dst)
    

    #print(logic_graph.edges())
    opt_path = cal_optimal_path(logic_graph_2,SVK)

   
    #topo.show_topo(topo.get_origin_path(src,dst))
    color_list = ['r'] * 8
    str_prefix = e_prefix.get()

    pathset_2 = path_config(opt_path,phy_nodes_2,phy_links_2,str_prefix)
    
    path_adjust_undo(pathset_2)
コード例 #3
0
def topo_get():
    
    
    
    
    topo = network_topo()
    logic_map = map()

    phy_topy = topy_load()

    phy_nodes = topy_parse_node(phy_topy)
    phy_links = topy_parse_links(phy_topy)

    # print(phy_nodes) 
    logic_nodes = logic_map.getNodes(phy_nodes)
    #print(logic_nodes)
    logic_links = logic_map.getLinks(phy_links)
    #print(logic_links)
    topo.topo_discover(logic_nodes,logic_links)


    for item in phy_links:

        str_link=''
        str_link = str_link + item['src']['name'] + '('+ item['src']['port_ip'][0] +')' + '---->'  \
               + item['dst']['name'] + '('+ item['dst']['port_ip'][0] +')' + '   metrics:'+str(item['metric'])
        mylist.insert(END, str_link)

    origin_path = topo.get_origin_path(src,dst)
    str_path = "Path:"
    for node in origin_path:
        if origin_path.index(node) == len(origin_path)-1:
	    str_path = str_path + node
        else:
            str_path = str_path + node + '->'
    var.set(str_path)
    current_name = 'orgin_path.png'
    topo.show_topo(origin_path,logic_nodes,logic_links,current_name)

    
    topo_pic = PhotoImage(file='orgin_path.png')
    label_pic.configure(image = topo_pic)
    
    root.update()
    time.sleep(5)
コード例 #4
0
ファイル: tk_gui.py プロジェクト: shark803/ODL
def topo_get():
    
    
    
    
    topo = network_topo()
    logic_map = map()

    phy_topy = topy_load()

    phy_nodes = topy_parse_node(phy_topy)
    phy_links = topy_parse_links(phy_topy)

    # print(phy_nodes) 
    logic_nodes = logic_map.getNodes(phy_nodes)
    #print(logic_nodes)
    logic_links = logic_map.getLinks(phy_links)
    #print(logic_links)
    topo.topo_discover(logic_nodes,logic_links)


    for item in phy_links:

        str_link=''
        str_link = str_link + item['src']['name'] + '('+ item['src']['port_ip'][0] +')' + '---->'  \
               + item['dst']['name'] + '('+ item['dst']['port_ip'][0] +')' + '   metrics:'+str(item['metric'])
        mylist.insert(END, str_link)

    origin_path = topo.get_origin_path(src,dst)
    str_path = "Path:"
    for node in origin_path:
        if origin_path.index(node) == len(origin_path)-1:
	    str_path = str_path + node
        else:
            str_path = str_path + node + '->'
    var.set(str_path)
    current_name = 'orgin_path.png'
    topo.show_topo(origin_path,logic_nodes,logic_links,current_name)

    
    topo_pic = PhotoImage(file='orgin_path.png')
    label_pic.configure(image = topo_pic)
    
    root.update()
    time.sleep(5)
コード例 #5
0
def congestion_proc():
    
    
    #SClist1 = "sea,kcy"
    SClist2 = e_SVC.get()

    #SVList = get_service_chain(SClist1) 
    SVK = get_service_chain(SClist2) 
    #SVList = get_key_point(SVList,src,dst)
    SVK = get_key_point(SVK,src,dst)
    #print(SVK) 

    topo_1 = network_topo()
    logic_map_1 = map()

    phy_topy_1 = topy_load()

    phy_nodes_1 = topy_parse_node(phy_topy_1)

    phy_links_1 = topy_parse_links(phy_topy_1)

    # print(phy_nodes) 
    logic_nodes_1 = logic_map_1.getNodes(phy_nodes_1)
    #print(logic_nodes)
    logic_links_1 = logic_map_1.getLinks(phy_links_1)
    #print(logic_links)

  
    topo_1.topo_discover(logic_nodes_1,logic_links_1)

    
    #topo.topo_discover(NodeList,LinkList)

    str_con = e_con.get()
    con_src = str_con.split('-')[0]
    con_dst = str_con.split('-')[1]
    logic_graph_1 = logic_topo_gen (topo_1.get_graph(),con_src,con_dst)
    

    #print(logic_graph.edges())
    opt_path = cal_optimal_path(logic_graph_1,SVK)

    str_path_opt = "Path:"
    for node in opt_path:
        if opt_path.index(node) == len(opt_path)-1:
	    str_path_opt = str_path_opt + node
        else:
            str_path_opt = str_path_opt + node + '->'
    var.set(str_path_opt)
    print(opt_path)
    #topo.show_topo(topo.get_origin_path(src,dst))
    color_list = ['r'] * 8
    str_prefix = e_prefix.get()

    pathset = path_config(opt_path,phy_nodes_1,phy_links_1,str_prefix)

    #global_opt_path =copy.copy(pathset)
    #print(pathset)

    print ("------------------------------------------------t")
    print ("set path %s" %pathset)
    path_adjust(path_set)
    print ("------------------------------------------------t")
    print (global_opt_path)

    topo_1.show_topo(opt_path,logic_nodes_1,logic_links_1,'path_opt.png')
コード例 #6
0
        path_opt_config.append(node_item)
    path_set['path'] = path_opt_config
    return path_set


if __name__ == "__main__":
    SClist1 = "sea,kcy"
    SClist2 = "sea"

    SVList = get_service_chain(SClist1)
    SVK = get_service_chain(SClist2)
    SVList = get_key_point(SVList, src, dst)
    SVK = get_key_point(SVK, src, dst)
    #print(SVK)

    topo = network_topo()
    logic_map = map()

    phy_topy = topy_load()

    phy_nodes = topy_parse_node(phy_topy)

    phy_links = topy_parse_links(phy_topy)

    # print(phy_nodes)
    logic_nodes = logic_map.getNodes(phy_nodes)
    #print(logic_nodes)
    logic_links = logic_map.getLinks(phy_links)
    #print(logic_links)
    '''
    topo.topo_discover(NodeList,LinkList)
コード例 #7
0
        path_opt_config.append(node_item)
    path_set['path'] = path_opt_config
    return path_set


if __name__ == "__main__":
    SClist1 = "sea,kcy"
    SClist2 = "sea"

    SVList = get_service_chain(SClist1) 
    SVK = get_service_chain(SClist2) 
    SVList = get_key_point(SVList,src,dst)
    SVK = get_key_point(SVK,src,dst)
    #print(SVK) 

    topo = network_topo()
    logic_map = map()

    phy_topy = topy_load()

    phy_nodes = topy_parse_node(phy_topy)

    phy_links = topy_parse_links(phy_topy)

    # print(phy_nodes) 
    logic_nodes = logic_map.getNodes(phy_nodes)
    #print(logic_nodes)
    logic_links = logic_map.getLinks(phy_links)
    #print(logic_links)

    '''
コード例 #8
0
ファイル: tk_gui.py プロジェクト: shark803/ODL
def congestion_proc():
    
    
    #SClist1 = "sea,kcy"
    SClist2 = e_SVC.get()

    #SVList = get_service_chain(SClist1) 
    SVK = get_service_chain(SClist2) 
    #SVList = get_key_point(SVList,src,dst)
    SVK = get_key_point(SVK,src,dst)
    #print(SVK) 

    topo_1 = network_topo()
    logic_map_1 = map()

    phy_topy_1 = topy_load()

    phy_nodes_1 = topy_parse_node(phy_topy_1)

    phy_links_1 = topy_parse_links(phy_topy_1)

    # print(phy_nodes) 
    logic_nodes_1 = logic_map_1.getNodes(phy_nodes_1)
    #print(logic_nodes)
    logic_links_1 = logic_map_1.getLinks(phy_links_1)
    #print(logic_links)

  
    topo_1.topo_discover(logic_nodes_1,logic_links_1)

    
    #topo.topo_discover(NodeList,LinkList)

    str_con = e_con.get()
    con_src = str_con.split('-')[0]
    con_dst = str_con.split('-')[1]
    logic_graph_1 = logic_topo_gen (topo_1.get_graph(),con_src,con_dst)
    

    #print(logic_graph.edges())
    opt_path = cal_optimal_path(logic_graph_1,SVK)

    str_path_opt = "Path:"
    for node in opt_path:
        if opt_path.index(node) == len(opt_path)-1:
	    str_path_opt = str_path_opt + node
        else:
            str_path_opt = str_path_opt + node + '->'
    var.set(str_path_opt)
    print(opt_path)
    #topo.show_topo(topo.get_origin_path(src,dst))
    color_list = ['r'] * 8
    str_prefix = e_prefix.get()

    pathset = path_config(opt_path,phy_nodes_1,phy_links_1,str_prefix)

    #global_opt_path =copy.copy(pathset)
    #print(pathset)

    print ("------------------------------------------------t")
    print ("set path %s" %pathset)
    path_adjust(path_set)
    print ("------------------------------------------------t")
    print (global_opt_path)

    topo_1.show_topo(opt_path,logic_nodes_1,logic_links_1,'path_opt.png')