# Router C router_c = network.Router(name='C', intf_count=len(table_C), max_queue_size=router_queue_size, routing_table=table_C) object_L.append(router_c) # Router D router_d = network.Router(name='D', intf_count=len(table_D), max_queue_size=router_queue_size, routing_table=table_D) object_L.append(router_d) #create a Link Layer to keep track of links between network nodes link_layer = link.LinkLayer() object_L.append(link_layer) #add all the links #link parameters: from_node, from_intf_num, to_node, to_intf_num, mtu link_layer.add_link(link.Link(client1, 0, router_a, 0, 50)) link_layer.add_link(link.Link(client2, 0, router_a, 1, 50)) # Router A links to next object link_layer.add_link(link.Link(router_a, 0, router_b, 0, 50)) link_layer.add_link(link.Link(router_a, 1, router_c, 0, 50)) # Router B links to next object link_layer.add_link(link.Link(router_b, 0, router_d, 0, 30)) # Router C links to next object
routing_table_b = {3: 0, 4: 0} router_b = network_3.Router(routing_table_b, name='B', intf_count=1, max_queue_size=router_queue_size) object_L.append(router_b) routing_table_c = {3: 0, 4: 0} router_c = network_3.Router(routing_table_c, name='C', intf_count=1, max_queue_size=router_queue_size) object_L.append(router_c) routing_table_d = {3: 0, 4: 1} router_d = network_3.Router(routing_table_d, name='D', intf_count=2, max_queue_size=router_queue_size) object_L.append(router_d) host_3 = network_3.Host(3) object_L.append(host_3) host_4 = network_3.Host(4) object_L.append(host_4) # create a Link Layer to keep track of links between network nodes link_layer = link_3.LinkLayer() object_L.append(link_layer) # add all the links # link parameters: from_node, from_intf_num, to_node, to_intf_num, mtu # out interface of client, in interface of server # 50 is the MTU - largest size of packet that can be transferred over links link_layer.add_link(link_3.Link(host_1, 0, router_a, 0, 50)) link_layer.add_link(link_3.Link(host_2, 0, router_a, 1, 50)) link_layer.add_link(link_3.Link(router_a, 0, router_b, 0, 50)) link_layer.add_link(link_3.Link(router_a, 1, router_c, 0, 50)) link_layer.add_link(link_3.Link(router_b, 0, router_d, 0, 50)) link_layer.add_link(link_3.Link(router_c, 0, router_d, 1, 50)) link_layer.add_link(link_3.Link(router_d, 0, host_3, 0, 50)) link_layer.add_link(link_3.Link(router_d, 1, host_4, 0, 50))