topologygenerator 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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