topologygenerator 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5247a5f1a8c8be97fbbf579da958d188662f92ae
4
- data.tar.gz: f9d559e4156a1f5b63df7d7a8b6d7a55d1227df6
3
+ metadata.gz: a936b345272450192468250405027060f9dbddb1
4
+ data.tar.gz: 5531d487718b3f0962103889d521c404011b44d6
5
5
  SHA512:
6
- metadata.gz: 405e7f50ada93dfd8ffde0ca6243a2f96e833fcdc3072d6f20f3e4303db5d90a5cece827b47e54b0c784dc993fbbf81763635430524ce9c0826def9b7bd1a1b9
7
- data.tar.gz: aff919e5c3dbc7f2f0177579784dfb073e4565cb1e5a744f6a5378301388dd9083e7bd1c78d6ee965447934f4d82abb9eb319a328d690ba39f696b189aab100c
6
+ metadata.gz: 48f11b80ed13dc08833b496198fd93e87dabb043504b16fcae681bf162ebf3be4a778064ff6a3ca5182e1295a5a3bad8c49eb637b72fb584dfe80738d6e6d682
7
+ data.tar.gz: 55009a1ec8b1d90f73ebfab76a75c3b02bfa1432a5c3eb8c7d0ebce50250952f98f030fe2ae635aae0f7556b687f947abf418a9762b06a8bf2b6dd040ced6c94
data/README.md CHANGED
@@ -78,7 +78,7 @@ my_topology_generator = Topologygenerator.new({
78
78
  "source" => "ONOS",
79
79
  "directory_concrete_builders" => "builders_examples/ruby_builders",
80
80
  "output_directory" => "output",
81
- "uri_resource" => "http://127.0.0.1:8181/onos/v1/docs/"
81
+ "uri_resource" => "http://127.0.0.1:8181/onos/v1/"
82
82
  })
83
83
  my_custom_topology = topology_generator.generate
84
84
  ```
@@ -1,26 +1,21 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require_relative 'command_line/command_line_arguments.rb'
4
- require_relative "./topology_generator.rb"
4
+ require_relative "topologygenerator.rb"
5
5
  require 'colorize'
6
6
 
7
- begin
7
+ #begin
8
8
  my_command_line_arguments = CommandLineArguments.new
9
9
  my_command_line_arguments.run
10
10
 
11
- raise ArgumentError, 'No arguments received' unless arguments
12
- [:source,:directory_concrete_builders,:output_directory, :uri_resource].each do |argument_name|
13
- raise ArgumentError, "It is mandatory that arguments has a #{argument_name}" unless arguments.key? argument_name
14
- end
15
-
16
- topo_gen = topologygenerator.new({
17
- "source" => my_command_line_arguments.source
11
+ topo_gen = Topologygenerator.new({
12
+ "source" => my_command_line_arguments.source,
18
13
  "directory_concrete_builders" => my_command_line_arguments.directory_concrete_builders,
19
14
  "output_directory" => my_command_line_arguments.output_directory,
20
15
  "uri_resource" => my_command_line_arguments.uri_resource
21
16
  })
22
17
  topo_gen.generate
23
- rescue Exception => ex
24
- puts "#{ex.class}".red
25
- puts "#{ex.message}".blue
26
- end
18
+ #rescue Exception => ex
19
+ # puts "#{ex.class}".red
20
+ # puts "#{ex.message}".blue
21
+ #end
@@ -1,9 +1,11 @@
1
1
  require_relative '../abstracts/network_element.rb'
2
2
 
3
3
  class Host < NetworkElement
4
- attr_accessor :gateway_id, :gateway_port, :queue_capacity
4
+ attr_accessor :gateway_id, :gateway_port, :queue_capacity, :ips, :mac
5
5
 
6
- def initialize(id, queue_capacity=-1)
6
+ def initialize(id, ips=["127.0.0.1"], mac="9A:4A:43:D4:36:45", queue_capacity=-1)
7
+ @ips = ips
8
+ @mac = mac
7
9
  @queue_capacity = queue_capacity
8
10
  super id
9
11
  end
@@ -24,7 +24,7 @@ class Topology
24
24
  elements_of_type Link
25
25
  end
26
26
 
27
- def add_host(id)
27
+ def add_host(id, ips=["127.0.0.1"], mac="9A:4A:43:D4:36:45", queue_capacity=-1)
28
28
  raise "ID '#{id}' already exists in topology" if get_element_by_id id
29
29
 
30
30
  new_host = Host.new id
@@ -60,12 +60,28 @@ This is the info that represents a router
60
60
  end
61
61
  end
62
62
 
63
+ =begin
64
+ This is the info that represents a Host
65
+
66
+ {
67
+ "id"=>"9A:4A:43:D4:36:45/None",
68
+ "mac"=>"9A:4A:43:D4:36:45",
69
+ "vlan"=>"None",
70
+ "configured"=>false,
71
+ "ipAddresses"=>["10.0.0.1"],
72
+ "location"=>{
73
+ "elementId"=>"of:0000000000000002",
74
+ "port"=>"1"
75
+ }
76
+ }
77
+
78
+ =end
63
79
  def add_hosts
64
80
  hosts_response = get_from_api 'hosts'
65
81
  hosts_info = (JSON.parse hosts_response.body)['hosts']
66
82
  hosts_info.each_with_index do |host_info, index|
67
83
 
68
- host = @topology.add_host host_info['id'] #host_info['mac']
84
+ host = @topology.add_host host_info['id'], host_info['ipAddresses'], host_info['mac']
69
85
 
70
86
 
71
87
  @topology.add_link "Link#{index}host_to_router",
@@ -1,3 +1,3 @@
1
1
  class Topologygenerator
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: topologygenerator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrés Laurito
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-01 00:00:00.000000000 Z
11
+ date: 2016-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -146,14 +146,6 @@ files:
146
146
  - lib/network_topologies_examples/tdaq_network_topology.rb
147
147
  - lib/network_topologies_examples/tdaq_topology_example.rb
148
148
  - lib/network_topologies_examples/tree_topology.rb
149
- - lib/output/FlowDefinitions.cpp
150
- - lib/output/copy_files.sh
151
- - lib/output/flows_definition.scilabParams
152
- - lib/output/hosts_definition.scilabParams
153
- - lib/output/links_definition.scilabParams
154
- - lib/output/routers_definition.scilabParams
155
- - lib/output/ruby_network_topology.rb
156
- - lib/output/topology.pdm
157
149
  - lib/output_builder.rb
158
150
  - lib/providers/apis/onos_topology_provider.rb
159
151
  - lib/providers/customs/custom_topology_provider.rb
@@ -1,109 +0,0 @@
1
- #include "FlowDefinitions.h"
2
-
3
- std::multimap<std::string, std::shared_ptr<Flow>> FlowDefinitions::Flows;
4
-
5
- void FlowDefinitions::defineFlows(){
6
-
7
-
8
- ///// definition of flow Flow0_1
9
- auto flowFlow0_1PeriodDistribution = readDistributionParameter("flowFlow0_1.periodDistribution");
10
- auto flowFlow0_1PacketSizeDistribution = readDistributionParameter("flowFlow0_1.packetSizeDistribution");
11
- auto flowFlow0_1 = std::make_shared<Flow>("Flow0_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow0_1PeriodDistribution, flowFlow0_1PacketSizeDistribution);
12
- // routes for flow Flow0_1
13
- auto flowFlow0_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
14
- {0, "lar_felix_0.Routing"},
15
- {2, "lar_switch_01.Routing"},
16
- {0, "lar_swrod_0.Routing"}
17
- });
18
- auto flowFlow0_1_route1 = std::make_shared<Route>( std::deque<Route::Node>{
19
- {1, "lar_felix_0.Routing"},
20
- {2, "lar_switch_02.Routing"},
21
- {1, "lar_swrod_0.Routing"}
22
- });
23
- // register flow Flow0_1 with its routes
24
- FlowDefinitions::registerFlowSourceNode(flowFlow0_1, "lar_felix_0.GeneratorApplication");
25
- FlowDefinitions::registerFlowRoute(flowFlow0_1, flowFlow0_1_route0);
26
- FlowDefinitions::registerFlowRoute(flowFlow0_1, flowFlow0_1_route1);
27
-
28
-
29
- ///// definition of flow Flow_Monitoring0_1
30
- auto flowFlow_Monitoring0_1PeriodDistribution = readDistributionParameter("flowFlow_Monitoring0_1.periodDistribution");
31
- auto flowFlow_Monitoring0_1PacketSizeDistribution = readDistributionParameter("flowFlow_Monitoring0_1.packetSizeDistribution");
32
- auto flowFlow_Monitoring0_1 = std::make_shared<Flow>("Flow_Monitoring0_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow_Monitoring0_1PeriodDistribution, flowFlow_Monitoring0_1PacketSizeDistribution);
33
- // routes for flow Flow_Monitoring0_1
34
- auto flowFlow_Monitoring0_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
35
- {0, "lar_felix_0.Routing"},
36
- {2, "lar_switch_01.Routing"},
37
- {0, "lar_swrod_0.Routing"}
38
- });
39
- // register flow Flow_Monitoring0_1 with its routes
40
- FlowDefinitions::registerFlowSourceNode(flowFlow_Monitoring0_1, "lar_felix_0.GeneratorApplication");
41
- FlowDefinitions::registerFlowRoute(flowFlow_Monitoring0_1, flowFlow_Monitoring0_1_route0);
42
-
43
-
44
- ///// definition of flow Flow_Control0_1
45
- auto flowFlow_Control0_1PeriodDistribution = readDistributionParameter("flowFlow_Control0_1.periodDistribution");
46
- auto flowFlow_Control0_1PacketSizeDistribution = readDistributionParameter("flowFlow_Control0_1.packetSizeDistribution");
47
- auto flowFlow_Control0_1 = std::make_shared<Flow>("Flow_Control0_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow_Control0_1PeriodDistribution, flowFlow_Control0_1PacketSizeDistribution);
48
- // routes for flow Flow_Control0_1
49
- auto flowFlow_Control0_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
50
- {1, "lar_felix_0.Routing"},
51
- {2, "lar_switch_02.Routing"},
52
- {1, "lar_swrod_0.Routing"}
53
- });
54
- // register flow Flow_Control0_1 with its routes
55
- FlowDefinitions::registerFlowSourceNode(flowFlow_Control0_1, "lar_felix_0.GeneratorApplication");
56
- FlowDefinitions::registerFlowRoute(flowFlow_Control0_1, flowFlow_Control0_1_route0);
57
-
58
-
59
- ///// definition of flow Flow1_1
60
- auto flowFlow1_1PeriodDistribution = readDistributionParameter("flowFlow1_1.periodDistribution");
61
- auto flowFlow1_1PacketSizeDistribution = readDistributionParameter("flowFlow1_1.packetSizeDistribution");
62
- auto flowFlow1_1 = std::make_shared<Flow>("Flow1_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow1_1PeriodDistribution, flowFlow1_1PacketSizeDistribution);
63
- // routes for flow Flow1_1
64
- auto flowFlow1_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
65
- {0, "lar_felix_1.Routing"},
66
- {3, "lar_switch_01.Routing"},
67
- {0, "lar_swrod_1.Routing"}
68
- });
69
- auto flowFlow1_1_route1 = std::make_shared<Route>( std::deque<Route::Node>{
70
- {1, "lar_felix_1.Routing"},
71
- {3, "lar_switch_02.Routing"},
72
- {1, "lar_swrod_1.Routing"}
73
- });
74
- // register flow Flow1_1 with its routes
75
- FlowDefinitions::registerFlowSourceNode(flowFlow1_1, "lar_felix_1.GeneratorApplication");
76
- FlowDefinitions::registerFlowRoute(flowFlow1_1, flowFlow1_1_route0);
77
- FlowDefinitions::registerFlowRoute(flowFlow1_1, flowFlow1_1_route1);
78
-
79
-
80
- ///// definition of flow Flow_Monitoring1_1
81
- auto flowFlow_Monitoring1_1PeriodDistribution = readDistributionParameter("flowFlow_Monitoring1_1.periodDistribution");
82
- auto flowFlow_Monitoring1_1PacketSizeDistribution = readDistributionParameter("flowFlow_Monitoring1_1.packetSizeDistribution");
83
- auto flowFlow_Monitoring1_1 = std::make_shared<Flow>("Flow_Monitoring1_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow_Monitoring1_1PeriodDistribution, flowFlow_Monitoring1_1PacketSizeDistribution);
84
- // routes for flow Flow_Monitoring1_1
85
- auto flowFlow_Monitoring1_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
86
- {0, "lar_felix_1.Routing"},
87
- {3, "lar_switch_01.Routing"},
88
- {0, "lar_swrod_1.Routing"}
89
- });
90
- // register flow Flow_Monitoring1_1 with its routes
91
- FlowDefinitions::registerFlowSourceNode(flowFlow_Monitoring1_1, "lar_felix_1.GeneratorApplication");
92
- FlowDefinitions::registerFlowRoute(flowFlow_Monitoring1_1, flowFlow_Monitoring1_1_route0);
93
-
94
-
95
- ///// definition of flow Flow_Control1_1
96
- auto flowFlow_Control1_1PeriodDistribution = readDistributionParameter("flowFlow_Control1_1.periodDistribution");
97
- auto flowFlow_Control1_1PacketSizeDistribution = readDistributionParameter("flowFlow_Control1_1.packetSizeDistribution");
98
- auto flowFlow_Control1_1 = std::make_shared<Flow>("Flow_Control1_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow_Control1_1PeriodDistribution, flowFlow_Control1_1PacketSizeDistribution);
99
- // routes for flow Flow_Control1_1
100
- auto flowFlow_Control1_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
101
- {1, "lar_felix_1.Routing"},
102
- {3, "lar_switch_02.Routing"},
103
- {1, "lar_swrod_1.Routing"}
104
- });
105
- // register flow Flow_Control1_1 with its routes
106
- FlowDefinitions::registerFlowSourceNode(flowFlow_Control1_1, "lar_felix_1.GeneratorApplication");
107
- FlowDefinitions::registerFlowRoute(flowFlow_Control1_1, flowFlow_Control1_1_route0);
108
-
109
- }
@@ -1,8 +0,0 @@
1
- #!/bin/bash
2
-
3
- cp topology.pdm /home/alaurito/Desktop/repos/powerdevs/examples/Andy
4
- cp FlowDefinitions.cpp /home/alaurito/Desktop/repos/powerdevs/atomics/PhaseI
5
- cp flows_definition.scilabParams /home/alaurito/Desktop/repos/powerdevs/examples/Matias/PhaseI/Scilab
6
- cp links_definition.scilabParams /home/alaurito/Desktop/repos/powerdevs/examples/Matias/PhaseI/Scilab
7
- cp routers_definition.scilabParams /home/alaurito/Desktop/repos/powerdevs/examples/Matias/PhaseI/Scilab
8
- cp hosts_definition.scilabParams /home/alaurito/Desktop/repos/powerdevs/examples/Matias/PhaseI/Scilab
@@ -1,30 +0,0 @@
1
-
2
- flowFlow0_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
3
- flowFlow0_1.periodDistribution_mu = 0.1; // mean for the exponential distribution.
4
- flowFlow0_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
5
- flowFlow0_1.packetSizeDistribution_value = 1000.0; // value for the constant distribution
6
-
7
- flowFlow_Monitoring0_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
8
- flowFlow_Monitoring0_1.periodDistribution_mu = 0.05; // mean for the exponential distribution.
9
- flowFlow_Monitoring0_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
10
- flowFlow_Monitoring0_1.packetSizeDistribution_value = 500; // value for the constant distribution
11
-
12
- flowFlow_Control0_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
13
- flowFlow_Control0_1.periodDistribution_mu = 0.06666666666666667; // mean for the exponential distribution.
14
- flowFlow_Control0_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
15
- flowFlow_Control0_1.packetSizeDistribution_value = 100; // value for the constant distribution
16
-
17
- flowFlow1_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
18
- flowFlow1_1.periodDistribution_mu = 0.1; // mean for the exponential distribution.
19
- flowFlow1_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
20
- flowFlow1_1.packetSizeDistribution_value = 1000.0; // value for the constant distribution
21
-
22
- flowFlow_Monitoring1_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
23
- flowFlow_Monitoring1_1.periodDistribution_mu = 0.05; // mean for the exponential distribution.
24
- flowFlow_Monitoring1_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
25
- flowFlow_Monitoring1_1.packetSizeDistribution_value = 500; // value for the constant distribution
26
-
27
- flowFlow_Control1_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
28
- flowFlow_Control1_1.periodDistribution_mu = 0.06666666666666667; // mean for the exponential distribution.
29
- flowFlow_Control1_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
30
- flowFlow_Control1_1.packetSizeDistribution_value = 100; // value for the constant distribution
@@ -1,5 +0,0 @@
1
-
2
- lar_felix_0.egressPort.queueCapacity = -1;
3
- lar_felix_1.egressPort.queueCapacity = -1;
4
- lar_swrod_0.egressPort.queueCapacity = -1;
5
- lar_swrod_1.egressPort.queueCapacity = -1;
@@ -1,48 +0,0 @@
1
-
2
- lar_felix_0.egressPort0.link.capacity = 40000000000 ;
3
- lar_felix_0.egressPort0.link.delay = 0;
4
-
5
- lar_felix_0.egressPort1.link.capacity = 40000000000 ;
6
- lar_felix_0.egressPort1.link.delay = 0;
7
-
8
- lar_felix_1.egressPort0.link.capacity = 40000000000 ;
9
- lar_felix_1.egressPort0.link.delay = 0;
10
-
11
- lar_felix_1.egressPort1.link.capacity = 40000000000 ;
12
- lar_felix_1.egressPort1.link.delay = 0;
13
-
14
- lar_switch_01.egressPort2.link.capacity = 40000000000 ;
15
- lar_switch_01.egressPort2.link.delay = 0;
16
-
17
- lar_switch_02.egressPort2.link.capacity = 40000000000 ;
18
- lar_switch_02.egressPort2.link.delay = 0;
19
-
20
- lar_switch_01.egressPort3.link.capacity = 40000000000 ;
21
- lar_switch_01.egressPort3.link.delay = 0;
22
-
23
- lar_switch_02.egressPort3.link.capacity = 40000000000 ;
24
- lar_switch_02.egressPort3.link.delay = 0;
25
-
26
- lar_switch_01.egressPort0.link.capacity = 40000000000 ;
27
- lar_switch_01.egressPort0.link.delay = 0;
28
-
29
- felix_core_01.egressPort0.link.capacity = 40000000000 ;
30
- felix_core_01.egressPort0.link.delay = 0;
31
-
32
- lar_switch_01.egressPort1.link.capacity = 40000000000 ;
33
- lar_switch_01.egressPort1.link.delay = 0;
34
-
35
- felix_core_02.egressPort0.link.capacity = 40000000000 ;
36
- felix_core_02.egressPort0.link.delay = 0;
37
-
38
- lar_switch_02.egressPort0.link.capacity = 40000000000 ;
39
- lar_switch_02.egressPort0.link.delay = 0;
40
-
41
- felix_core_01.egressPort1.link.capacity = 40000000000 ;
42
- felix_core_01.egressPort1.link.delay = 0;
43
-
44
- lar_switch_02.egressPort1.link.capacity = 40000000000 ;
45
- lar_switch_02.egressPort1.link.delay = 0;
46
-
47
- felix_core_02.egressPort1.link.capacity = 40000000000 ;
48
- felix_core_02.egressPort1.link.delay = 0;
@@ -1,24 +0,0 @@
1
-
2
- lar_switch_01.numberOfQueues = 1 ;
3
- lar_switch_01.queueCapacity = -1;
4
- lar_switch_01.egressPort0.PriorityQueue.WRRScheduler.weights = [1];
5
- lar_switch_01.egressPort1.PriorityQueue.WRRScheduler.weights = [1];
6
- lar_switch_01.egressPort2.PriorityQueue.WRRScheduler.weights = [1];
7
- lar_switch_01.egressPort3.PriorityQueue.WRRScheduler.weights = [1];
8
-
9
- lar_switch_02.numberOfQueues = 1 ;
10
- lar_switch_02.queueCapacity = -1;
11
- lar_switch_02.egressPort0.PriorityQueue.WRRScheduler.weights = [1];
12
- lar_switch_02.egressPort1.PriorityQueue.WRRScheduler.weights = [1];
13
- lar_switch_02.egressPort2.PriorityQueue.WRRScheduler.weights = [1];
14
- lar_switch_02.egressPort3.PriorityQueue.WRRScheduler.weights = [1];
15
-
16
- felix_core_01.numberOfQueues = 1 ;
17
- felix_core_01.queueCapacity = -1;
18
- felix_core_01.egressPort0.PriorityQueue.WRRScheduler.weights = [1];
19
- felix_core_01.egressPort1.PriorityQueue.WRRScheduler.weights = [1];
20
-
21
- felix_core_02.numberOfQueues = 1 ;
22
- felix_core_02.queueCapacity = -1;
23
- felix_core_02.egressPort0.PriorityQueue.WRRScheduler.weights = [1];
24
- felix_core_02.egressPort1.PriorityQueue.WRRScheduler.weights = [1];
@@ -1,76 +0,0 @@
1
- module NetworkTopology
2
- def get_topology
3
- return @topology.topology_elements if @topology.topology_elements.size != 0
4
- hosts = []
5
- routers = []
6
- links = []
7
-
8
-
9
- routers.push @topology.add_router "of:2000000000010101", [1]
10
- routers.push @topology.add_router "of:2000000000010201", [1]
11
- routers.push @topology.add_router "of:2000000000010102", [1]
12
- routers.push @topology.add_router "of:2000000000010202", [1]
13
- routers.push @topology.add_router "of:1000000000020001", [1]
14
- routers.push @topology.add_router "of:2000000000030001", [1]
15
- routers.push @topology.add_router "of:2000000000030002", [1]
16
- routers.push @topology.add_router "of:1000000000020002", [1]
17
- routers.push @topology.add_router "of:1000000000030002", [1]
18
- routers.push @topology.add_router "of:1000000000030001", [1]
19
- routers.push @topology.add_router "of:1000000000010201", [1]
20
- routers.push @topology.add_router "of:1000000000010102", [1]
21
- routers.push @topology.add_router "of:1000000000010202", [1]
22
- routers.push @topology.add_router "of:1000000000010101", [1]
23
-
24
- @topology.add_link "Link1", routers[7], 4, routers[12], 2, 500000000
25
- @topology.add_link "Link2", routers[12], 2, routers[7], 4, 500000000
26
- @topology.add_link "Link3", routers[3], 3, routers[12], 4, 500000000
27
- @topology.add_link "Link4", routers[1], 2, routers[10], 3, 500000000
28
- @topology.add_link "Link5", routers[11], 1, routers[13], 1, 500000000
29
- @topology.add_link "Link6", routers[3], 2, routers[10], 4, 500000000
30
- @topology.add_link "Link7", routers[9], 4, routers[6], 2, 500000000
31
- @topology.add_link "Link8", routers[10], 1, routers[12], 1, 500000000
32
- @topology.add_link "Link9", routers[13], 4, routers[2], 2, 500000000
33
- @topology.add_link "Link10", routers[0], 2, routers[13], 3, 500000000
34
- @topology.add_link "Link11", routers[2], 3, routers[11], 4, 500000000
35
- @topology.add_link "Link12", routers[2], 2, routers[13], 4, 500000000
36
- @topology.add_link "Link13", routers[13], 2, routers[4], 3, 500000000
37
- @topology.add_link "Link14", routers[4], 2, routers[8], 1, 500000000
38
- @topology.add_link "Link15", routers[4], 3, routers[13], 2, 500000000
39
- @topology.add_link "Link16", routers[5], 2, routers[9], 3, 500000000
40
- @topology.add_link "Link17", routers[6], 3, routers[8], 4, 500000000
41
- @topology.add_link "Link18", routers[10], 3, routers[1], 2, 500000000
42
- @topology.add_link "Link19", routers[12], 4, routers[3], 3, 500000000
43
- @topology.add_link "Link20", routers[6], 2, routers[9], 4, 500000000
44
- @topology.add_link "Link21", routers[12], 3, routers[1], 3, 500000000
45
- @topology.add_link "Link22", routers[4], 4, routers[10], 2, 500000000
46
- @topology.add_link "Link23", routers[10], 2, routers[4], 4, 500000000
47
- @topology.add_link "Link24", routers[5], 3, routers[8], 3, 500000000
48
- @topology.add_link "Link25", routers[10], 4, routers[3], 2, 500000000
49
- @topology.add_link "Link26", routers[13], 1, routers[11], 1, 500000000
50
- @topology.add_link "Link27", routers[4], 1, routers[9], 1, 500000000
51
- @topology.add_link "Link28", routers[7], 2, routers[8], 2, 500000000
52
- @topology.add_link "Link29", routers[7], 1, routers[9], 2, 500000000
53
- @topology.add_link "Link30", routers[0], 3, routers[11], 3, 500000000
54
- @topology.add_link "Link31", routers[11], 4, routers[2], 3, 500000000
55
- @topology.add_link "Link32", routers[13], 3, routers[0], 2, 500000000
56
- @topology.add_link "Link33", routers[11], 3, routers[0], 3, 500000000
57
- @topology.add_link "Link34", routers[12], 1, routers[10], 1, 500000000
58
- @topology.add_link "Link35", routers[8], 1, routers[4], 2, 500000000
59
- @topology.add_link "Link36", routers[8], 2, routers[7], 2, 500000000
60
- @topology.add_link "Link37", routers[8], 4, routers[6], 3, 500000000
61
- @topology.add_link "Link38", routers[9], 1, routers[4], 1, 500000000
62
- @topology.add_link "Link39", routers[9], 3, routers[5], 2, 500000000
63
- @topology.add_link "Link40", routers[8], 3, routers[5], 3, 500000000
64
- @topology.add_link "Link41", routers[9], 2, routers[7], 1, 500000000
65
- @topology.add_link "Link42", routers[11], 2, routers[7], 3, 500000000
66
- @topology.add_link "Link43", routers[1], 3, routers[12], 3, 500000000
67
- @topology.add_link "Link44", routers[7], 3, routers[11], 2, 500000000
68
-
69
- @topology.topology_elements
70
- end
71
-
72
- def get_path_between(source, destination)
73
- #Think how to implement it!
74
- Path.new(source,destination)
75
- end
76
- end