max_queue_size=router_queue_size) object_L.append(router_a) encap_tbl_D = {} frwd_tbl_D = {} decap_tbl_D = {} router_b = Router(name='RB', intf_capacity_L=[500, 100], encap_tbl_D=encap_tbl_D, frwd_tbl_D=frwd_tbl_D, decap_tbl_D=decap_tbl_D, max_queue_size=router_queue_size) object_L.append(router_b) #create a Link Layer to keep track of links between network nodes link_layer = LinkLayer() object_L.append(link_layer) #add all the links - need to reflect the connectivity in cost_D tables above link_layer.add_link(Link(host_1, 0, router_a, 0)) link_layer.add_link(Link(router_a, 1, router_b, 0)) link_layer.add_link(Link(router_b, 1, host_2, 0)) #start all the objects thread_L = [] for obj in object_L: thread_L.append(threading.Thread(name=obj.__str__(), target=obj.run)) for t in thread_L: t.start()
"H1": 0, "H2": 0 } } } decap_tbl_D = {"H2": "N", "H1": "N", "H3": "Y"} router_d = Router(name='RD', intf_capacity_L=[500, 500, 100], encap_tbl_D=encap_tbl_D, frwd_tbl_D=frwd_tbl_D, decap_tbl_D=decap_tbl_D, max_queue_size=router_queue_size) object_L.append(router_d) #create a Link Layer to keep track of links between network nodes link_layer = LinkLayer() object_L.append(link_layer) #add all the links - need to reflect the connectivity in cost_D tables above #Router A Links IN/OUT link_layer.add_link(Link(host_1, 0, router_a, 0)) link_layer.add_link(Link(host_2, 0, router_a, 1)) link_layer.add_link(Link(router_a, 2, router_b, 0)) link_layer.add_link(Link(router_a, 3, router_c, 0)) #Router B Links OUT link_layer.add_link(Link(router_b, 1, router_d, 0)) #Router C Links OUT link_layer.add_link(Link(router_c, 1, router_d, 1))